├── .coveragerc
├── .devcontainer
├── Dockerfile
└── devcontainer.json
├── .dockerignore
├── .env.template
├── .flake8
├── .github
├── FUNDING.yml
├── ISSUE_TEMPLATE
│ ├── bug_report.md.bak
│ ├── bug_report.yml
│ ├── config.yml
│ ├── doc_issue.yml
│ ├── feature_request.md.bak
│ ├── feature_request.yml
│ ├── help-request.md.bak
│ ├── help_request.yml
│ ├── url_import.md.bak
│ └── website_import.yml
├── dependabot.yml
└── workflows
│ ├── build-docker-open-data.yml
│ ├── build-docker.yml
│ ├── ci.yml
│ ├── codeql-analysis.yml
│ └── docs.yml
├── .gitignore
├── .idea
├── codeStyles
│ └── codeStyleConfig.xml
├── dictionaries
│ ├── vaben.xml
│ └── vabene1111_PC.xml
├── inspectionProfiles
│ └── profiles_settings.xml
├── modules.xml
├── recipes.iml
├── vcs.xml
└── watcherTasks.xml
├── .prettierignore
├── .prettierrc
├── .vscode
├── launch.json
├── settings.json
└── tasks.json
├── CONTRIBUTERS.md
├── Dockerfile
├── LICENSE.md
├── README.md
├── SECURITY.md
├── boot.sh
├── cookbook
├── __init__.py
├── admin.py
├── apps.py
├── connectors
│ ├── __init__.py
│ ├── connector.py
│ ├── connector_manager.py
│ └── homeassistant.py
├── fixtures
│ └── german_example_tags.json
├── forms.py
├── helper
│ ├── AllAuthCustomAdapter.py
│ ├── CustomStorageClass.py
│ ├── HelperFunctions.py
│ ├── __init__.py
│ ├── automation_helper.py
│ ├── cache_helper.py
│ ├── context_processors.py
│ ├── fdc_helper.py
│ ├── image_processing.py
│ ├── ingredient_parser.py
│ ├── mdx_attributes.py
│ ├── mdx_urlize.py
│ ├── open_data_importer.py
│ ├── permission_config.py
│ ├── permission_helper.py
│ ├── property_helper.py
│ ├── recipe_search.py
│ ├── recipe_url_import.py
│ ├── scope_middleware.py
│ ├── shopping_helper.py
│ ├── template_helper.py
│ └── unit_conversion_helper.py
├── integration
│ ├── cheftap.py
│ ├── chowdown.py
│ ├── cookbookapp.py
│ ├── cookmate.py
│ ├── copymethat.py
│ ├── default.py
│ ├── domestica.py
│ ├── gourmet.py
│ ├── integration.py
│ ├── mealie.py
│ ├── mealmaster.py
│ ├── melarecipes.py
│ ├── nextcloud_cookbook.py
│ ├── openeats.py
│ ├── paprika.py
│ ├── pdfexport.py
│ ├── pepperplate.py
│ ├── plantoeat.py
│ ├── recettetek.py
│ ├── recipekeeper.py
│ ├── recipesage.py
│ ├── rezeptsuitede.py
│ ├── rezkonv.py
│ └── saffron.py
├── locale
│ ├── ar
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── bg
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── ca
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── cs
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── da
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── de
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── el
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── en
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── es
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── fi
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── fr
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── he
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── hr
│ │ └── LC_MESSAGES
│ │ │ └── django.po
│ ├── hu_HU
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── hy
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── id
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── it
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── lv
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── nb_NO
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── nl
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── pl
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── pt
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── pt_BR
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── rn
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── ro
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── ru
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── sl
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── sv
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── tr
│ │ ├── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ │ └── id
│ │ │ └── LC_MESSAGES
│ │ │ └── django.po
│ ├── uk
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── vi
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── zh_CN
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ └── zh_Hant
│ │ └── LC_MESSAGES
│ │ ├── django.mo
│ │ └── django.po
├── management
│ └── commands
│ │ ├── export.py
│ │ ├── fix_duplicate_properties.py
│ │ ├── import.py
│ │ ├── rebuildindex.py
│ │ └── seed_basic_data.py
├── managers.py
├── migrations
│ ├── 0001_initial.py
│ ├── 0002_auto_20191119_2035.py
│ ├── 0003_enable_pgtrm.py
│ ├── 0004_storage_created_by.py
│ ├── 0005_recipebook_recipebookentry.py
│ ├── 0006_recipe_image.py
│ ├── 0007_auto_20191226_0852.py
│ ├── 0008_mealplan.py
│ ├── 0009_auto_20200130_1056.py
│ ├── 0010_auto_20200130_1059.py
│ ├── 0011_remove_recipeingredients_unit.py
│ ├── 0012_auto_20200130_1116.py
│ ├── 0013_userpreference.py
│ ├── 0014_auto_20200213_2332.py
│ ├── 0015_auto_20200213_2334.py
│ ├── 0016_auto_20200213_2335.py
│ ├── 0017_auto_20200216_2257.py
│ ├── 0018_auto_20200216_2303.py
│ ├── 0019_ingredient.py
│ ├── 0020_recipeingredient_ingredient.py
│ ├── 0021_auto_20200216_2309.py
│ ├── 0022_remove_recipeingredient_name.py
│ ├── 0023_auto_20200216_2311.py
│ ├── 0024_auto_20200216_2313.py
│ ├── 0025_userpreference_nav_color.py
│ ├── 0026_auto_20200219_1605.py
│ ├── 0027_ingredient_recipe.py
│ ├── 0028_auto_20200317_1901.py
│ ├── 0029_auto_20200317_1901.py
│ ├── 0030_recipeingredient_note.py
│ ├── 0031_auto_20200407_1841.py
│ ├── 0032_userpreference_default_unit.py
│ ├── 0033_userpreference_default_page.py
│ ├── 0034_auto_20200426_1614.py
│ ├── 0035_auto_20200427_1637.py
│ ├── 0036_auto_20200427_1800.py
│ ├── 0037_userpreference_search_style.py
│ ├── 0038_auto_20200502_1259.py
│ ├── 0039_recipebook_shared.py
│ ├── 0040_auto_20200502_1433.py
│ ├── 0041_auto_20200502_1446.py
│ ├── 0042_cooklog.py
│ ├── 0043_auto_20200507_2302.py
│ ├── 0044_viewlog.py
│ ├── 0045_userpreference_show_recent.py
│ ├── 0046_auto_20200602_1133.py
│ ├── 0047_auto_20200602_1133.py
│ ├── 0048_auto_20200602_1140.py
│ ├── 0049_mealtype_created_by.py
│ ├── 0050_auto_20200611_1509.py
│ ├── 0051_auto_20200611_1518.py
│ ├── 0052_userpreference_ingredient_decimals.py
│ ├── 0053_auto_20200611_2217.py
│ ├── 0054_sharelink.py
│ ├── 0055_auto_20200616_1236.py
│ ├── 0056_auto_20200625_2118.py
│ ├── 0056_auto_20200625_2157.py
│ ├── 0057_auto_20200625_2127.py
│ ├── 0058_auto_20200625_2128.py
│ ├── 0059_auto_20200625_2137.py
│ ├── 0060_auto_20200625_2144.py
│ ├── 0061_merge_20200625_2209.py
│ ├── 0062_auto_20200625_2219.py
│ ├── 0063_auto_20200625_2230.py
│ ├── 0064_auto_20200625_2329.py
│ ├── 0065_auto_20200626_1444.py
│ ├── 0066_auto_20200626_1455.py
│ ├── 0067_auto_20200629_1508.py
│ ├── 0068_auto_20200629_2127.py
│ ├── 0069_auto_20200629_2134.py
│ ├── 0070_auto_20200701_2007.py
│ ├── 0071_auto_20200701_2048.py
│ ├── 0072_step_show_as_header.py
│ ├── 0073_auto_20200708_2311.py
│ ├── 0074_remove_keyword_created_by.py
│ ├── 0075_shoppinglist_shoppinglistentry_shoppinglistrecipe.py
│ ├── 0076_shoppinglist_entries.py
│ ├── 0077_invitelink.py
│ ├── 0078_invitelink_used_by.py
│ ├── 0079_invitelink_group.py
│ ├── 0080_auto_20200921_2331.py
│ ├── 0081_auto_20200921_2349.py
│ ├── 0082_auto_20200922_1143.py
│ ├── 0083_space.py
│ ├── 0084_auto_20200922_1233.py
│ ├── 0085_auto_20200922_1235.py
│ ├── 0086_auto_20200929_1143.py
│ ├── 0087_auto_20200929_1152.py
│ ├── 0088_shoppinglist_finished.py
│ ├── 0089_auto_20201117_2222.py
│ ├── 0090_auto_20201214_1359.py
│ ├── 0091_auto_20201226_1551.py
│ ├── 0092_recipe_servings.py
│ ├── 0093_auto_20201231_1236.py
│ ├── 0094_auto_20201231_1238.py
│ ├── 0095_auto_20210107_1804.py
│ ├── 0096_auto_20210109_2044.py
│ ├── 0097_auto_20210113_1315.py
│ ├── 0098_auto_20210113_1320.py
│ ├── 0099_auto_20210113_1518.py
│ ├── 0100_recipe_servings_text.py
│ ├── 0101_storage_path.py
│ ├── 0102_auto_20210125_1147.py
│ ├── 0103_food_ignore_shopping.py
│ ├── 0104_auto_20210125_2133.py
│ ├── 0105_auto_20210126_1604.py
│ ├── 0106_shoppinglist_supermarket.py
│ ├── 0107_auto_20210128_1535.py
│ ├── 0108_auto_20210219_1410.py
│ ├── 0109_auto_20210221_1204.py
│ ├── 0110_auto_20210221_1406.py
│ ├── 0111_space_created_by.py
│ ├── 0112_remove_synclog_space.py
│ ├── 0113_auto_20210317_2017.py
│ ├── 0114_importlog.py
│ ├── 0115_telegrambot.py
│ ├── 0116_auto_20210319_0012.py
│ ├── 0117_space_max_recipes.py
│ ├── 0118_auto_20210406_1805.py
│ ├── 0119_auto_20210411_2101.py
│ ├── 0120_bookmarklet.py
│ ├── 0121_auto_20210518_1638.py
│ ├── 0122_auto_20210527_1712.py
│ ├── 0123_invitelink_email.py
│ ├── 0124_alter_userpreference_theme.py
│ ├── 0125_space_demo.py
│ ├── 0126_alter_userpreference_theme.py
│ ├── 0127_remove_invitelink_username.py
│ ├── 0128_userfile.py
│ ├── 0129_auto_20210608_1233.py
│ ├── 0130_alter_userfile_file_size_kb.py
│ ├── 0131_auto_20210608_1929.py
│ ├── 0132_sharelink_request_count.py
│ ├── 0133_sharelink_abuse_blocked.py
│ ├── 0134_space_allow_sharing.py
│ ├── 0135_auto_20210615_2210.py
│ ├── 0136_auto_20210617_1343.py
│ ├── 0137_auto_20210617_1501.py
│ ├── 0138_auto_20210617_1602.py
│ ├── 0139_space_created_at.py
│ ├── 0140_userpreference_created_at.py
│ ├── 0141_auto_20210713_1042.py
│ ├── 0142_alter_userpreference_search_style.py
│ ├── 0143_build_full_text_index.py
│ ├── 0144_create_searchfields.py
│ ├── 0145_alter_userpreference_search_style.py
│ ├── 0146_alter_userpreference_use_fractions.py
│ ├── 0147_keyword_to_tree.py
│ ├── 0148_auto_20210813_1829.py
│ ├── 0149_fix_leading_trailing_spaces.py
│ ├── 0150_food_to_tree.py
│ ├── 0151_auto_20210915_1037.py
│ ├── 0152_automation.py
│ ├── 0153_auto_20210915_2327.py
│ ├── 0154_auto_20210922_1705.py
│ ├── 0155_mealtype_default.py
│ ├── 0156_searchpreference_trigram_threshold.py
│ ├── 0157_alter_searchpreference_trigram.py
│ ├── 0158_userpreference_use_kj.py
│ ├── 0159_add_shoppinglistentry_fields.py
│ ├── 0160_delete_shoppinglist_orphans.py
│ ├── 0161_alter_shoppinglistentry_food.py
│ ├── 0162_userpreference_csv_delim.py
│ ├── 0163_auto_20220105_0758.py
│ ├── 0164_space_show_facet_count.py
│ ├── 0165_remove_step_type.py
│ ├── 0166_alter_userpreference_shopping_add_onhand.py
│ ├── 0167_userpreference_left_handed.py
│ ├── 0168_add_unit_searchfields.py
│ ├── 0169_exportlog.py
│ ├── 0170_auto_20220207_1848.py
│ ├── 0171_alter_searchpreference_trigram_threshold.py
│ ├── 0172_ingredient_original_text.py
│ ├── 0173_recipe_source_url.py
│ ├── 0174_alter_food_substitute_userspace.py
│ ├── 0175_remove_userpreference_space.py
│ ├── 0176_alter_searchpreference_icontains_and_more.py
│ ├── 0177_recipe_show_ingredient_overview.py
│ ├── 0178_remove_userpreference_search_style_and_more.py
│ ├── 0179_recipe_private_recipe_shared.py
│ ├── 0180_invitelink_reusable.py
│ ├── 0181_space_image.py
│ ├── 0182_userpreference_image.py
│ ├── 0183_alter_space_image.py
│ ├── 0184_alter_userpreference_image.py
│ ├── 0185_food_plural_name_ingredient_always_use_plural_food_and_more.py
│ ├── 0186_automation_order_alter_automation_type.py
│ ├── 0187_alter_space_use_plural.py
│ ├── 0188_space_no_sharing_limit.py
│ ├── 0189_property_propertytype_unitconversion_food_fdc_id_and_more.py
│ ├── 0190_auto_20230525_1506.py
│ ├── 0191_foodproperty_property_import_food_id_and_more.py
│ ├── 0192_food_food_unique_open_data_slug_per_space_and_more.py
│ ├── 0193_space_internal_note.py
│ ├── 0194_alter_food_properties_food_amount.py
│ ├── 0195_invitelink_internal_note_userspace_internal_note_and_more.py
│ ├── 0196_food_url.py
│ ├── 0197_step_show_ingredients_table_and_more.py
│ ├── 0198_propertytype_order.py
│ ├── 0199_alter_propertytype_options_alter_automation_type_and_more.py
│ ├── 0200_alter_propertytype_options_remove_keyword_icon_and_more.py
│ ├── 0201_rename_date_mealplan_from_date_mealplan_to_date.py
│ ├── 0202_remove_space_show_facet_count.py
│ ├── 0203_alter_unique_contstraints.py
│ ├── 0204_propertytype_fdc_id.py
│ ├── 0205_alter_food_fdc_id_alter_propertytype_fdc_id.py
│ ├── 0206_rename_sticky_navbar_userpreference_nav_sticky_and_more.py
│ ├── 0207_space_logo_color_128_space_logo_color_144_and_more.py
│ ├── 0208_space_app_name_userpreference_max_owned_spaces.py
│ ├── 0209_remove_space_use_plural.py
│ ├── 0210_shoppinglistentry_updated_at.py
│ ├── 0211_recipebook_order.py
│ ├── 0212_alter_property_property_amount.py
│ ├── 0213_remove_property_property_unique_import_food_per_space_and_more.py
│ ├── 0214_cooklog_comment_cooklog_updated_at_and_more.py
│ ├── 0215_connectorconfig.py
│ ├── 0216_delete_shoppinglist.py
│ ├── 0217_alter_userpreference_default_page.py
│ ├── 0218_alter_mealplan_from_date_alter_mealplan_to_date.py
│ ├── 0219_connectorconfig_supports_description_field.py
│ ├── 0220_shoppinglistrecipe_created_by_and_more.py
│ ├── 0221_migrate_shoppinglistrecipe_space_created_by.py
│ ├── 0222_alter_shoppinglistrecipe_created_by_and_more.py
│ └── __init__.py
├── models.py
├── provider
│ ├── __init__.py
│ ├── dropbox.py
│ ├── local.py
│ ├── nextcloud.py
│ └── provider.py
├── schemas.py
├── serializer.py
├── signals.py
├── static
│ ├── assets
│ │ ├── brand_logo.png
│ │ ├── brand_logo.svg
│ │ ├── brand_logo_white.svg
│ │ ├── header.svg
│ │ ├── logo_black.svg
│ │ ├── logo_color_128.png
│ │ ├── logo_color_144.png
│ │ ├── logo_color_180.png
│ │ ├── logo_color_192.png
│ │ ├── logo_color_32.png
│ │ ├── logo_color_512.png
│ │ ├── logo_color_svg.svg
│ │ ├── recipe_no_image.svg
│ │ └── spinner.svg
│ ├── css
│ │ ├── app.min.css
│ │ ├── bootstrap-vue.min.css
│ │ ├── pretty-checkbox.min.css
│ │ ├── select2-bootstrap.css
│ │ └── select2.min.css
│ ├── custom
│ │ ├── css
│ │ │ └── markdown_blockquote.css
│ │ └── js
│ │ │ ├── form_multiselect.js
│ │ │ └── form_select.js
│ ├── django_js_reverse
│ │ └── reverse.js
│ ├── fontawesome
│ │ └── fontawesome_all.min.css
│ ├── js
│ │ ├── bookmarklet_v3.js
│ │ ├── bootstrap.min.js
│ │ ├── bootstrap.min.js.map
│ │ ├── jquery-3.5.1.min.js
│ │ ├── js.cookie.min.js
│ │ ├── js.cookie.min.js.map
│ │ ├── popper.min.js
│ │ ├── popper.min.js.map
│ │ ├── redoc.standalone.js
│ │ ├── redoc.standalone.js.map
│ │ └── select2.min.js
│ ├── pdfjs
│ │ ├── images
│ │ │ ├── annotation-check.svg
│ │ │ ├── annotation-comment.svg
│ │ │ ├── annotation-help.svg
│ │ │ ├── annotation-insert.svg
│ │ │ ├── annotation-key.svg
│ │ │ ├── annotation-newparagraph.svg
│ │ │ ├── annotation-noicon.svg
│ │ │ ├── annotation-note.svg
│ │ │ ├── annotation-paragraph.svg
│ │ │ ├── findbarButton-next.png
│ │ │ ├── findbarButton-next@2x.png
│ │ │ ├── findbarButton-previous.png
│ │ │ ├── findbarButton-previous@2x.png
│ │ │ ├── grab.cur
│ │ │ ├── grabbing.cur
│ │ │ ├── loading-icon.gif
│ │ │ ├── loading-small.png
│ │ │ ├── loading-small@2x.png
│ │ │ ├── secondaryToolbarButton-documentProperties.png
│ │ │ ├── secondaryToolbarButton-documentProperties@2x.png
│ │ │ ├── secondaryToolbarButton-firstPage.png
│ │ │ ├── secondaryToolbarButton-firstPage@2x.png
│ │ │ ├── secondaryToolbarButton-handTool.png
│ │ │ ├── secondaryToolbarButton-handTool@2x.png
│ │ │ ├── secondaryToolbarButton-lastPage.png
│ │ │ ├── secondaryToolbarButton-lastPage@2x.png
│ │ │ ├── secondaryToolbarButton-rotateCcw.png
│ │ │ ├── secondaryToolbarButton-rotateCcw@2x.png
│ │ │ ├── secondaryToolbarButton-rotateCw.png
│ │ │ ├── secondaryToolbarButton-rotateCw@2x.png
│ │ │ ├── secondaryToolbarButton-scrollHorizontal.png
│ │ │ ├── secondaryToolbarButton-scrollHorizontal@2x.png
│ │ │ ├── secondaryToolbarButton-scrollVertical.png
│ │ │ ├── secondaryToolbarButton-scrollVertical@2x.png
│ │ │ ├── secondaryToolbarButton-scrollWrapped.png
│ │ │ ├── secondaryToolbarButton-scrollWrapped@2x.png
│ │ │ ├── secondaryToolbarButton-selectTool.png
│ │ │ ├── secondaryToolbarButton-selectTool@2x.png
│ │ │ ├── secondaryToolbarButton-spreadEven.png
│ │ │ ├── secondaryToolbarButton-spreadEven@2x.png
│ │ │ ├── secondaryToolbarButton-spreadNone.png
│ │ │ ├── secondaryToolbarButton-spreadNone@2x.png
│ │ │ ├── secondaryToolbarButton-spreadOdd.png
│ │ │ ├── secondaryToolbarButton-spreadOdd@2x.png
│ │ │ ├── shadow.png
│ │ │ ├── texture.png
│ │ │ ├── toolbarButton-bookmark.png
│ │ │ ├── toolbarButton-bookmark@2x.png
│ │ │ ├── toolbarButton-download.png
│ │ │ ├── toolbarButton-download@2x.png
│ │ │ ├── toolbarButton-menuArrows.png
│ │ │ ├── toolbarButton-menuArrows@2x.png
│ │ │ ├── toolbarButton-openFile.png
│ │ │ ├── toolbarButton-openFile@2x.png
│ │ │ ├── toolbarButton-pageDown.png
│ │ │ ├── toolbarButton-pageDown@2x.png
│ │ │ ├── toolbarButton-pageUp.png
│ │ │ ├── toolbarButton-pageUp@2x.png
│ │ │ ├── toolbarButton-presentationMode.png
│ │ │ ├── toolbarButton-presentationMode@2x.png
│ │ │ ├── toolbarButton-print.png
│ │ │ ├── toolbarButton-print@2x.png
│ │ │ ├── toolbarButton-search.png
│ │ │ ├── toolbarButton-search@2x.png
│ │ │ ├── toolbarButton-secondaryToolbarToggle.png
│ │ │ ├── toolbarButton-secondaryToolbarToggle@2x.png
│ │ │ ├── toolbarButton-sidebarToggle.png
│ │ │ ├── toolbarButton-sidebarToggle@2x.png
│ │ │ ├── toolbarButton-viewAttachments.png
│ │ │ ├── toolbarButton-viewAttachments@2x.png
│ │ │ ├── toolbarButton-viewOutline.png
│ │ │ ├── toolbarButton-viewOutline@2x.png
│ │ │ ├── toolbarButton-viewThumbnail.png
│ │ │ ├── toolbarButton-viewThumbnail@2x.png
│ │ │ ├── toolbarButton-zoomIn.png
│ │ │ ├── toolbarButton-zoomIn@2x.png
│ │ │ ├── toolbarButton-zoomOut.png
│ │ │ ├── toolbarButton-zoomOut@2x.png
│ │ │ ├── treeitem-collapsed.png
│ │ │ ├── treeitem-collapsed@2x.png
│ │ │ ├── treeitem-expanded.png
│ │ │ └── treeitem-expanded@2x.png
│ │ ├── locale
│ │ │ ├── ach
│ │ │ │ └── viewer.properties
│ │ │ ├── af
│ │ │ │ └── viewer.properties
│ │ │ ├── an
│ │ │ │ └── viewer.properties
│ │ │ ├── ar
│ │ │ │ └── viewer.properties
│ │ │ ├── ast
│ │ │ │ └── viewer.properties
│ │ │ ├── az
│ │ │ │ └── viewer.properties
│ │ │ ├── be
│ │ │ │ └── viewer.properties
│ │ │ ├── bg
│ │ │ │ └── viewer.properties
│ │ │ ├── bn
│ │ │ │ └── viewer.properties
│ │ │ ├── bo
│ │ │ │ └── viewer.properties
│ │ │ ├── br
│ │ │ │ └── viewer.properties
│ │ │ ├── brx
│ │ │ │ └── viewer.properties
│ │ │ ├── bs
│ │ │ │ └── viewer.properties
│ │ │ ├── ca
│ │ │ │ └── viewer.properties
│ │ │ ├── cak
│ │ │ │ └── viewer.properties
│ │ │ ├── cs
│ │ │ │ └── viewer.properties
│ │ │ ├── cy
│ │ │ │ └── viewer.properties
│ │ │ ├── da
│ │ │ │ └── viewer.properties
│ │ │ ├── de
│ │ │ │ └── viewer.properties
│ │ │ ├── dsb
│ │ │ │ └── viewer.properties
│ │ │ ├── el
│ │ │ │ └── viewer.properties
│ │ │ ├── en-CA
│ │ │ │ └── viewer.properties
│ │ │ ├── en-GB
│ │ │ │ └── viewer.properties
│ │ │ ├── en-US
│ │ │ │ └── viewer.properties
│ │ │ ├── eo
│ │ │ │ └── viewer.properties
│ │ │ ├── es-AR
│ │ │ │ └── viewer.properties
│ │ │ ├── es-CL
│ │ │ │ └── viewer.properties
│ │ │ ├── es-ES
│ │ │ │ └── viewer.properties
│ │ │ ├── es-MX
│ │ │ │ └── viewer.properties
│ │ │ ├── et
│ │ │ │ └── viewer.properties
│ │ │ ├── eu
│ │ │ │ └── viewer.properties
│ │ │ ├── fa
│ │ │ │ └── viewer.properties
│ │ │ ├── ff
│ │ │ │ └── viewer.properties
│ │ │ ├── fi
│ │ │ │ └── viewer.properties
│ │ │ ├── fr
│ │ │ │ └── viewer.properties
│ │ │ ├── fy-NL
│ │ │ │ └── viewer.properties
│ │ │ ├── ga-IE
│ │ │ │ └── viewer.properties
│ │ │ ├── gd
│ │ │ │ └── viewer.properties
│ │ │ ├── gl
│ │ │ │ └── viewer.properties
│ │ │ ├── gn
│ │ │ │ └── viewer.properties
│ │ │ ├── gu-IN
│ │ │ │ └── viewer.properties
│ │ │ ├── he
│ │ │ │ └── viewer.properties
│ │ │ ├── hi-IN
│ │ │ │ └── viewer.properties
│ │ │ ├── hr
│ │ │ │ └── viewer.properties
│ │ │ ├── hsb
│ │ │ │ └── viewer.properties
│ │ │ ├── hu
│ │ │ │ └── viewer.properties
│ │ │ ├── hy-AM
│ │ │ │ └── viewer.properties
│ │ │ ├── hye
│ │ │ │ └── viewer.properties
│ │ │ ├── ia
│ │ │ │ └── viewer.properties
│ │ │ ├── id
│ │ │ │ └── viewer.properties
│ │ │ ├── is
│ │ │ │ └── viewer.properties
│ │ │ ├── it
│ │ │ │ └── viewer.properties
│ │ │ ├── ja
│ │ │ │ └── viewer.properties
│ │ │ ├── ka
│ │ │ │ └── viewer.properties
│ │ │ ├── kab
│ │ │ │ └── viewer.properties
│ │ │ ├── kk
│ │ │ │ └── viewer.properties
│ │ │ ├── km
│ │ │ │ └── viewer.properties
│ │ │ ├── kn
│ │ │ │ └── viewer.properties
│ │ │ ├── ko
│ │ │ │ └── viewer.properties
│ │ │ ├── lij
│ │ │ │ └── viewer.properties
│ │ │ ├── lo
│ │ │ │ └── viewer.properties
│ │ │ ├── locale.properties
│ │ │ ├── lt
│ │ │ │ └── viewer.properties
│ │ │ ├── ltg
│ │ │ │ └── viewer.properties
│ │ │ ├── lv
│ │ │ │ └── viewer.properties
│ │ │ ├── meh
│ │ │ │ └── viewer.properties
│ │ │ ├── mk
│ │ │ │ └── viewer.properties
│ │ │ ├── mr
│ │ │ │ └── viewer.properties
│ │ │ ├── ms
│ │ │ │ └── viewer.properties
│ │ │ ├── my
│ │ │ │ └── viewer.properties
│ │ │ ├── nb-NO
│ │ │ │ └── viewer.properties
│ │ │ ├── ne-NP
│ │ │ │ └── viewer.properties
│ │ │ ├── nl
│ │ │ │ └── viewer.properties
│ │ │ ├── nn-NO
│ │ │ │ └── viewer.properties
│ │ │ ├── oc
│ │ │ │ └── viewer.properties
│ │ │ ├── pa-IN
│ │ │ │ └── viewer.properties
│ │ │ ├── pl
│ │ │ │ └── viewer.properties
│ │ │ ├── pt-BR
│ │ │ │ └── viewer.properties
│ │ │ ├── pt-PT
│ │ │ │ └── viewer.properties
│ │ │ ├── rm
│ │ │ │ └── viewer.properties
│ │ │ ├── ro
│ │ │ │ └── viewer.properties
│ │ │ ├── ru
│ │ │ │ └── viewer.properties
│ │ │ ├── scn
│ │ │ │ └── viewer.properties
│ │ │ ├── si
│ │ │ │ └── viewer.properties
│ │ │ ├── sk
│ │ │ │ └── viewer.properties
│ │ │ ├── sl
│ │ │ │ └── viewer.properties
│ │ │ ├── son
│ │ │ │ └── viewer.properties
│ │ │ ├── sq
│ │ │ │ └── viewer.properties
│ │ │ ├── sr
│ │ │ │ └── viewer.properties
│ │ │ ├── sv-SE
│ │ │ │ └── viewer.properties
│ │ │ ├── ta
│ │ │ │ └── viewer.properties
│ │ │ ├── te
│ │ │ │ └── viewer.properties
│ │ │ ├── th
│ │ │ │ └── viewer.properties
│ │ │ ├── tl
│ │ │ │ └── viewer.properties
│ │ │ ├── tr
│ │ │ │ └── viewer.properties
│ │ │ ├── trs
│ │ │ │ └── viewer.properties
│ │ │ ├── uk
│ │ │ │ └── viewer.properties
│ │ │ ├── ur
│ │ │ │ └── viewer.properties
│ │ │ ├── uz
│ │ │ │ └── viewer.properties
│ │ │ ├── vi
│ │ │ │ └── viewer.properties
│ │ │ ├── wo
│ │ │ │ └── viewer.properties
│ │ │ ├── xh
│ │ │ │ └── viewer.properties
│ │ │ ├── zh-CN
│ │ │ │ └── viewer.properties
│ │ │ └── zh-TW
│ │ │ │ └── viewer.properties
│ │ ├── pdf.js
│ │ ├── pdf.js.map
│ │ ├── pdf.worker.js
│ │ ├── pdf.worker.js.map
│ │ ├── viewer.css
│ │ ├── viewer.html
│ │ ├── viewer.js
│ │ └── viewer.js.map
│ ├── themes
│ │ ├── bootstrap.min.css
│ │ ├── darkly.min.css
│ │ ├── flatly.min.css
│ │ ├── select2-bootstrap-theme.css
│ │ ├── superhero.min.css
│ │ ├── tandoor.min.css
│ │ └── tandoor_dark.min.css
│ └── webfonts
│ │ ├── fa-brands-400.eot
│ │ ├── fa-brands-400.svg
│ │ ├── fa-brands-400.ttf
│ │ ├── fa-brands-400.woff
│ │ ├── fa-brands-400.woff2
│ │ ├── fa-regular-400.eot
│ │ ├── fa-regular-400.svg
│ │ ├── fa-regular-400.ttf
│ │ ├── fa-regular-400.woff
│ │ ├── fa-regular-400.woff2
│ │ ├── fa-solid-900.eot
│ │ ├── fa-solid-900.svg
│ │ ├── fa-solid-900.ttf
│ │ ├── fa-solid-900.woff
│ │ ├── fa-solid-900.woff2
│ │ ├── poppins_devanagari_400.woff2
│ │ ├── poppins_devanagari_500.woff2
│ │ ├── poppins_devanagari_700.woff2
│ │ ├── poppins_latin_400.woff2
│ │ ├── poppins_latin_500.woff2
│ │ ├── poppins_latin_700.woff2
│ │ ├── poppins_latin_ext_400.woff2
│ │ ├── poppins_latin_ext_500.woff2
│ │ └── poppins_latin_ext_700.woff2
├── tables.py
├── templates
│ ├── 404.html
│ ├── account
│ │ ├── email.html
│ │ ├── email_confirm.html
│ │ ├── login.html
│ │ ├── logout.html
│ │ ├── password_change.html
│ │ ├── password_reset.html
│ │ ├── password_reset_done.html
│ │ ├── password_reset_from_key.html
│ │ ├── password_reset_from_key_done.html
│ │ ├── password_set.html
│ │ ├── signup.html
│ │ └── signup_closed.html
│ ├── api_info.html
│ ├── base.html
│ ├── batch
│ │ ├── edit.html
│ │ ├── monitor.html
│ │ └── waiting.html
│ ├── books.html
│ ├── export.html
│ ├── export_response.html
│ ├── forms
│ │ ├── edit_import_recipe.html
│ │ └── edit_internal_recipe.html
│ ├── generic
│ │ ├── delete_template.html
│ │ ├── edit_template.html
│ │ ├── list_template.html
│ │ ├── model_template.html
│ │ ├── new_template.html
│ │ └── table_template.html
│ ├── history.html
│ ├── import_response.html
│ ├── include
│ │ └── storage_backend_warning.html
│ ├── index.html
│ ├── ingredient_editor.html
│ ├── manifest.json
│ ├── markdown_info.html
│ ├── meal_plan.html
│ ├── no_groups_info.html
│ ├── no_perm_info.html
│ ├── offline.html
│ ├── openid
│ │ └── login.html
│ ├── property_editor.html
│ ├── recipe_view.html
│ ├── rest_framework
│ │ └── api.html
│ ├── search.html
│ ├── search_info.html
│ ├── settings.html
│ ├── setup.html
│ ├── shoppinglist_template.html
│ ├── socialaccount
│ │ ├── authentication_error.html
│ │ ├── connections.html
│ │ ├── login.html
│ │ ├── signup.html
│ │ └── snippets
│ │ │ └── provider_list.html
│ ├── space_manage.html
│ ├── space_overview.html
│ ├── system.html
│ ├── test.html
│ ├── test2.html
│ ├── url_import.html
│ └── user_settings.html
├── templatetags
│ ├── __init__.py
│ ├── custom_tags.py
│ └── theming_tags.py
├── tests
│ ├── __init__.py
│ ├── api
│ │ ├── __init__.py
│ │ ├── docs
│ │ │ └── reports
│ │ │ │ └── tests
│ │ │ │ ├── assets
│ │ │ │ └── style.css
│ │ │ │ ├── pytest.xml
│ │ │ │ └── tests.html
│ │ ├── test_api_access_token.py
│ │ ├── test_api_connector_config.py
│ │ ├── test_api_cook_log.py
│ │ ├── test_api_food.py
│ │ ├── test_api_food_shopping.py
│ │ ├── test_api_import_log.py
│ │ ├── test_api_ingredient.py
│ │ ├── test_api_invitelinke.py
│ │ ├── test_api_keyword.py
│ │ ├── test_api_meal_plan.py
│ │ ├── test_api_meal_type.py
│ │ ├── test_api_plan_ical.py
│ │ ├── test_api_property.py
│ │ ├── test_api_property_type.py
│ │ ├── test_api_recipe.py
│ │ ├── test_api_recipe_book.py
│ │ ├── test_api_recipe_book_entry.py
│ │ ├── test_api_related_recipe.py
│ │ ├── test_api_share_link.py
│ │ ├── test_api_shopping_list_entryv2.py
│ │ ├── test_api_shopping_list_recipe.py
│ │ ├── test_api_shopping_recipe.py
│ │ ├── test_api_space.py
│ │ ├── test_api_step.py
│ │ ├── test_api_storage.py
│ │ ├── test_api_supermarket.py
│ │ ├── test_api_sync.py
│ │ ├── test_api_sync_log.py
│ │ ├── test_api_unit.py
│ │ ├── test_api_unit_conversion.py
│ │ ├── test_api_user.py
│ │ ├── test_api_userpreference.py
│ │ ├── test_api_userspace.py
│ │ └── test_api_view_log.py
│ ├── conftest.py
│ ├── edits
│ │ ├── __init__.py
│ │ ├── test_edits_connector_config.py
│ │ ├── test_edits_recipe.py
│ │ └── test_edits_storage.py
│ ├── factories
│ │ └── __init__.py
│ ├── other
│ │ ├── __init__.py
│ │ ├── _recipes.py
│ │ ├── docs
│ │ │ └── reports
│ │ │ │ └── tests
│ │ │ │ ├── assets
│ │ │ │ └── style.css
│ │ │ │ ├── pytest.xml
│ │ │ │ └── tests.html
│ │ ├── test_automations.py
│ │ ├── test_connector_manager.py
│ │ ├── test_data
│ │ │ ├── allrecipes.html
│ │ │ ├── americastestkitchen.html
│ │ │ ├── chefkoch.html
│ │ │ ├── chefkoch2.html
│ │ │ ├── cookpad.html
│ │ │ ├── cookscountry.html
│ │ │ ├── delish.html
│ │ │ ├── foodnetwork.html
│ │ │ ├── giallozafferano.html
│ │ │ ├── journaldesfemmes.html
│ │ │ ├── madamedessert.html
│ │ │ ├── madamedessert.json
│ │ │ ├── marmiton.html
│ │ │ ├── regex_recipe.html
│ │ │ ├── tasteofhome.html
│ │ │ ├── thespruceeats.html
│ │ │ └── tudogostoso.html
│ │ ├── test_export.py
│ │ ├── test_food_property.py
│ │ ├── test_helpers.py
│ │ ├── test_ingredient_parser.py
│ │ ├── test_makenow_filter.py
│ │ ├── test_permission_helper.py
│ │ ├── test_recipe_full_text_search.py
│ │ ├── test_theming.py
│ │ ├── test_unit_conversion.py
│ │ └── test_url_import.py
│ ├── resources
│ │ ├── image.jpg
│ │ ├── image.png
│ │ └── websites
│ │ │ ├── ld_json_1.html
│ │ │ ├── ld_json_2.html
│ │ │ ├── ld_json_3.html
│ │ │ ├── ld_json_4.html
│ │ │ ├── ld_json_itemList.html
│ │ │ ├── ld_json_multiple.html
│ │ │ ├── micro_data_1.html
│ │ │ ├── micro_data_2.html
│ │ │ ├── micro_data_3.html
│ │ │ └── micro_data_4.html
│ └── views
│ │ ├── __init__.py
│ │ ├── test_views_api.py
│ │ ├── test_views_general.py
│ │ └── test_views_recipe_share.py
├── urls.py
├── version_info.py
└── views
│ ├── __init__.py
│ ├── api.py
│ ├── data.py
│ ├── delete.py
│ ├── edit.py
│ ├── import_export.py
│ ├── lists.py
│ ├── new.py
│ ├── telegram.py
│ └── views.py
├── docs
├── CNAME
├── contribute
│ ├── assets
│ │ ├── flake8_watcher.png
│ │ ├── isort_watcher.png
│ │ ├── linting_error.png
│ │ ├── prettier_watcher.png
│ │ └── yapf_watcher.png
│ ├── contribute.md
│ ├── documentation.md
│ ├── guidelines.md
│ ├── installation.md
│ ├── pycharm.md
│ ├── related.md
│ ├── translations.md
│ └── vscode.md
├── faq.md
├── features
│ ├── authentication.md
│ ├── automation.md
│ ├── connectors.md
│ ├── external_recipes.md
│ ├── import_export.md
│ ├── shopping.md
│ ├── telegram_bot.md
│ └── templating.md
├── index.md
├── install
│ ├── archlinux.md
│ ├── docker.md
│ ├── docker
│ │ ├── ipv6_plain
│ │ │ └── docker-compose.yml
│ │ ├── nginx-proxy
│ │ │ └── docker-compose.yml
│ │ ├── plain
│ │ │ └── docker-compose.yml
│ │ └── traefik-nginx
│ │ │ └── docker-compose.yml
│ ├── homeassistant.md
│ ├── k8s
│ │ ├── 10-configmap.yaml
│ │ ├── 15-secrets.yaml
│ │ ├── 20-service-account.yaml
│ │ ├── 30-pvc.yaml
│ │ ├── 40-sts-postgresql.yaml
│ │ ├── 45-service-db.yaml
│ │ ├── 50-deployment.yaml
│ │ ├── 60-service.yaml
│ │ └── 70-ingress.yaml
│ ├── kubernetes.md
│ ├── kubesail.md
│ ├── manual.md
│ ├── other.md
│ ├── swag.md
│ ├── synology.md
│ ├── traefik.md
│ ├── truenas_portainer.md
│ ├── unraid.md
│ └── wsl.md
├── logo_color.svg
├── preview.png
├── preview.xcf
├── stylesheets
│ └── extra.css
├── system
│ ├── backup.md
│ ├── configuration.md
│ ├── migration_sqlite-postgres.md
│ ├── permissions.md
│ └── updating.md
└── tests
│ ├── assets
│ └── style.css
│ ├── pytest.xml
│ └── tests.html
├── make_compile_messages.py
├── manage.py
├── mkdocs.yml
├── nginx
└── conf.d
│ ├── Recipes.conf
│ └── errorpages
│ └── http502.html
├── node_modules
└── .yarn-integrity
├── openapitools.json
├── pyproject.toml
├── pytest.ini
├── recipes
├── __init__.py
├── locale
│ ├── ar
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── bg
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── ca
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── cs
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── da
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── de
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── el
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── en
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── es
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── fi
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── fr
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── he
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── hu_HU
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── hy
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── id
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── it
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── lv
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── nb_NO
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── nl
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── pl
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── pt
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── pt_BR
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── rn
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── ro
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── ru
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── sl
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── sv
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── tr
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── uk
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── vi
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ ├── zh_CN
│ │ └── LC_MESSAGES
│ │ │ ├── django.mo
│ │ │ └── django.po
│ └── zh_Hant
│ │ └── LC_MESSAGES
│ │ ├── django.mo
│ │ └── django.po
├── middleware.py
├── settings.py
├── test_settings.py
├── urls.py
└── wsgi.py
├── requirements.txt
├── version.py
├── vue
├── .openapi-generator
│ ├── FILES
│ └── VERSION
├── .yarnrc.yml
├── babel.config.js
├── babel.config.js.c
├── package.json
├── src
│ ├── apps
│ │ ├── CookbookView
│ │ │ ├── CookbookView.vue
│ │ │ └── main.js
│ │ ├── ExportResponseView
│ │ │ ├── ExportResponseView.vue
│ │ │ └── main.js
│ │ ├── ExportView
│ │ │ ├── ExportView.vue
│ │ │ └── main.js
│ │ ├── ImportResponseView
│ │ │ ├── ImportResponseView.vue
│ │ │ └── main.js
│ │ ├── ImportView
│ │ │ ├── ImportView.vue
│ │ │ ├── ImportViewStepEditor.vue
│ │ │ └── main.js
│ │ ├── IngredientEditorView
│ │ │ ├── IngredientEditorView.vue
│ │ │ └── main.js
│ │ ├── MealPlanView
│ │ │ ├── MealPlanView.vue
│ │ │ └── main.js
│ │ ├── ModelListView
│ │ │ ├── ModelListView.vue
│ │ │ └── main.js
│ │ ├── OfflineView
│ │ │ ├── OfflineView.vue
│ │ │ └── main.js
│ │ ├── ProfileView
│ │ │ ├── ProfileView.vue
│ │ │ └── main.js
│ │ ├── PropertyEditorView
│ │ │ ├── PropertyEditorView.vue
│ │ │ └── main.js
│ │ ├── RecipeEditView
│ │ │ ├── RecipeEditView.vue
│ │ │ └── main.js
│ │ ├── RecipeSearchView
│ │ │ ├── RecipeSearchView.vue
│ │ │ └── main.js
│ │ ├── RecipeView
│ │ │ ├── RecipeView.vue
│ │ │ └── main.js
│ │ ├── SettingsView
│ │ │ ├── SettingsView.vue
│ │ │ └── main.js
│ │ ├── ShoppingListView
│ │ │ ├── ShoppingListView.vue
│ │ │ └── main.js
│ │ ├── SpaceManageView
│ │ │ ├── SpaceManageView.vue
│ │ │ └── main.js
│ │ ├── TestView
│ │ │ ├── TestView.vue
│ │ │ ├── TestViewBackup.vue
│ │ │ └── main.js
│ │ └── base_app.js
│ ├── components
│ │ ├── AddRecipeToBook.vue
│ │ ├── AutoMealPlanModal.vue
│ │ ├── Badges.vue
│ │ ├── Badges
│ │ │ ├── Help.vue
│ │ │ ├── Icon.vue
│ │ │ ├── LinkedRecipe.vue
│ │ │ ├── OnHand.vue
│ │ │ └── Shopping.vue
│ │ ├── BetaWarning.vue
│ │ ├── BottomNavigationBar.vue
│ │ ├── Buttons
│ │ │ ├── CopyToClipboard.vue
│ │ │ ├── DownloadCSV.vue
│ │ │ ├── DownloadPDF.vue
│ │ │ └── RecipeSwitcher.vue
│ │ ├── CompileComponent.vue
│ │ ├── ContextMenu
│ │ │ ├── ContextMenu.vue
│ │ │ ├── ContextMenuItem.vue
│ │ │ ├── GenericContextMenu.vue
│ │ │ └── ModelMenu.vue
│ │ ├── CookLog.vue
│ │ ├── CookbookEditCard.vue
│ │ ├── CookbookSlider.vue
│ │ ├── CookbookToc.vue
│ │ ├── CustomInputSpinButton.vue
│ │ ├── FileEditor.vue
│ │ ├── FileViewer.vue
│ │ ├── FoodEditor.vue
│ │ ├── GenericHorizontalCard.vue
│ │ ├── GenericInfiniteCards.vue
│ │ ├── GenericMultiselect.vue
│ │ ├── GenericOrderedPill.vue
│ │ ├── GenericPill.vue
│ │ ├── ImageViewer.vue
│ │ ├── IngredientComponent.vue
│ │ ├── IngredientsCard.vue
│ │ ├── KeywordsComponent.vue
│ │ ├── LastCooked.vue
│ │ ├── LoadingSpinner.vue
│ │ ├── MarkdownEditorComponent.vue
│ │ ├── MealPlanCalenderHeader.vue
│ │ ├── MealPlanCard.vue
│ │ ├── MealPlanEditModal.vue
│ │ ├── Modals
│ │ │ ├── AddRecipeToBook.vue
│ │ │ ├── CheckboxInput.vue
│ │ │ ├── ChoiceInput.vue
│ │ │ ├── ColorInput.vue
│ │ │ ├── DateInput.vue
│ │ │ ├── FileInput.vue
│ │ │ ├── GenericModalForm.vue
│ │ │ ├── ImportTandoor.vue
│ │ │ ├── LookupInput.vue
│ │ │ ├── NumberInput.vue
│ │ │ ├── ShoppingModal.vue
│ │ │ ├── SmallText.vue
│ │ │ ├── TextAreaInput.vue
│ │ │ └── TextInput.vue
│ │ ├── NumberScalerComponent.vue
│ │ ├── NutritionComponent.vue
│ │ ├── OpenDataImportComponent.vue
│ │ ├── PdfViewer.vue
│ │ ├── PinnedRecipeBar.vue
│ │ ├── PropertyViewComponent.vue
│ │ ├── RecipeCard.vue
│ │ ├── RecipeContextMenu.vue
│ │ ├── RecipeRating.vue
│ │ ├── RecipeViewComponent.vue
│ │ ├── ScalableNumber.vue
│ │ ├── Settings
│ │ │ ├── APISettingsComponent.vue
│ │ │ ├── AccountSettingsComponent.vue
│ │ │ ├── CosmeticSettingsComponent.vue
│ │ │ ├── MealPlanSettingsComponent.vue
│ │ │ ├── SearchSettingsComponent.vue
│ │ │ └── ShoppingSettingsComponent.vue
│ │ ├── ShoppingLineItem.vue
│ │ ├── StepComponent.vue
│ │ └── StorageQuota.vue
│ ├── i18n.js
│ ├── locales
│ │ ├── ar.json
│ │ ├── bg.json
│ │ ├── ca.json
│ │ ├── cs.json
│ │ ├── da.json
│ │ ├── de.json
│ │ ├── el.json
│ │ ├── en.json
│ │ ├── es.json
│ │ ├── fi.json
│ │ ├── fr.json
│ │ ├── he.json
│ │ ├── hr.json
│ │ ├── hu.json
│ │ ├── hy.json
│ │ ├── id.json
│ │ ├── is.json
│ │ ├── it.json
│ │ ├── lt.json
│ │ ├── lv.json
│ │ ├── nb_NO.json
│ │ ├── nl.json
│ │ ├── pl.json
│ │ ├── pt.json
│ │ ├── pt_BR.json
│ │ ├── ro.json
│ │ ├── ru.json
│ │ ├── sl.json
│ │ ├── sv.json
│ │ ├── tr.json
│ │ ├── uk.json
│ │ ├── zh_Hans.json
│ │ └── zh_Hant.json
│ ├── shims-tsx.d.ts
│ ├── shims-vue.d.ts
│ ├── stores
│ │ ├── BaseStorePlugin.js
│ │ ├── GenericApiStore.js
│ │ ├── MealPlanStore.js
│ │ ├── ShoppingListStore.js
│ │ ├── UserPreferenceStore.js
│ │ └── root.js
│ ├── sw.js
│ └── utils
│ │ ├── api.js
│ │ ├── apiv2.js
│ │ ├── cm-widgets.ts
│ │ ├── fractions.js
│ │ ├── integration.js
│ │ ├── models.js
│ │ ├── openapi
│ │ ├── .openapi-generator-ignore
│ │ ├── .openapi-generator
│ │ │ ├── FILES
│ │ │ └── VERSION
│ │ ├── api.ts
│ │ ├── base.ts
│ │ ├── common.ts
│ │ ├── configuration.ts
│ │ └── openapitools.json
│ │ └── utils.js
├── tsconfig.json
├── vue.config.js
└── yarn.lock
└── yarn.lock
/.coveragerc:
--------------------------------------------------------------------------------
1 | [run]
2 | omit =
3 | */apps.py,
4 | */migrations/*,
5 | */settings*,
6 | */test*,
7 | */tests/*,
8 | *urls.py,
9 | */wsgi*,
10 | manage.py,
11 | *__init__*
12 |
--------------------------------------------------------------------------------
/.dockerignore:
--------------------------------------------------------------------------------
1 | **/node_modules
2 | npm-debug.log
3 | Dockerfile*
4 | docker-compose*
5 | .dockerignore
6 | .gitignore
7 | README.md
8 | LICENSE
9 | .vscode
10 | .env
11 | .env.template
12 | .github
13 | .idea
14 | .prettierignore
15 | LICENSE.md
16 | docs
17 | update.sh
18 | .pytest_cache
19 | cookbook/tests
20 | mediafiles
21 | staticfiles
22 | db.sqlite3
23 | pytest.ini
24 | vue/**/*.vue
25 | vue/**/*.ts
26 | **/.openapi-generator
27 | mkdocs.yml
28 | vue/babel.config*
29 | vue/package.json
30 | vue/tsconfig.json
31 | vue/src/utils/openapi
32 |
--------------------------------------------------------------------------------
/.flake8:
--------------------------------------------------------------------------------
1 | [flake8]
2 | extend-ignore =
3 | # Whitespace before ':' - Required for black compatibility
4 | E203,
5 | # Line break occurred before a binary operator - Required for black compatibility
6 | W503,
7 | # Comparison to False should be 'if cond is False:' or 'if not cond:'
8 | E712
9 | exclude =
10 | .git,
11 | **/__pycache__,
12 | **/.git,
13 | **/.svn,
14 | **/.hg,
15 | **/CVS,
16 | **/.DS_Store,
17 | .vscode,
18 | **/*.pyc
19 | per-file-ignores=
20 | cookbook/apps.py:F401
21 | max-line-length = 179
22 |
23 |
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | # These are supported funding model platforms
2 |
3 | github: [vabene1111]
4 | patreon: # Replace with a single Patreon username
5 | open_collective: # Replace with a single Open Collective username
6 | ko_fi: # Replace with a single Ko-fi username
7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9 | liberapay: # Replace with a single Liberapay username
10 | issuehunt: # Replace with a single IssueHunt username
11 | otechie: # Replace with a single Otechie username
12 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
13 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | blank_issues_enabled: true
2 | contact_links:
3 | - name: FAQs
4 | url: https://docs.tandoor.dev/faq/
5 | about: Please take a look at the FAQs before creating a bug ticket.
6 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md.bak:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 | title: ''
5 | labels: enhancement
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Is your feature request related to a problem? Please describe.**
11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12 |
13 | **Describe the solution you'd like**
14 | A clear and concise description of what you want to happen.
15 |
16 | **Describe alternatives you've considered**
17 | A clear and concise description of any alternative solutions or features you've considered.
18 |
19 | **Additional context**
20 | Add any other context or screenshots about the feature request here.
21 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/url_import.md.bak:
--------------------------------------------------------------------------------
1 | ---
2 | name: Website Import
3 | about: Anything related to website imports
4 | title: ''
5 | labels: enhancement, url_import
6 | assignees: ''
7 |
8 | ---
9 |
10 | ### Version
11 | Please provide your current version (can be found on the system page since v0.8.4)
12 | Version:
13 |
14 | ### Information
15 | Exact URL you are trying to import from:
16 |
17 | When did the issue happen: When pressing the search button with the url / when importing after the page has loaded
18 |
19 | Response/Message shown
20 | ```
21 | Message
22 | ```
23 |
--------------------------------------------------------------------------------
/.github/workflows/docs.yml:
--------------------------------------------------------------------------------
1 | name: Make Docs
2 | on:
3 | # the 1st condition
4 | workflow_run:
5 | workflows: ["Continuous Integration"]
6 | branches: [master]
7 | types:
8 | - completed
9 |
10 | jobs:
11 | deploy:
12 | if: github.repository_owner == 'TandoorRecipes' && ${{ github.event.workflow_run.conclusion == 'success' }}
13 | runs-on: ubuntu-latest
14 | steps:
15 | - uses: actions/checkout@v4
16 | - uses: actions/setup-python@v5
17 | with:
18 | python-version: 3.x
19 | - run: pip install mkdocs-material mkdocs-include-markdown-plugin
20 | - run: mkdocs gh-deploy --force
21 |
--------------------------------------------------------------------------------
/.idea/codeStyles/codeStyleConfig.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/.idea/dictionaries/vaben.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | mealplan
5 | pinia
6 | selfhosted
7 | unapplied
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/dictionaries/vabene1111_PC.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | autosync
5 | chowdown
6 | csrftoken
7 | gunicorn
8 | ical
9 | invitelink
10 | mealie
11 | pepperplate
12 | safron
13 | traefik
14 |
15 |
16 |
--------------------------------------------------------------------------------
/.idea/inspectionProfiles/profiles_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | # generated files
2 | api.ts
3 | vue/src/apps/*.js
4 | vue/node_modules
5 | staticfiles/
6 | docs/reports/
7 | /vue3/src/openapi/
8 |
9 | # ignored files - prettier interferes with django templates and github actions
10 | *.html
11 | *.yml
12 | *.yaml
13 |
14 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "printWidth": 179,
3 | "trailingComma": "es5",
4 | "tabWidth": 2,
5 | "semi": false,
6 | "experimentalTernaries": true
7 | }
8 |
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "python.testing.pytestArgs": [
3 | "cookbook/tests"
4 | ],
5 | "python.testing.unittestEnabled": false,
6 | "python.testing.pytestEnabled": true,
7 | "editor.formatOnSave": true,
8 | "editor.defaultFormatter": "esbenp.prettier-vscode",
9 | "[python]": {
10 | "editor.defaultFormatter": "eeyore.yapf",
11 | },
12 | "yapf.args": [],
13 | "isort.args": []
14 | }
15 |
--------------------------------------------------------------------------------
/SECURITY.md:
--------------------------------------------------------------------------------
1 | # Security Policy
2 |
3 | ## Supported Versions
4 |
5 | Since this software is still considered beta/WIP support is always only given for the latest version. There are no backports of security or any other fixes.
6 |
7 | ## Reporting a Vulnerability
8 |
9 | Please use GitHub Security Advisories to report any kind of security vulnerabilities.
10 |
--------------------------------------------------------------------------------
/cookbook/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/__init__.py
--------------------------------------------------------------------------------
/cookbook/connectors/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/connectors/__init__.py
--------------------------------------------------------------------------------
/cookbook/helper/CustomStorageClass.py:
--------------------------------------------------------------------------------
1 | import hashlib
2 |
3 | from django.conf import settings
4 | from django.core.cache import cache
5 | from storages.backends.s3boto3 import S3Boto3Storage
6 |
7 |
8 | class CachedS3Boto3Storage(S3Boto3Storage):
9 | def url(self, name, **kwargs):
10 | key = hashlib.md5(f'recipes_media_urls_{name}'.encode('utf-8')).hexdigest()
11 | if result := cache.get(key):
12 | return result
13 |
14 | result = super(CachedS3Boto3Storage, self).url(name, **kwargs)
15 |
16 | timeout = int(settings.AWS_QUERYSTRING_EXPIRE * .95)
17 | cache.set(key, result, timeout)
18 |
19 | return result
20 |
--------------------------------------------------------------------------------
/cookbook/helper/__init__.py:
--------------------------------------------------------------------------------
1 | from cookbook.helper.AllAuthCustomAdapter import AllAuthCustomAdapter
2 |
3 | __all__ = [
4 | ]
5 |
--------------------------------------------------------------------------------
/cookbook/helper/cache_helper.py:
--------------------------------------------------------------------------------
1 | class CacheHelper:
2 | space = None
3 |
4 | BASE_UNITS_CACHE_KEY = None
5 | PROPERTY_TYPE_CACHE_KEY = None
6 |
7 | def __init__(self, space):
8 | self.space = space
9 |
10 | self.BASE_UNITS_CACHE_KEY = f'SPACE_{space.id}_BASE_UNITS'
11 | self.PROPERTY_TYPE_CACHE_KEY = f'SPACE_{space.id}_PROPERTY_TYPES'
12 |
--------------------------------------------------------------------------------
/cookbook/helper/context_processors.py:
--------------------------------------------------------------------------------
1 | from django.conf import settings
2 |
3 |
4 | def context_settings(request):
5 | return {
6 | 'EMAIL_ENABLED': settings.EMAIL_HOST != '',
7 | 'SIGNUP_ENABLED': settings.ENABLE_SIGNUP,
8 | 'CAPTCHA_ENABLED': settings.HCAPTCHA_SITEKEY != '',
9 | 'HOSTED': settings.HOSTED,
10 | 'TERMS_URL': settings.TERMS_URL,
11 | 'PRIVACY_URL': settings.PRIVACY_URL,
12 | 'IMPRINT_URL': settings.IMPRINT_URL,
13 | 'SHOPPING_MIN_AUTOSYNC_INTERVAL': settings.SHOPPING_MIN_AUTOSYNC_INTERVAL,
14 | 'DISABLE_EXTERNAL_CONNECTORS': settings.DISABLE_EXTERNAL_CONNECTORS,
15 | }
16 |
--------------------------------------------------------------------------------
/cookbook/helper/fdc_helper.py:
--------------------------------------------------------------------------------
1 | import json
2 |
3 |
4 | def get_all_nutrient_types():
5 | f = open('') # <--- download the foundation food or any other dataset and retrieve all nutrition ID's from it https://fdc.nal.usda.gov/download-datasets.html
6 | json_data = json.loads(f.read())
7 |
8 | nutrients = {}
9 | for food in json_data['FoundationFoods']:
10 | for entry in food['foodNutrients']:
11 | nutrients[entry['nutrient']['id']] = {'name': entry['nutrient']['name'], 'unit': entry['nutrient']['unitName']}
12 |
13 | nutrient_ids = list(nutrients.keys())
14 | nutrient_ids.sort()
15 | for nid in nutrient_ids:
16 | print('{', f'value: {nid}, text: "{nutrients[nid]["name"]} [{nutrients[nid]["unit"]}] ({nid})"', '},')
17 |
18 |
19 | get_all_nutrient_types()
20 |
--------------------------------------------------------------------------------
/cookbook/helper/permission_config.py:
--------------------------------------------------------------------------------
1 | from cookbook.helper.permission_helper import CustomIsUser
2 |
3 |
4 | class PermissionConfig:
5 | BOOKS = {
6 | 'owner': True,
7 | 'groups': ['user'],
8 | 'drf': [CustomIsUser],
9 | }
10 |
--------------------------------------------------------------------------------
/cookbook/locale/ar/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/locale/ar/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/cookbook/locale/bg/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/locale/bg/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/cookbook/locale/ca/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/locale/ca/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/cookbook/locale/cs/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/locale/cs/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/cookbook/locale/da/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/locale/da/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/cookbook/locale/de/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/locale/de/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/cookbook/locale/el/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/locale/el/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/cookbook/locale/en/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/locale/en/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/cookbook/locale/es/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/locale/es/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/cookbook/locale/fi/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/locale/fi/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/cookbook/locale/fr/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/locale/fr/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/cookbook/locale/he/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/locale/he/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/cookbook/locale/hu_HU/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/locale/hu_HU/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/cookbook/locale/hy/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/locale/hy/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/cookbook/locale/id/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/locale/id/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/cookbook/locale/it/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/locale/it/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/cookbook/locale/lv/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/locale/lv/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/cookbook/locale/nb_NO/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/locale/nb_NO/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/cookbook/locale/nl/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/locale/nl/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/cookbook/locale/pl/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/locale/pl/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/cookbook/locale/pt/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/locale/pt/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/cookbook/locale/pt_BR/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/locale/pt_BR/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/cookbook/locale/rn/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/locale/rn/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/cookbook/locale/ro/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/locale/ro/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/cookbook/locale/ru/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/locale/ru/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/cookbook/locale/sl/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/locale/sl/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/cookbook/locale/sv/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/locale/sv/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/cookbook/locale/tr/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/locale/tr/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/cookbook/locale/uk/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/locale/uk/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/cookbook/locale/vi/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/locale/vi/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/cookbook/locale/zh_CN/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/locale/zh_CN/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/cookbook/locale/zh_Hant/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/locale/zh_Hant/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/cookbook/management/commands/export.py:
--------------------------------------------------------------------------------
1 | from django.core.management.commands.dumpdata import Command as DumpdataCommand
2 | from django_scopes import scopes_disabled
3 |
4 |
5 | class Command(DumpdataCommand):
6 | def handle(self, *args, **options):
7 | with scopes_disabled():
8 | return super().handle(*args, **options)
9 |
--------------------------------------------------------------------------------
/cookbook/management/commands/import.py:
--------------------------------------------------------------------------------
1 | from django.core.management.commands.loaddata import Command as LoaddataCommand
2 | from django_scopes import scopes_disabled
3 |
4 |
5 | class Command(LoaddataCommand):
6 | def handle(self, *args, **options):
7 | with scopes_disabled():
8 | return super().handle(*args, **options)
9 |
--------------------------------------------------------------------------------
/cookbook/migrations/0002_auto_20191119_2035.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 2.2.7 on 2019-11-19 19:35
2 |
3 | from django.db import migrations
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0001_initial'),
10 | ]
11 |
12 | operations = [
13 | migrations.RenameField(
14 | model_name='recipeingredients',
15 | old_name='ingredient',
16 | new_name='name',
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0003_enable_pgtrm.py:
--------------------------------------------------------------------------------
1 | from django.contrib.postgres.operations import TrigramExtension
2 | from django.db import migrations
3 |
4 |
5 | class Migration(migrations.Migration):
6 | dependencies = [
7 | ('cookbook', '0002_auto_20191119_2035'),
8 | ]
9 |
10 | operations = [
11 | TrigramExtension(),
12 | ]
13 |
--------------------------------------------------------------------------------
/cookbook/migrations/0004_storage_created_by.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0 on 2019-12-09 10:30
2 |
3 | from django.conf import settings
4 | from django.db import migrations, models
5 | import django.db.models.deletion
6 |
7 |
8 | class Migration(migrations.Migration):
9 |
10 | dependencies = [
11 | migrations.swappable_dependency(settings.AUTH_USER_MODEL),
12 | ('cookbook', '0003_enable_pgtrm'),
13 | ]
14 |
15 | operations = [
16 | migrations.AddField(
17 | model_name='storage',
18 | name='created_by',
19 | field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL),
20 | preserve_default=False,
21 | ),
22 | ]
23 |
--------------------------------------------------------------------------------
/cookbook/migrations/0006_recipe_image.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.1 on 2019-12-25 15:11
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0005_recipebook_recipebookentry'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='recipe',
15 | name='image',
16 | field=models.ImageField(blank=True, null=True, upload_to='recipes/'),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0007_auto_20191226_0852.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.1 on 2019-12-26 07:52
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0006_recipe_image'),
10 | ]
11 |
12 | operations = [
13 | migrations.RenameField(
14 | model_name='recipe',
15 | old_name='time',
16 | new_name='working_time',
17 | ),
18 | migrations.AddField(
19 | model_name='recipe',
20 | name='waiting_time',
21 | field=models.IntegerField(default=0),
22 | ),
23 | ]
24 |
--------------------------------------------------------------------------------
/cookbook/migrations/0011_remove_recipeingredients_unit.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.2 on 2020-01-30 10:16
2 |
3 | from django.db import migrations
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0010_auto_20200130_1059'),
10 | ]
11 |
12 | operations = [
13 | migrations.RemoveField(
14 | model_name='recipeingredients',
15 | name='unit',
16 | ),
17 | ]
18 |
--------------------------------------------------------------------------------
/cookbook/migrations/0012_auto_20200130_1116.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.2 on 2020-01-30 10:16
2 |
3 | from django.db import migrations
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0011_remove_recipeingredients_unit'),
10 | ]
11 |
12 | operations = [
13 | migrations.RenameField(
14 | model_name='recipeingredients',
15 | old_name='unit_key',
16 | new_name='unit',
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0015_auto_20200213_2334.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.2 on 2020-02-13 22:34
2 |
3 | from django.conf import settings
4 | from django.db import migrations, models
5 | import django.db.models.deletion
6 |
7 |
8 | class Migration(migrations.Migration):
9 |
10 | dependencies = [
11 | migrations.swappable_dependency(settings.AUTH_USER_MODEL),
12 | ('cookbook', '0014_auto_20200213_2332'),
13 | ]
14 |
15 | operations = [
16 | migrations.AlterField(
17 | model_name='userpreference',
18 | name='user',
19 | field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
20 | ),
21 | ]
22 |
--------------------------------------------------------------------------------
/cookbook/migrations/0017_auto_20200216_2257.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.2 on 2020-02-16 21:57
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0016_auto_20200213_2335'),
10 | ]
11 |
12 | operations = [
13 | migrations.AlterField(
14 | model_name='userpreference',
15 | name='theme',
16 | field=models.CharField(choices=[('BOOTSTRAP', 'Bootstrap'), ('DARKLY', 'Darkly'), ('FLATLY', 'Flatly'), ('SUPERHERO', 'Superhero')], default='FLATLY', max_length=128),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0018_auto_20200216_2303.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.2 on 2020-02-16 22:03
2 |
3 | from django.db import migrations
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0017_auto_20200216_2257'),
10 | ]
11 |
12 | operations = [
13 | migrations.RenameModel(
14 | old_name='RecipeIngredients',
15 | new_name='RecipeIngredient',
16 | ),
17 | ]
18 |
--------------------------------------------------------------------------------
/cookbook/migrations/0019_ingredient.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.2 on 2020-02-16 22:03
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0018_auto_20200216_2303'),
10 | ]
11 |
12 | operations = [
13 | migrations.CreateModel(
14 | name='Ingredient',
15 | fields=[
16 | ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
17 | ('name', models.CharField(max_length=128, unique=True)),
18 | ],
19 | ),
20 | ]
21 |
--------------------------------------------------------------------------------
/cookbook/migrations/0020_recipeingredient_ingredient.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.2 on 2020-02-16 22:08
2 |
3 | from django.db import migrations, models
4 | import django.db.models.deletion
5 |
6 |
7 | class Migration(migrations.Migration):
8 |
9 | dependencies = [
10 | ('cookbook', '0019_ingredient'),
11 | ]
12 |
13 | operations = [
14 | migrations.AddField(
15 | model_name='recipeingredient',
16 | name='ingredient',
17 | field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, to='cookbook.Ingredient'),
18 | ),
19 | ]
20 |
--------------------------------------------------------------------------------
/cookbook/migrations/0022_remove_recipeingredient_name.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.2 on 2020-02-16 22:11
2 |
3 | from django.db import migrations
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0021_auto_20200216_2309'),
10 | ]
11 |
12 | operations = [
13 | migrations.RemoveField(
14 | model_name='recipeingredient',
15 | name='name',
16 | ),
17 | ]
18 |
--------------------------------------------------------------------------------
/cookbook/migrations/0023_auto_20200216_2311.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.2 on 2020-02-16 22:11
2 |
3 | from django.db import migrations
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0022_remove_recipeingredient_name'),
10 | ]
11 |
12 | operations = [
13 | migrations.RenameField(
14 | model_name='recipeingredient',
15 | old_name='ingredient',
16 | new_name='name',
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0024_auto_20200216_2313.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.2 on 2020-02-16 22:13
2 |
3 | from django.db import migrations
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0023_auto_20200216_2311'),
10 | ]
11 |
12 | operations = [
13 | migrations.RenameField(
14 | model_name='recipeingredient',
15 | old_name='name',
16 | new_name='ingredient',
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0025_userpreference_nav_color.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.2 on 2020-02-16 23:05
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0024_auto_20200216_2313'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='userpreference',
15 | name='nav_color',
16 | field=models.CharField(choices=[('PRIMARY', 'Primary'), ('SECONDARY', 'Secondary'), ('SUCCESS', 'Success'), ('INFO', 'Info'), ('WARNING', 'Warning'), ('DANGER', 'Danger'), ('LIGHT', 'Light'), ('DARK', 'Dark')], default='PRIMARY', max_length=128),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0026_auto_20200219_1605.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.2 on 2020-02-19 15:05
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0025_userpreference_nav_color'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='recipe',
15 | name='cors_link',
16 | field=models.CharField(blank=True, max_length=1024, null=True),
17 | ),
18 | migrations.AlterField(
19 | model_name='recipe',
20 | name='link',
21 | field=models.CharField(blank=True, max_length=512, null=True),
22 | ),
23 | ]
24 |
--------------------------------------------------------------------------------
/cookbook/migrations/0027_ingredient_recipe.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.4 on 2020-03-17 17:31
2 |
3 | from django.db import migrations, models
4 | import django.db.models.deletion
5 |
6 |
7 | class Migration(migrations.Migration):
8 |
9 | dependencies = [
10 | ('cookbook', '0026_auto_20200219_1605'),
11 | ]
12 |
13 | operations = [
14 | migrations.AddField(
15 | model_name='ingredient',
16 | name='recipe',
17 | field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='cookbook.Recipe'),
18 | ),
19 | ]
20 |
--------------------------------------------------------------------------------
/cookbook/migrations/0028_auto_20200317_1901.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.4 on 2020-03-17 18:01
2 |
3 | from django.db import migrations, models
4 | import django.db.models.deletion
5 |
6 |
7 | class Migration(migrations.Migration):
8 |
9 | dependencies = [
10 | ('cookbook', '0027_ingredient_recipe'),
11 | ]
12 |
13 | operations = [
14 | migrations.AlterField(
15 | model_name='recipeingredient',
16 | name='ingredient',
17 | field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='cookbook.Ingredient'),
18 | ),
19 | ]
20 |
--------------------------------------------------------------------------------
/cookbook/migrations/0029_auto_20200317_1901.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.4 on 2020-03-17 18:01
2 |
3 | from django.db import migrations, models
4 | import django.db.models.deletion
5 |
6 |
7 | class Migration(migrations.Migration):
8 |
9 | dependencies = [
10 | ('cookbook', '0028_auto_20200317_1901'),
11 | ]
12 |
13 | operations = [
14 | migrations.AlterField(
15 | model_name='recipeingredient',
16 | name='unit',
17 | field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='cookbook.Unit'),
18 | ),
19 | ]
20 |
--------------------------------------------------------------------------------
/cookbook/migrations/0030_recipeingredient_note.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.4 on 2020-03-17 18:02
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0029_auto_20200317_1901'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='recipeingredient',
15 | name='note',
16 | field=models.CharField(blank=True, max_length=64, null=True),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0031_auto_20200407_1841.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.4 on 2020-04-07 16:41
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0030_recipeingredient_note'),
10 | ]
11 |
12 | operations = [
13 | migrations.AlterField(
14 | model_name='keyword',
15 | name='icon',
16 | field=models.CharField(blank=True, max_length=16, null=True),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0032_userpreference_default_unit.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.4 on 2020-04-13 20:34
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0031_auto_20200407_1841'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='userpreference',
15 | name='default_unit',
16 | field=models.CharField(default='g', max_length=32),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0033_userpreference_default_page.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.4 on 2020-04-13 20:41
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0032_userpreference_default_unit'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='userpreference',
15 | name='default_page',
16 | field=models.CharField(choices=[('SEARCH', 'Search'), ('PLAN', 'Meal-Plan')], default='SEARCH', max_length=64),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0034_auto_20200426_1614.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.5 on 2020-04-26 14:14
2 |
3 | from django.db import migrations
4 | from django_scopes import scopes_disabled
5 |
6 |
7 | def apply_migration(apps, schema_editor):
8 | with scopes_disabled():
9 | Group = apps.get_model('auth', 'Group')
10 | Group.objects.bulk_create([
11 | Group(name=u'guest'),
12 | Group(name=u'user'),
13 | Group(name=u'admin'),
14 | ])
15 |
16 |
17 | class Migration(migrations.Migration):
18 | dependencies = [
19 | ('cookbook', '0033_userpreference_default_page'),
20 | ]
21 |
22 | operations = [
23 | migrations.RunPython(apply_migration)
24 | ]
25 |
--------------------------------------------------------------------------------
/cookbook/migrations/0036_auto_20200427_1800.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.5 on 2020-04-27 16:00
2 |
3 | from django.db import migrations
4 | from django_scopes import scopes_disabled
5 |
6 |
7 | def apply_migration(apps, schema_editor):
8 | with scopes_disabled():
9 | Group = apps.get_model('auth', 'Group')
10 | User = apps.get_model('auth', 'User')
11 | for u in User.objects.all():
12 | if u.groups.count() < 1:
13 | u.groups.add(Group.objects.get(name='admin'))
14 | u.save()
15 |
16 |
17 | class Migration(migrations.Migration):
18 | dependencies = [
19 | ('cookbook', '0035_auto_20200427_1637'),
20 | ]
21 |
22 | operations = [
23 | migrations.RunPython(apply_migration)
24 | ]
25 |
--------------------------------------------------------------------------------
/cookbook/migrations/0037_userpreference_search_style.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.5 on 2020-05-02 10:45
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0036_auto_20200427_1800'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='userpreference',
15 | name='search_style',
16 | field=models.CharField(choices=[('SMALL', 'Small'), ('LARGE', 'Large')], default='LARGE', max_length=64),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0038_auto_20200502_1259.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.5 on 2020-05-02 10:59
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0037_userpreference_search_style'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='recipebook',
15 | name='description',
16 | field=models.TextField(blank=True),
17 | ),
18 | migrations.AddField(
19 | model_name='recipebook',
20 | name='icon',
21 | field=models.CharField(blank=True, max_length=16, null=True),
22 | ),
23 | ]
24 |
--------------------------------------------------------------------------------
/cookbook/migrations/0039_recipebook_shared.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.5 on 2020-05-02 12:04
2 |
3 | from django.conf import settings
4 | from django.db import migrations, models
5 |
6 |
7 | class Migration(migrations.Migration):
8 |
9 | dependencies = [
10 | migrations.swappable_dependency(settings.AUTH_USER_MODEL),
11 | ('cookbook', '0038_auto_20200502_1259'),
12 | ]
13 |
14 | operations = [
15 | migrations.AddField(
16 | model_name='recipebook',
17 | name='shared',
18 | field=models.ManyToManyField(blank=True, related_name='shared_with', to=settings.AUTH_USER_MODEL),
19 | ),
20 | ]
21 |
--------------------------------------------------------------------------------
/cookbook/migrations/0040_auto_20200502_1433.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.5 on 2020-05-02 12:33
2 |
3 | import annoying.fields
4 | from django.conf import settings
5 | from django.db import migrations
6 | import django.db.models.deletion
7 |
8 |
9 | class Migration(migrations.Migration):
10 |
11 | dependencies = [
12 | migrations.swappable_dependency(settings.AUTH_USER_MODEL),
13 | ('cookbook', '0039_recipebook_shared'),
14 | ]
15 |
16 | operations = [
17 | migrations.AlterField(
18 | model_name='userpreference',
19 | name='user',
20 | field=annoying.fields.AutoOneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to=settings.AUTH_USER_MODEL),
21 | ),
22 | ]
23 |
--------------------------------------------------------------------------------
/cookbook/migrations/0041_auto_20200502_1446.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.5 on 2020-05-02 12:46
2 |
3 | from django.db import migrations, models
4 | import django.db.models.deletion
5 |
6 |
7 | class Migration(migrations.Migration):
8 |
9 | dependencies = [
10 | ('cookbook', '0040_auto_20200502_1433'),
11 | ]
12 |
13 | operations = [
14 | migrations.AddField(
15 | model_name='mealplan',
16 | name='title',
17 | field=models.CharField(blank=True, default='', max_length=64),
18 | ),
19 | migrations.AlterField(
20 | model_name='mealplan',
21 | name='recipe',
22 | field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='cookbook.Recipe'),
23 | ),
24 | ]
25 |
--------------------------------------------------------------------------------
/cookbook/migrations/0045_userpreference_show_recent.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.5 on 2020-06-02 08:51
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0044_viewlog'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='userpreference',
15 | name='show_recent',
16 | field=models.BooleanField(default=True),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0048_auto_20200602_1140.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.5 on 2020-06-02 09:40
2 |
3 | from django.db import migrations, models
4 | import django.db.models.deletion
5 |
6 |
7 | class Migration(migrations.Migration):
8 |
9 | dependencies = [
10 | ('cookbook', '0047_auto_20200602_1133'),
11 | ]
12 |
13 | operations = [
14 | migrations.RemoveField(
15 | model_name='mealplan',
16 | name='meal',
17 | ),
18 | migrations.AlterField(
19 | model_name='mealplan',
20 | name='meal_type',
21 | field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='cookbook.MealType'),
22 | ),
23 | ]
24 |
--------------------------------------------------------------------------------
/cookbook/migrations/0049_mealtype_created_by.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.7 on 2020-06-11 13:08
2 |
3 | from django.conf import settings
4 | from django.db import migrations, models
5 | import django.db.models.deletion
6 |
7 |
8 | class Migration(migrations.Migration):
9 |
10 | dependencies = [
11 | migrations.swappable_dependency(settings.AUTH_USER_MODEL),
12 | ('cookbook', '0048_auto_20200602_1140'),
13 | ]
14 |
15 | operations = [
16 | migrations.AddField(
17 | model_name='mealtype',
18 | name='created_by',
19 | field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
20 | ),
21 | ]
22 |
--------------------------------------------------------------------------------
/cookbook/migrations/0051_auto_20200611_1518.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.7 on 2020-06-11 13:18
2 |
3 | from django.conf import settings
4 | from django.db import migrations, models
5 | import django.db.models.deletion
6 |
7 |
8 | class Migration(migrations.Migration):
9 |
10 | dependencies = [
11 | migrations.swappable_dependency(settings.AUTH_USER_MODEL),
12 | ('cookbook', '0050_auto_20200611_1509'),
13 | ]
14 |
15 | operations = [
16 | migrations.AlterField(
17 | model_name='mealtype',
18 | name='created_by',
19 | field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
20 | ),
21 | ]
22 |
--------------------------------------------------------------------------------
/cookbook/migrations/0052_userpreference_ingredient_decimals.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.7 on 2020-06-11 20:14
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0051_auto_20200611_1518'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='userpreference',
15 | name='ingredient_decimals',
16 | field=models.IntegerField(default=2),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0053_auto_20200611_2217.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.7 on 2020-06-11 20:17
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0052_userpreference_ingredient_decimals'),
10 | ]
11 |
12 | operations = [
13 | migrations.AlterField(
14 | model_name='recipeingredient',
15 | name='amount',
16 | field=models.DecimalField(decimal_places=16, default=0, max_digits=32),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0055_auto_20200616_1236.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.7 on 2020-06-16 10:36
2 |
3 | from django.db import migrations, models
4 | import uuid
5 |
6 |
7 | class Migration(migrations.Migration):
8 |
9 | dependencies = [
10 | ('cookbook', '0054_sharelink'),
11 | ]
12 |
13 | operations = [
14 | migrations.AddField(
15 | model_name='userpreference',
16 | name='comments',
17 | field=models.BooleanField(default=True),
18 | ),
19 | migrations.AlterField(
20 | model_name='sharelink',
21 | name='uuid',
22 | field=models.UUIDField(default=uuid.UUID('a6e8f192-cc03-4dd4-8a03-58d7ab6b7df7')),
23 | ),
24 | ]
25 |
--------------------------------------------------------------------------------
/cookbook/migrations/0057_auto_20200625_2127.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.7 on 2020-06-25 19:27
2 |
3 | from django.db import migrations, models
4 | import uuid
5 |
6 |
7 | class Migration(migrations.Migration):
8 |
9 | dependencies = [
10 | ('cookbook', '0056_auto_20200625_2118'),
11 | ]
12 |
13 | operations = [
14 | migrations.RenameField(
15 | model_name='recipeingredient',
16 | old_name='ingredient',
17 | new_name='food',
18 | ),
19 | migrations.AlterField(
20 | model_name='sharelink',
21 | name='uuid',
22 | field=models.UUIDField(default=uuid.UUID('4a604ec8-c158-4011-ab5d-ddad7604c1e3')),
23 | ),
24 | ]
25 |
--------------------------------------------------------------------------------
/cookbook/migrations/0058_auto_20200625_2128.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.7 on 2020-06-25 19:28
2 |
3 | from django.db import migrations, models
4 | import uuid
5 |
6 |
7 | class Migration(migrations.Migration):
8 | atomic = False
9 |
10 | dependencies = [
11 | ('cookbook', '0057_auto_20200625_2127'),
12 | ]
13 |
14 | operations = [
15 | migrations.RenameModel(
16 | old_name='RecipeIngredient',
17 | new_name='Ingredient',
18 | ),
19 | migrations.AlterField(
20 | model_name='sharelink',
21 | name='uuid',
22 | field=models.UUIDField(default=uuid.UUID('27328011-54fb-46fa-8846-424d5828d858')),
23 | ),
24 | ]
25 |
--------------------------------------------------------------------------------
/cookbook/migrations/0060_auto_20200625_2144.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.7 on 2020-06-25 19:44
2 |
3 | from django.db import migrations, models
4 | import uuid
5 |
6 |
7 | class Migration(migrations.Migration):
8 |
9 | dependencies = [
10 | ('cookbook', '0059_auto_20200625_2137'),
11 | ]
12 |
13 | operations = [
14 | migrations.RemoveField(
15 | model_name='ingredient',
16 | name='recipe',
17 | ),
18 | migrations.AlterField(
19 | model_name='sharelink',
20 | name='uuid',
21 | field=models.UUIDField(default=uuid.UUID('a7a91b2e-ad33-4159-a35e-828a5244ede9')),
22 | ),
23 | ]
24 |
--------------------------------------------------------------------------------
/cookbook/migrations/0061_merge_20200625_2209.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.7 on 2020-06-25 20:09
2 |
3 | from django.db import migrations
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0056_auto_20200625_2157'),
10 | ('cookbook', '0060_auto_20200625_2144'),
11 | ]
12 |
13 | operations = [
14 | ]
15 |
--------------------------------------------------------------------------------
/cookbook/migrations/0063_auto_20200625_2230.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.7 on 2020-06-25 20:30
2 |
3 | from django.db import migrations
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0062_auto_20200625_2219'),
10 | ]
11 |
12 | operations = [
13 | migrations.RemoveField(
14 | model_name='recipe',
15 | name='ingredients',
16 | ),
17 | migrations.RemoveField(
18 | model_name='recipe',
19 | name='instructions',
20 | ),
21 | ]
22 |
--------------------------------------------------------------------------------
/cookbook/migrations/0064_auto_20200625_2329.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.7 on 2020-06-25 21:29
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0063_auto_20200625_2230'),
10 | ]
11 |
12 | operations = [
13 | migrations.AlterField(
14 | model_name='recipe',
15 | name='file_path',
16 | field=models.CharField(blank=True, default='', max_length=512),
17 | ),
18 | migrations.AlterField(
19 | model_name='recipe',
20 | name='file_uid',
21 | field=models.CharField(blank=True, default='', max_length=256),
22 | ),
23 | ]
24 |
--------------------------------------------------------------------------------
/cookbook/migrations/0065_auto_20200626_1444.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.7 on 2020-06-26 12:44
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0064_auto_20200625_2329'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='ingredient',
15 | name='order',
16 | field=models.IntegerField(default=0),
17 | ),
18 | migrations.AddField(
19 | model_name='step',
20 | name='order',
21 | field=models.IntegerField(default=0),
22 | ),
23 | ]
24 |
--------------------------------------------------------------------------------
/cookbook/migrations/0066_auto_20200626_1455.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.7 on 2020-06-26 12:55
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0065_auto_20200626_1444'),
10 | ]
11 |
12 | operations = [
13 | migrations.AlterModelOptions(
14 | name='ingredient',
15 | options={'ordering': ['order', 'pk']},
16 | ),
17 | migrations.AlterModelOptions(
18 | name='step',
19 | options={'ordering': ['order', 'pk']},
20 | ),
21 | migrations.AddField(
22 | model_name='step',
23 | name='name',
24 | field=models.CharField(blank=True, default='', max_length=128),
25 | ),
26 | ]
27 |
--------------------------------------------------------------------------------
/cookbook/migrations/0067_auto_20200629_1508.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.7 on 2020-06-29 13:08
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0066_auto_20200626_1455'),
10 | ]
11 |
12 | operations = [
13 | migrations.AlterField(
14 | model_name='ingredient',
15 | name='note',
16 | field=models.CharField(blank=True, max_length=256, null=True),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0069_auto_20200629_2134.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.7 on 2020-06-29 19:34
2 |
3 | from django.db import migrations
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0068_auto_20200629_2127'),
10 | ]
11 |
12 | operations = [
13 | migrations.RenameField(
14 | model_name='ingredient',
15 | old_name='header',
16 | new_name='is_header',
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0070_auto_20200701_2007.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.7 on 2020-07-01 18:07
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0069_auto_20200629_2134'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='step',
15 | name='time',
16 | field=models.IntegerField(blank=True, default=0),
17 | ),
18 | migrations.AlterField(
19 | model_name='step',
20 | name='kind',
21 | field=models.CharField(choices=[('TEXT', 'Text'), ('TIME', 'Time')], default='TEXT', max_length=16),
22 | ),
23 | ]
24 |
--------------------------------------------------------------------------------
/cookbook/migrations/0071_auto_20200701_2048.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.7 on 2020-07-01 18:48
2 |
3 | from django.db import migrations
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0070_auto_20200701_2007'),
10 | ]
11 |
12 | operations = [
13 | migrations.RenameField(
14 | model_name='step',
15 | old_name='kind',
16 | new_name='type',
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0072_step_show_as_header.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.7 on 2020-07-02 10:00
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0071_auto_20200701_2048'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='step',
15 | name='show_as_header',
16 | field=models.BooleanField(default=True),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0073_auto_20200708_2311.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.7 on 2020-07-08 21:11
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0072_step_show_as_header'),
10 | ]
11 |
12 | operations = [
13 | migrations.AlterField(
14 | model_name='sync',
15 | name='last_checked',
16 | field=models.DateTimeField(null=True),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0074_remove_keyword_created_by.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.7 on 2020-07-09 19:54
2 |
3 | from django.db import migrations
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0073_auto_20200708_2311'),
10 | ]
11 |
12 | operations = [
13 | migrations.RemoveField(
14 | model_name='keyword',
15 | name='created_by',
16 | ),
17 | ]
18 |
--------------------------------------------------------------------------------
/cookbook/migrations/0076_shoppinglist_entries.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.7 on 2020-08-26 18:46
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0075_shoppinglist_shoppinglistentry_shoppinglistrecipe'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='shoppinglist',
15 | name='entries',
16 | field=models.ManyToManyField(blank=True, to='cookbook.ShoppingListEntry'),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0078_invitelink_used_by.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.7 on 2020-09-01 11:39
2 |
3 | from django.conf import settings
4 | from django.db import migrations, models
5 | import django.db.models.deletion
6 |
7 |
8 | class Migration(migrations.Migration):
9 |
10 | dependencies = [
11 | migrations.swappable_dependency(settings.AUTH_USER_MODEL),
12 | ('cookbook', '0077_invitelink'),
13 | ]
14 |
15 | operations = [
16 | migrations.AddField(
17 | model_name='invitelink',
18 | name='used_by',
19 | field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='used_by', to=settings.AUTH_USER_MODEL),
20 | ),
21 | ]
22 |
--------------------------------------------------------------------------------
/cookbook/migrations/0079_invitelink_group.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.7 on 2020-09-01 12:54
2 |
3 | from django.db import migrations, models
4 | import django.db.models.deletion
5 |
6 |
7 | class Migration(migrations.Migration):
8 |
9 | dependencies = [
10 | ('auth', '0011_update_proxy_permissions'),
11 | ('cookbook', '0078_invitelink_used_by'),
12 | ]
13 |
14 | operations = [
15 | migrations.AddField(
16 | model_name='invitelink',
17 | name='group',
18 | field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='auth.Group'),
19 | preserve_default=False,
20 | ),
21 | ]
22 |
--------------------------------------------------------------------------------
/cookbook/migrations/0080_auto_20200921_2331.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.7 on 2020-09-21 21:31
2 |
3 | import datetime
4 | from django.db import migrations, models
5 |
6 |
7 | class Migration(migrations.Migration):
8 |
9 | dependencies = [
10 | ('cookbook', '0079_invitelink_group'),
11 | ]
12 |
13 | operations = [
14 | migrations.AddField(
15 | model_name='userpreference',
16 | name='shopping_auto_sync',
17 | field=models.BooleanField(default=True),
18 | ),
19 | migrations.AlterField(
20 | model_name='invitelink',
21 | name='valid_until',
22 | field=models.DateField(default=datetime.date(2020, 10, 5)),
23 | ),
24 | ]
25 |
--------------------------------------------------------------------------------
/cookbook/migrations/0081_auto_20200921_2349.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.7 on 2020-09-21 21:49
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0080_auto_20200921_2331'),
10 | ]
11 |
12 | operations = [
13 | migrations.AlterField(
14 | model_name='userpreference',
15 | name='shopping_auto_sync',
16 | field=models.IntegerField(default=5),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0082_auto_20200922_1143.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.7 on 2020-09-22 09:43
2 |
3 | import datetime
4 | from django.db import migrations, models
5 |
6 |
7 | class Migration(migrations.Migration):
8 |
9 | dependencies = [
10 | ('cookbook', '0081_auto_20200921_2349'),
11 | ]
12 |
13 | operations = [
14 | migrations.AlterField(
15 | model_name='invitelink',
16 | name='valid_until',
17 | field=models.DateField(default=datetime.date(2020, 10, 6)),
18 | ),
19 | migrations.AlterField(
20 | model_name='shoppinglistentry',
21 | name='amount',
22 | field=models.DecimalField(decimal_places=16, default=0, max_digits=32),
23 | ),
24 | ]
25 |
--------------------------------------------------------------------------------
/cookbook/migrations/0083_space.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.7 on 2020-09-22 10:24
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0082_auto_20200922_1143'),
10 | ]
11 |
12 | operations = [
13 | migrations.CreateModel(
14 | name='Space',
15 | fields=[
16 | ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
17 | ('name', models.CharField(default='Default', max_length=128)),
18 | ('message', models.CharField(default='', max_length=512)),
19 | ],
20 | ),
21 | ]
22 |
--------------------------------------------------------------------------------
/cookbook/migrations/0084_auto_20200922_1233.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.7 on 2020-09-22 10:33
2 |
3 | from django.db import migrations
4 |
5 |
6 | def create_default_space(apps, schema_editor):
7 | # Space = apps.get_model('cookbook', 'Space')
8 | # Space.objects.create(
9 | # name='Default',
10 | # message=''
11 | # )
12 | pass # Beginning with the multi space tenancy version (~something around 1.3) a default space is no longer needed as the first user can create it after setup
13 |
14 |
15 | class Migration(migrations.Migration):
16 | dependencies = [
17 | ('cookbook', '0083_space'),
18 | ]
19 |
20 | operations = [
21 | migrations.RunPython(create_default_space),
22 | ]
23 |
--------------------------------------------------------------------------------
/cookbook/migrations/0085_auto_20200922_1235.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.7 on 2020-09-22 10:35
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0084_auto_20200922_1233'),
10 | ]
11 |
12 | operations = [
13 | migrations.AlterField(
14 | model_name='space',
15 | name='message',
16 | field=models.CharField(blank=True, default='', max_length=512),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0086_auto_20200929_1143.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.7 on 2020-09-29 09:43
2 |
3 | import datetime
4 | from django.db import migrations, models
5 |
6 |
7 | class Migration(migrations.Migration):
8 |
9 | dependencies = [
10 | ('cookbook', '0085_auto_20200922_1235'),
11 | ]
12 |
13 | operations = [
14 | migrations.AddField(
15 | model_name='mealplan',
16 | name='recipe_multiplier',
17 | field=models.IntegerField(default=1),
18 | ),
19 | migrations.AlterField(
20 | model_name='invitelink',
21 | name='valid_until',
22 | field=models.DateField(default=datetime.date(2020, 10, 13)),
23 | ),
24 | ]
25 |
--------------------------------------------------------------------------------
/cookbook/migrations/0087_auto_20200929_1152.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.7 on 2020-09-29 09:52
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0086_auto_20200929_1143'),
10 | ]
11 |
12 | operations = [
13 | migrations.AlterField(
14 | model_name='mealplan',
15 | name='recipe_multiplier',
16 | field=models.DecimalField(decimal_places=4, default=1, max_digits=8),
17 | ),
18 | migrations.AlterField(
19 | model_name='shoppinglistrecipe',
20 | name='multiplier',
21 | field=models.DecimalField(decimal_places=4, default=1, max_digits=8),
22 | ),
23 | ]
24 |
--------------------------------------------------------------------------------
/cookbook/migrations/0088_shoppinglist_finished.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.1.1 on 2020-09-29 11:55
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0087_auto_20200929_1152'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='shoppinglist',
15 | name='finished',
16 | field=models.BooleanField(default=False),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0090_auto_20201214_1359.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.1.3 on 2020-12-14 12:59
2 |
3 | import datetime
4 | from django.db import migrations, models
5 |
6 |
7 | class Migration(migrations.Migration):
8 |
9 | dependencies = [
10 | ('cookbook', '0089_auto_20201117_2222'),
11 | ]
12 |
13 | operations = [
14 | migrations.AddField(
15 | model_name='userpreference',
16 | name='use_fractions',
17 | field=models.BooleanField(default=False),
18 | ),
19 | migrations.AlterField(
20 | model_name='invitelink',
21 | name='valid_until',
22 | field=models.DateField(default=datetime.date(2020, 12, 28)),
23 | ),
24 | ]
25 |
--------------------------------------------------------------------------------
/cookbook/migrations/0091_auto_20201226_1551.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.1.4 on 2020-12-26 14:51
2 |
3 | from django.db import migrations
4 |
5 |
6 | def migrate_empty_units(apps, schema_editor):
7 | Unit = apps.get_model('cookbook', 'Unit')
8 | Ingredient = apps.get_model('cookbook', 'Ingredient')
9 |
10 | empty_units = Unit.objects.filter(name='').all()
11 | for x in empty_units:
12 | for i in Ingredient.objects.all():
13 | if i.unit == x:
14 | i.unit = None
15 | i.save()
16 | x.delete()
17 |
18 |
19 | class Migration(migrations.Migration):
20 | dependencies = [
21 | ('cookbook', '0090_auto_20201214_1359'),
22 | ]
23 |
24 | operations = [
25 | migrations.RunPython(migrate_empty_units),
26 | ]
27 |
--------------------------------------------------------------------------------
/cookbook/migrations/0092_recipe_servings.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.7 on 2020-08-30 13:32
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0091_auto_20201226_1551'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='recipe',
15 | name='servings',
16 | field=models.IntegerField(default=1),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0094_auto_20201231_1238.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.1.4 on 2020-12-31 11:38
2 |
3 | from django.db import migrations
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0093_auto_20201231_1236'),
10 | ]
11 |
12 | operations = [
13 | migrations.RenameField(
14 | model_name='shoppinglistrecipe',
15 | old_name='multiplier',
16 | new_name='servings',
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0095_auto_20210107_1804.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.1.5 on 2021-01-07 17:04
2 |
3 | import datetime
4 | from django.db import migrations, models
5 |
6 |
7 | class Migration(migrations.Migration):
8 |
9 | dependencies = [
10 | ('cookbook', '0094_auto_20201231_1238'),
11 | ]
12 |
13 | operations = [
14 | migrations.AddField(
15 | model_name='userpreference',
16 | name='sticky_navbar',
17 | field=models.BooleanField(default=True),
18 | ),
19 | migrations.AlterField(
20 | model_name='invitelink',
21 | name='valid_until',
22 | field=models.DateField(default=datetime.date(2021, 1, 21)),
23 | ),
24 | ]
25 |
--------------------------------------------------------------------------------
/cookbook/migrations/0098_auto_20210113_1320.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.1.5 on 2021-01-13 12:20
2 |
3 | import cookbook.models
4 | from django.db import migrations, models
5 |
6 |
7 | class Migration(migrations.Migration):
8 |
9 | dependencies = [
10 | ('cookbook', '0097_auto_20210113_1315'),
11 | ]
12 |
13 | operations = [
14 | migrations.AlterField(
15 | model_name='invitelink',
16 | name='valid_until',
17 | field=models.DateField(default=cookbook.models.default_valid_until),
18 | ),
19 | ]
20 |
--------------------------------------------------------------------------------
/cookbook/migrations/0099_auto_20210113_1518.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.1.5 on 2021-01-13 14:18
2 |
3 | from django.db import migrations, models
4 | import django.utils.timezone
5 |
6 |
7 | class Migration(migrations.Migration):
8 |
9 | dependencies = [
10 | ('cookbook', '0098_auto_20210113_1320'),
11 | ]
12 |
13 | operations = [
14 | migrations.AlterField(
15 | model_name='cooklog',
16 | name='created_at',
17 | field=models.DateTimeField(default=django.utils.timezone.now),
18 | ),
19 | ]
20 |
--------------------------------------------------------------------------------
/cookbook/migrations/0100_recipe_servings_text.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.1.5 on 2021-01-21 19:02
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0099_auto_20210113_1518'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='recipe',
15 | name='servings_text',
16 | field=models.CharField(blank=True, default='', max_length=32),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0101_storage_path.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.1.5 on 2021-01-22 18:57
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0100_recipe_servings_text'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='storage',
15 | name='path',
16 | field=models.CharField(blank=True, default='', max_length=256),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0103_food_ignore_shopping.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.1.5 on 2021-01-25 13:10
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0102_auto_20210125_1147'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='food',
15 | name='ignore_shopping',
16 | field=models.BooleanField(default=False),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0106_shoppinglist_supermarket.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.1.5 on 2021-01-26 15:21
2 |
3 | from django.db import migrations, models
4 | import django.db.models.deletion
5 |
6 |
7 | class Migration(migrations.Migration):
8 |
9 | dependencies = [
10 | ('cookbook', '0105_auto_20210126_1604'),
11 | ]
12 |
13 | operations = [
14 | migrations.AddField(
15 | model_name='shoppinglist',
16 | name='supermarket',
17 | field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='cookbook.supermarket'),
18 | ),
19 | ]
20 |
--------------------------------------------------------------------------------
/cookbook/migrations/0107_auto_20210128_1535.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.1.5 on 2021-01-28 14:35
2 |
3 | from django.db import migrations
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0106_shoppinglist_supermarket'),
10 | ]
11 |
12 | operations = [
13 | migrations.AlterModelOptions(
14 | name='supermarketcategoryrelation',
15 | options={'ordering': ('order',)},
16 | ),
17 | ]
18 |
--------------------------------------------------------------------------------
/cookbook/migrations/0110_auto_20210221_1406.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.1.6 on 2021-02-21 13:06
2 |
3 | from django.db import migrations, models
4 | import django.db.models.deletion
5 |
6 |
7 | class Migration(migrations.Migration):
8 |
9 | dependencies = [
10 | ('cookbook', '0109_auto_20210221_1204'),
11 | ]
12 |
13 | operations = [
14 | migrations.AlterField(
15 | model_name='userpreference',
16 | name='space',
17 | field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='cookbook.space'),
18 | ),
19 | ]
20 |
--------------------------------------------------------------------------------
/cookbook/migrations/0112_remove_synclog_space.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.1.7 on 2021-03-16 23:21
2 |
3 | from django.db import migrations
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0111_space_created_by'),
10 | ]
11 |
12 | operations = [
13 | migrations.RemoveField(
14 | model_name='synclog',
15 | name='space',
16 | ),
17 | ]
18 |
--------------------------------------------------------------------------------
/cookbook/migrations/0113_auto_20210317_2017.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.1.7 on 2021-03-17 19:17
2 |
3 | from django.db import migrations
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0112_remove_synclog_space'),
10 | ]
11 |
12 | operations = [
13 | migrations.RemoveField(
14 | model_name='shoppinglistentry',
15 | name='space',
16 | ),
17 | migrations.RemoveField(
18 | model_name='shoppinglistrecipe',
19 | name='space',
20 | ),
21 | ]
22 |
--------------------------------------------------------------------------------
/cookbook/migrations/0117_space_max_recipes.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.1.7 on 2021-03-23 21:50
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0116_auto_20210319_0012'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='space',
15 | name='max_recipes',
16 | field=models.IntegerField(default=0),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0119_auto_20210411_2101.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.2 on 2021-04-11 19:01
2 | from django.contrib.postgres.operations import UnaccentExtension, TrigramExtension
3 | from django.db import migrations
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0118_auto_20210406_1805'),
10 | ]
11 |
12 | operations = [
13 | TrigramExtension(),
14 | UnaccentExtension(),
15 | ]
16 |
--------------------------------------------------------------------------------
/cookbook/migrations/0121_auto_20210518_1638.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.2.3 on 2021-05-18 14:38
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0120_bookmarklet'),
10 | ]
11 |
12 | operations = [
13 | migrations.AlterField(
14 | model_name='userpreference',
15 | name='search_style',
16 | field=models.CharField(choices=[('SMALL', 'Small'), ('LARGE', 'Large'), ('NEW', 'New')], default='LARGE', max_length=64),
17 | ),
18 | migrations.AlterField(
19 | model_name='userpreference',
20 | name='use_fractions',
21 | field=models.BooleanField(default=True),
22 | ),
23 | ]
24 |
--------------------------------------------------------------------------------
/cookbook/migrations/0122_auto_20210527_1712.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.2.3 on 2021-05-27 15:12
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0121_auto_20210518_1638'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='space',
15 | name='allow_files',
16 | field=models.BooleanField(default=True),
17 | ),
18 | migrations.AddField(
19 | model_name='space',
20 | name='max_users',
21 | field=models.IntegerField(default=0),
22 | ),
23 | ]
24 |
--------------------------------------------------------------------------------
/cookbook/migrations/0123_invitelink_email.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.2.3 on 2021-05-28 12:34
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0122_auto_20210527_1712'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='invitelink',
15 | name='email',
16 | field=models.EmailField(blank=True, max_length=254),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0124_alter_userpreference_theme.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.2.3 on 2021-05-30 15:53
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0123_invitelink_email'),
10 | ]
11 |
12 | operations = [
13 | migrations.AlterField(
14 | model_name='userpreference',
15 | name='theme',
16 | field=models.CharField(choices=[('BOOTSTRAP', 'Bootstrap'), ('DARKLY', 'Darkly'), ('FLATLY', 'Flatly'), ('SUPERHERO', 'Superhero'), ('TANDOOR', 'Tandoor')], default='FLATLY', max_length=128),
17 | ),
18 | ]
--------------------------------------------------------------------------------
/cookbook/migrations/0125_space_demo.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.2.3 on 2021-06-04 14:52
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0124_alter_userpreference_theme'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='space',
15 | name='demo',
16 | field=models.BooleanField(default=False),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0126_alter_userpreference_theme.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.2.3 on 2021-06-05 15:11
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0125_space_demo'),
10 | ]
11 |
12 | operations = [
13 | migrations.AlterField(
14 | model_name='userpreference',
15 | name='theme',
16 | field=models.CharField(choices=[('TANDOOR', 'Tandoor'), ('BOOTSTRAP', 'Bootstrap'), ('DARKLY', 'Darkly'), ('FLATLY', 'Flatly'), ('SUPERHERO', 'Superhero')], default='TANDOOR', max_length=128),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0127_remove_invitelink_username.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.2.3 on 2021-06-07 14:21
2 |
3 | from django.db import migrations
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0126_alter_userpreference_theme'),
10 | ]
11 |
12 | operations = [
13 | migrations.RemoveField(
14 | model_name='invitelink',
15 | name='username',
16 | ),
17 | ]
18 |
--------------------------------------------------------------------------------
/cookbook/migrations/0129_auto_20210608_1233.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.2.3 on 2021-06-08 10:33
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0128_userfile'),
10 | ]
11 |
12 | operations = [
13 | migrations.RemoveField(
14 | model_name='space',
15 | name='allow_files',
16 | ),
17 | migrations.AddField(
18 | model_name='space',
19 | name='max_file_storage_mb',
20 | field=models.IntegerField(default=0, help_text='Maximum file storage for space in MB. 0 for unlimited, -1 to disable file upload.'),
21 | ),
22 | ]
23 |
--------------------------------------------------------------------------------
/cookbook/migrations/0130_alter_userfile_file_size_kb.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.2.3 on 2021-06-08 10:42
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0129_auto_20210608_1233'),
10 | ]
11 |
12 | operations = [
13 | migrations.AlterField(
14 | model_name='userfile',
15 | name='file_size_kb',
16 | field=models.IntegerField(blank=True, default=0),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0132_sharelink_request_count.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.2.4 on 2021-06-12 18:39
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0131_auto_20210608_1929'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='sharelink',
15 | name='request_count',
16 | field=models.IntegerField(default=0),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0133_sharelink_abuse_blocked.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.2.4 on 2021-06-12 18:53
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0132_sharelink_request_count'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='sharelink',
15 | name='abuse_blocked',
16 | field=models.BooleanField(default=False),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0134_space_allow_sharing.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.2.4 on 2021-06-15 19:07
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0133_sharelink_abuse_blocked'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='space',
15 | name='allow_sharing',
16 | field=models.BooleanField(default=True),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0136_auto_20210617_1343.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.2.4 on 2021-06-17 11:43
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0135_auto_20210615_2210'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='importlog',
15 | name='imported_recipes',
16 | field=models.IntegerField(default=0),
17 | ),
18 | migrations.AddField(
19 | model_name='importlog',
20 | name='total_recipes',
21 | field=models.IntegerField(default=0),
22 | ),
23 | ]
24 |
--------------------------------------------------------------------------------
/cookbook/migrations/0139_space_created_at.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.2.4 on 2021-06-22 16:14
2 |
3 | from django.db import migrations, models
4 | import django.utils.timezone
5 |
6 |
7 | class Migration(migrations.Migration):
8 |
9 | dependencies = [
10 | ('cookbook', '0138_auto_20210617_1602'),
11 | ]
12 |
13 | operations = [
14 | migrations.AddField(
15 | model_name='space',
16 | name='created_at',
17 | field=models.DateTimeField(auto_now_add=True, default=django.utils.timezone.now),
18 | preserve_default=False,
19 | ),
20 | ]
21 |
--------------------------------------------------------------------------------
/cookbook/migrations/0140_userpreference_created_at.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.2.4 on 2021-06-22 16:19
2 |
3 | from django.db import migrations, models
4 | import django.utils.timezone
5 |
6 |
7 | class Migration(migrations.Migration):
8 |
9 | dependencies = [
10 | ('cookbook', '0139_space_created_at'),
11 | ]
12 |
13 | operations = [
14 | migrations.AddField(
15 | model_name='userpreference',
16 | name='created_at',
17 | field=models.DateTimeField(auto_now_add=True, default=django.utils.timezone.now),
18 | preserve_default=False,
19 | ),
20 | ]
21 |
--------------------------------------------------------------------------------
/cookbook/migrations/0142_alter_userpreference_search_style.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.2.5 on 2021-07-29 14:50
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0141_auto_20210713_1042'),
10 | ]
11 |
12 | operations = [
13 | migrations.AlterField(
14 | model_name='userpreference',
15 | name='search_style',
16 | field=models.CharField(choices=[('SMALL', 'Small'), ('LARGE', 'Large'), ('NEW', 'New')], default='NEW', max_length=64),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0145_alter_userpreference_search_style.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.2 on 2021-04-22 21:33
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0144_create_searchfields'),
10 | ]
11 |
12 | operations = [
13 | migrations.AlterField(
14 | model_name='userpreference',
15 | name='search_style',
16 | field=models.CharField(choices=[('SMALL', 'Small'), ('LARGE', 'Large'), ('NEW', 'New')], default='LARGE', max_length=64),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0146_alter_userpreference_use_fractions.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.2.4 on 2021-07-03 08:32
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0145_alter_userpreference_search_style'),
10 | ]
11 |
12 | operations = [
13 | migrations.AlterField(
14 | model_name='userpreference',
15 | name='use_fractions',
16 | field=models.BooleanField(default=False),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0154_auto_20210922_1705.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.2.7 on 2021-09-22 15:05
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0153_auto_20210915_2327'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='mealtype',
15 | name='color',
16 | field=models.CharField(blank=True, max_length=7, null=True),
17 | ),
18 | migrations.AddField(
19 | model_name='mealtype',
20 | name='icon',
21 | field=models.CharField(blank=True, max_length=16, null=True),
22 | ),
23 | ]
24 |
--------------------------------------------------------------------------------
/cookbook/migrations/0155_mealtype_default.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.2.7 on 2021-09-23 11:38
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0154_auto_20210922_1705'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='mealtype',
15 | name='default',
16 | field=models.BooleanField(blank=True, default=False),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0156_searchpreference_trigram_threshold.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.2.7 on 2021-09-28 16:45
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0155_mealtype_default'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='searchpreference',
15 | name='trigram_threshold',
16 | field=models.DecimalField(decimal_places=2, default=0.1, max_digits=3),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0158_userpreference_use_kj.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.2.7 on 2021-10-25 05:21
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0157_alter_searchpreference_trigram'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='userpreference',
15 | name='use_kj',
16 | field=models.BooleanField(default=False),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0161_alter_shoppinglistentry_food.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.2.8 on 2021-11-03 23:19
2 |
3 | from django.db import migrations, models
4 | import django.db.models.deletion
5 |
6 |
7 | class Migration(migrations.Migration):
8 |
9 | dependencies = [
10 | ('cookbook', '0160_delete_shoppinglist_orphans'),
11 | ]
12 |
13 | operations = [
14 | migrations.AlterField(
15 | model_name='shoppinglistentry',
16 | name='food',
17 | field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='shopping_entries', to='cookbook.food'),
18 | ),
19 | ]
20 |
--------------------------------------------------------------------------------
/cookbook/migrations/0162_userpreference_csv_delim.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.2.9 on 2021-11-30 22:00
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0161_alter_shoppinglistentry_food'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='userpreference',
15 | name='csv_delim',
16 | field=models.CharField(default=',', max_length=2),
17 | ),
18 | migrations.AddField(
19 | model_name='userpreference',
20 | name='csv_prefix',
21 | field=models.CharField(blank=True, max_length=10),
22 | ),
23 | ]
24 |
--------------------------------------------------------------------------------
/cookbook/migrations/0164_space_show_facet_count.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.2.11 on 2022-01-17 22:23
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0163_auto_20220105_0758'),
10 | ]
11 |
12 | operations = [
13 | # migrations.AddField(
14 | # model_name='space',
15 | # name='show_facet_count',
16 | # field=models.BooleanField(default=False),
17 | # ),
18 | # removed due to quick fix in 0159 migration to maintain correct order
19 | ]
20 |
--------------------------------------------------------------------------------
/cookbook/migrations/0165_remove_step_type.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.2.11 on 2022-01-18 19:19
2 |
3 | from django.db import migrations
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0164_space_show_facet_count'),
10 | ]
11 |
12 | operations = [
13 | migrations.RemoveField(
14 | model_name='step',
15 | name='type',
16 | ),
17 | ]
18 |
--------------------------------------------------------------------------------
/cookbook/migrations/0167_userpreference_left_handed.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.2.11 on 2022-01-20 22:31
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0166_alter_userpreference_shopping_add_onhand'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='userpreference',
15 | name='left_handed',
16 | field=models.BooleanField(default=False),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0168_add_unit_searchfields.py:
--------------------------------------------------------------------------------
1 | from django.db import migrations
2 |
3 | from cookbook.models import SearchFields
4 |
5 |
6 | def create_searchfields(apps, schema_editor):
7 | SearchFields.objects.create(name='Units', field='steps__ingredients__unit__name')
8 |
9 |
10 | class Migration(migrations.Migration):
11 |
12 | dependencies = [
13 | ('cookbook', '0167_userpreference_left_handed'),
14 | ]
15 |
16 | operations = [
17 | migrations.RunPython(
18 | create_searchfields
19 | ),
20 | ]
21 |
--------------------------------------------------------------------------------
/cookbook/migrations/0171_alter_searchpreference_trigram_threshold.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.2.12 on 2022-02-15 00:08
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0170_auto_20220207_1848'),
10 | ]
11 |
12 | operations = [
13 | migrations.AlterField(
14 | model_name='searchpreference',
15 | name='trigram_threshold',
16 | field=models.DecimalField(decimal_places=2, default=0.2, max_digits=3),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0172_ingredient_original_text.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.2.12 on 2022-02-25 15:19
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0171_alter_searchpreference_trigram_threshold'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='ingredient',
15 | name='original_text',
16 | field=models.CharField(blank=True, default=None, max_length=512, null=True),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0173_recipe_source_url.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.2.12 on 2022-03-04 13:39
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0172_ingredient_original_text'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='recipe',
15 | name='source_url',
16 | field=models.CharField(blank=True, default=None, max_length=1024, null=True),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0175_remove_userpreference_space.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.0.4 on 2022-05-31 14:56
2 |
3 | from django.db import migrations
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0174_alter_food_substitute_userspace'),
10 | ]
11 |
12 | operations = [
13 | migrations.RemoveField(
14 | model_name='userpreference',
15 | name='space',
16 | ),
17 | ]
18 |
--------------------------------------------------------------------------------
/cookbook/migrations/0177_recipe_show_ingredient_overview.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.0.4 on 2022-06-26 10:26
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0176_alter_searchpreference_icontains_and_more'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='recipe',
15 | name='show_ingredient_overview',
16 | field=models.BooleanField(default=True),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0178_remove_userpreference_search_style_and_more.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.0.6 on 2022-07-12 18:04
2 |
3 | from django.db import migrations
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0177_recipe_show_ingredient_overview'),
10 | ]
11 |
12 | operations = [
13 | migrations.RemoveField(
14 | model_name='userpreference',
15 | name='search_style',
16 | ),
17 | migrations.RemoveField(
18 | model_name='userpreference',
19 | name='show_recent',
20 | ),
21 | ]
22 |
--------------------------------------------------------------------------------
/cookbook/migrations/0180_invitelink_reusable.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.0.6 on 2022-07-14 09:20
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0179_recipe_private_recipe_shared'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='invitelink',
15 | name='reusable',
16 | field=models.BooleanField(default=False),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0181_space_image.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.0.6 on 2022-07-14 11:14
2 |
3 | from django.db import migrations, models
4 | import django.db.models.deletion
5 |
6 |
7 | class Migration(migrations.Migration):
8 |
9 | dependencies = [
10 | ('cookbook', '0180_invitelink_reusable'),
11 | ]
12 |
13 | operations = [
14 | migrations.AddField(
15 | model_name='space',
16 | name='image',
17 | field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='space_image', to='cookbook.userfile'),
18 | ),
19 | ]
20 |
--------------------------------------------------------------------------------
/cookbook/migrations/0182_userpreference_image.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.0.6 on 2022-07-14 13:32
2 |
3 | from django.db import migrations, models
4 | import django.db.models.deletion
5 |
6 |
7 | class Migration(migrations.Migration):
8 |
9 | dependencies = [
10 | ('cookbook', '0181_space_image'),
11 | ]
12 |
13 | operations = [
14 | migrations.AddField(
15 | model_name='userpreference',
16 | name='image',
17 | field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='user_image', to='cookbook.userfile'),
18 | ),
19 | ]
20 |
--------------------------------------------------------------------------------
/cookbook/migrations/0183_alter_space_image.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.0.6 on 2022-08-04 16:46
2 |
3 | from django.db import migrations, models
4 | import django.db.models.deletion
5 |
6 |
7 | class Migration(migrations.Migration):
8 |
9 | dependencies = [
10 | ('cookbook', '0182_userpreference_image'),
11 | ]
12 |
13 | operations = [
14 | migrations.AlterField(
15 | model_name='space',
16 | name='image',
17 | field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='space_image', to='cookbook.userfile'),
18 | ),
19 | ]
20 |
--------------------------------------------------------------------------------
/cookbook/migrations/0184_alter_userpreference_image.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.0.7 on 2022-09-12 10:29
2 |
3 | from django.db import migrations, models
4 | import django.db.models.deletion
5 |
6 |
7 | class Migration(migrations.Migration):
8 |
9 | dependencies = [
10 | ('cookbook', '0183_alter_space_image'),
11 | ]
12 |
13 | operations = [
14 | migrations.AlterField(
15 | model_name='userpreference',
16 | name='image',
17 | field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='user_image', to='cookbook.userfile'),
18 | ),
19 | ]
20 |
--------------------------------------------------------------------------------
/cookbook/migrations/0187_alter_space_use_plural.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.1.4 on 2023-01-20 09:19
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0186_automation_order_alter_automation_type'),
10 | ]
11 |
12 | operations = [
13 | migrations.AlterField(
14 | model_name='space',
15 | name='use_plural',
16 | field=models.BooleanField(default=True),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0188_space_no_sharing_limit.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.1.4 on 2023-02-12 16:44
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0187_alter_space_use_plural'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='space',
15 | name='no_sharing_limit',
16 | field=models.BooleanField(default=False),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0193_space_internal_note.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.1.9 on 2023-06-21 13:19
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0192_food_food_unique_open_data_slug_per_space_and_more'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='space',
15 | name='internal_note',
16 | field=models.TextField(blank=True, null=True),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0194_alter_food_properties_food_amount.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.1.9 on 2023-06-26 13:28
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0193_space_internal_note'),
10 | ]
11 |
12 | operations = [
13 | migrations.AlterField(
14 | model_name='food',
15 | name='properties_food_amount',
16 | field=models.DecimalField(blank=True, decimal_places=2, default=100, max_digits=16),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0196_food_url.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.1.10 on 2023-07-22 06:45
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0195_invitelink_internal_note_userspace_internal_note_and_more'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='food',
15 | name='url',
16 | field=models.CharField(blank=True, default='', max_length=1024, null=True),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0197_step_show_ingredients_table_and_more.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.1.10 on 2023-08-24 08:43
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0196_food_url'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='step',
15 | name='show_ingredients_table',
16 | field=models.BooleanField(default=True),
17 | ),
18 | migrations.AddField(
19 | model_name='userpreference',
20 | name='show_step_ingredients',
21 | field=models.BooleanField(default=True),
22 | ),
23 | ]
24 |
--------------------------------------------------------------------------------
/cookbook/migrations/0198_propertytype_order.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.1.10 on 2023-08-24 09:25
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0197_step_show_ingredients_table_and_more'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='propertytype',
15 | name='order',
16 | field=models.IntegerField(default=0),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0202_remove_space_show_facet_count.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.1.10 on 2023-09-12 13:37
2 |
3 | from django.db import migrations
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0201_rename_date_mealplan_from_date_mealplan_to_date'),
10 | ]
11 |
12 | operations = [
13 | migrations.RemoveField(
14 | model_name='space',
15 | name='show_facet_count',
16 | ),
17 | ]
18 |
--------------------------------------------------------------------------------
/cookbook/migrations/0203_alter_unique_contstraints.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.2.5 on 2023-09-14 12:26
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0202_remove_space_show_facet_count'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddConstraint(
14 | model_name='mealtype',
15 | constraint=models.UniqueConstraint(fields=('space', 'name', 'created_by'), name='mt_unique_name_per_space'),
16 | ),
17 | ]
18 |
--------------------------------------------------------------------------------
/cookbook/migrations/0204_propertytype_fdc_id.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.2.7 on 2023-11-27 21:09
2 |
3 | from django.db import migrations, models
4 | from django_scopes import scopes_disabled
5 |
6 |
7 |
8 |
9 | class Migration(migrations.Migration):
10 | dependencies = [
11 | ('cookbook', '0203_alter_unique_contstraints'),
12 | ]
13 |
14 | operations = [
15 | migrations.AddField(
16 | model_name='propertytype',
17 | name='fdc_id',
18 | field=models.CharField(blank=True, default=None, max_length=128, null=True),
19 | ),
20 | ]
21 |
--------------------------------------------------------------------------------
/cookbook/migrations/0208_space_app_name_userpreference_max_owned_spaces.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.2.7 on 2024-01-14 23:06
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0207_space_logo_color_128_space_logo_color_144_and_more'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='space',
15 | name='app_name',
16 | field=models.CharField(blank=True, max_length=40, null=True),
17 | ),
18 | migrations.AddField(
19 | model_name='userpreference',
20 | name='max_owned_spaces',
21 | field=models.IntegerField(default=100),
22 | ),
23 | ]
24 |
--------------------------------------------------------------------------------
/cookbook/migrations/0209_remove_space_use_plural.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.2.7 on 2024-01-28 07:42
2 |
3 | from django.db import migrations
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0208_space_app_name_userpreference_max_owned_spaces'),
10 | ]
11 |
12 | operations = [
13 | migrations.RemoveField(
14 | model_name='space',
15 | name='use_plural',
16 | ),
17 | ]
18 |
--------------------------------------------------------------------------------
/cookbook/migrations/0210_shoppinglistentry_updated_at.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.2.7 on 2024-01-28 10:06
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0209_remove_space_use_plural'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='shoppinglistentry',
15 | name='updated_at',
16 | field=models.DateTimeField(auto_now=True),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0211_recipebook_order.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.2.7 on 2024-02-16 19:09
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0210_shoppinglistentry_updated_at'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='recipebook',
15 | name='order',
16 | field=models.IntegerField(default=0),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0212_alter_property_property_amount.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.2.7 on 2024-02-18 07:51
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0211_recipebook_order'),
10 | ]
11 |
12 | operations = [
13 | migrations.AlterField(
14 | model_name='property',
15 | name='property_amount',
16 | field=models.DecimalField(decimal_places=4, default=None, max_digits=32, null=True),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0216_delete_shoppinglist.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.2.10 on 2024-02-28 16:21
2 |
3 | from django.db import migrations
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0215_connectorconfig'),
10 | ]
11 |
12 | operations = [
13 | migrations.DeleteModel(
14 | name='ShoppingList',
15 | ),
16 | ]
17 |
--------------------------------------------------------------------------------
/cookbook/migrations/0217_alter_userpreference_default_page.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.2.10 on 2024-03-09 06:41
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0216_delete_shoppinglist'),
10 | ]
11 |
12 | operations = [
13 | migrations.AlterField(
14 | model_name='userpreference',
15 | name='default_page',
16 | field=models.CharField(choices=[('SEARCH', 'Search'), ('PLAN', 'Meal-Plan'), ('BOOKS', 'Books'), ('SHOPPING', 'Shopping')], default='SEARCH', max_length=64),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/0219_connectorconfig_supports_description_field.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.2.15 on 2024-09-15 10:30
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('cookbook', '0218_alter_mealplan_from_date_alter_mealplan_to_date'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='connectorconfig',
15 | name='supports_description_field',
16 | field=models.BooleanField(default=True, help_text='Does the todo entity support the description field'),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/cookbook/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/migrations/__init__.py
--------------------------------------------------------------------------------
/cookbook/provider/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/provider/__init__.py
--------------------------------------------------------------------------------
/cookbook/static/assets/brand_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/assets/brand_logo.png
--------------------------------------------------------------------------------
/cookbook/static/assets/logo_color_128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/assets/logo_color_128.png
--------------------------------------------------------------------------------
/cookbook/static/assets/logo_color_144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/assets/logo_color_144.png
--------------------------------------------------------------------------------
/cookbook/static/assets/logo_color_180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/assets/logo_color_180.png
--------------------------------------------------------------------------------
/cookbook/static/assets/logo_color_192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/assets/logo_color_192.png
--------------------------------------------------------------------------------
/cookbook/static/assets/logo_color_32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/assets/logo_color_32.png
--------------------------------------------------------------------------------
/cookbook/static/assets/logo_color_512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/assets/logo_color_512.png
--------------------------------------------------------------------------------
/cookbook/static/custom/css/markdown_blockquote.css:
--------------------------------------------------------------------------------
1 | /* css classes needed to render markdown blockquotes */
2 | blockquote {
3 | background: #f9f9f9;
4 | border-left: 4px solid #ccc;
5 | margin: 1.5em 10px;
6 | padding: .5em 10px;
7 | quotes: none;
8 | }
9 |
10 | blockquote:before {
11 | color: #ccc;
12 | content: open-quote;
13 | font-size: 4em;
14 | line-height: .1em;
15 | margin-right: .25em;
16 | vertical-align: -.4em;
17 | }
18 |
19 | blockquote p {
20 | display: inline;
21 | }
--------------------------------------------------------------------------------
/cookbook/static/custom/js/form_multiselect.js:
--------------------------------------------------------------------------------
1 | $(document).ready(function () {
2 | $('.multiselectwidget').select2();
3 | });
--------------------------------------------------------------------------------
/cookbook/static/custom/js/form_select.js:
--------------------------------------------------------------------------------
1 | $(document).ready(function () {
2 | $('.selectwidget').select2();
3 | });
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/annotation-check.svg:
--------------------------------------------------------------------------------
1 |
2 |
7 |
11 |
12 |
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/annotation-insert.svg:
--------------------------------------------------------------------------------
1 |
2 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/annotation-newparagraph.svg:
--------------------------------------------------------------------------------
1 |
2 |
7 |
11 |
12 |
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/annotation-noicon.svg:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/findbarButton-next.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/findbarButton-next.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/findbarButton-next@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/findbarButton-next@2x.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/findbarButton-previous.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/findbarButton-previous.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/findbarButton-previous@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/findbarButton-previous@2x.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/grab.cur:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/grab.cur
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/grabbing.cur:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/grabbing.cur
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/loading-icon.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/loading-icon.gif
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/loading-small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/loading-small.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/loading-small@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/loading-small@2x.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/secondaryToolbarButton-documentProperties.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/secondaryToolbarButton-documentProperties.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/secondaryToolbarButton-documentProperties@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/secondaryToolbarButton-documentProperties@2x.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/secondaryToolbarButton-firstPage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/secondaryToolbarButton-firstPage.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/secondaryToolbarButton-firstPage@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/secondaryToolbarButton-firstPage@2x.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/secondaryToolbarButton-handTool.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/secondaryToolbarButton-handTool.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/secondaryToolbarButton-handTool@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/secondaryToolbarButton-handTool@2x.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/secondaryToolbarButton-lastPage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/secondaryToolbarButton-lastPage.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/secondaryToolbarButton-lastPage@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/secondaryToolbarButton-lastPage@2x.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/secondaryToolbarButton-rotateCcw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/secondaryToolbarButton-rotateCcw.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/secondaryToolbarButton-rotateCcw@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/secondaryToolbarButton-rotateCcw@2x.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/secondaryToolbarButton-rotateCw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/secondaryToolbarButton-rotateCw.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/secondaryToolbarButton-rotateCw@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/secondaryToolbarButton-rotateCw@2x.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/secondaryToolbarButton-scrollHorizontal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/secondaryToolbarButton-scrollHorizontal.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/secondaryToolbarButton-scrollHorizontal@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/secondaryToolbarButton-scrollHorizontal@2x.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/secondaryToolbarButton-scrollVertical.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/secondaryToolbarButton-scrollVertical.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/secondaryToolbarButton-scrollVertical@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/secondaryToolbarButton-scrollVertical@2x.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/secondaryToolbarButton-scrollWrapped.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/secondaryToolbarButton-scrollWrapped.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/secondaryToolbarButton-scrollWrapped@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/secondaryToolbarButton-scrollWrapped@2x.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/secondaryToolbarButton-selectTool.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/secondaryToolbarButton-selectTool.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/secondaryToolbarButton-selectTool@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/secondaryToolbarButton-selectTool@2x.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/secondaryToolbarButton-spreadEven.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/secondaryToolbarButton-spreadEven.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/secondaryToolbarButton-spreadEven@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/secondaryToolbarButton-spreadEven@2x.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/secondaryToolbarButton-spreadNone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/secondaryToolbarButton-spreadNone.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/secondaryToolbarButton-spreadNone@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/secondaryToolbarButton-spreadNone@2x.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/secondaryToolbarButton-spreadOdd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/secondaryToolbarButton-spreadOdd.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/secondaryToolbarButton-spreadOdd@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/secondaryToolbarButton-spreadOdd@2x.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/shadow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/shadow.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/texture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/texture.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/toolbarButton-bookmark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/toolbarButton-bookmark.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/toolbarButton-bookmark@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/toolbarButton-bookmark@2x.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/toolbarButton-download.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/toolbarButton-download.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/toolbarButton-download@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/toolbarButton-download@2x.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/toolbarButton-menuArrows.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/toolbarButton-menuArrows.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/toolbarButton-menuArrows@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/toolbarButton-menuArrows@2x.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/toolbarButton-openFile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/toolbarButton-openFile.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/toolbarButton-openFile@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/toolbarButton-openFile@2x.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/toolbarButton-pageDown.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/toolbarButton-pageDown.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/toolbarButton-pageDown@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/toolbarButton-pageDown@2x.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/toolbarButton-pageUp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/toolbarButton-pageUp.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/toolbarButton-pageUp@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/toolbarButton-pageUp@2x.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/toolbarButton-presentationMode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/toolbarButton-presentationMode.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/toolbarButton-presentationMode@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/toolbarButton-presentationMode@2x.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/toolbarButton-print.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/toolbarButton-print.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/toolbarButton-print@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/toolbarButton-print@2x.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/toolbarButton-search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/toolbarButton-search.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/toolbarButton-search@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/toolbarButton-search@2x.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/toolbarButton-secondaryToolbarToggle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/toolbarButton-secondaryToolbarToggle.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/toolbarButton-secondaryToolbarToggle@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/toolbarButton-secondaryToolbarToggle@2x.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/toolbarButton-sidebarToggle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/toolbarButton-sidebarToggle.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/toolbarButton-sidebarToggle@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/toolbarButton-sidebarToggle@2x.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/toolbarButton-viewAttachments.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/toolbarButton-viewAttachments.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/toolbarButton-viewAttachments@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/toolbarButton-viewAttachments@2x.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/toolbarButton-viewOutline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/toolbarButton-viewOutline.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/toolbarButton-viewOutline@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/toolbarButton-viewOutline@2x.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/toolbarButton-viewThumbnail.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/toolbarButton-viewThumbnail.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/toolbarButton-viewThumbnail@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/toolbarButton-viewThumbnail@2x.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/toolbarButton-zoomIn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/toolbarButton-zoomIn.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/toolbarButton-zoomIn@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/toolbarButton-zoomIn@2x.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/toolbarButton-zoomOut.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/toolbarButton-zoomOut.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/toolbarButton-zoomOut@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/toolbarButton-zoomOut@2x.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/treeitem-collapsed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/treeitem-collapsed.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/treeitem-collapsed@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/treeitem-collapsed@2x.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/treeitem-expanded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/treeitem-expanded.png
--------------------------------------------------------------------------------
/cookbook/static/pdfjs/images/treeitem-expanded@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/pdfjs/images/treeitem-expanded@2x.png
--------------------------------------------------------------------------------
/cookbook/static/webfonts/fa-brands-400.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/webfonts/fa-brands-400.eot
--------------------------------------------------------------------------------
/cookbook/static/webfonts/fa-brands-400.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/webfonts/fa-brands-400.ttf
--------------------------------------------------------------------------------
/cookbook/static/webfonts/fa-brands-400.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/webfonts/fa-brands-400.woff
--------------------------------------------------------------------------------
/cookbook/static/webfonts/fa-brands-400.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/webfonts/fa-brands-400.woff2
--------------------------------------------------------------------------------
/cookbook/static/webfonts/fa-regular-400.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/webfonts/fa-regular-400.eot
--------------------------------------------------------------------------------
/cookbook/static/webfonts/fa-regular-400.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/webfonts/fa-regular-400.ttf
--------------------------------------------------------------------------------
/cookbook/static/webfonts/fa-regular-400.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/webfonts/fa-regular-400.woff
--------------------------------------------------------------------------------
/cookbook/static/webfonts/fa-regular-400.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/webfonts/fa-regular-400.woff2
--------------------------------------------------------------------------------
/cookbook/static/webfonts/fa-solid-900.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/webfonts/fa-solid-900.eot
--------------------------------------------------------------------------------
/cookbook/static/webfonts/fa-solid-900.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/webfonts/fa-solid-900.ttf
--------------------------------------------------------------------------------
/cookbook/static/webfonts/fa-solid-900.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/webfonts/fa-solid-900.woff
--------------------------------------------------------------------------------
/cookbook/static/webfonts/fa-solid-900.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/webfonts/fa-solid-900.woff2
--------------------------------------------------------------------------------
/cookbook/static/webfonts/poppins_devanagari_400.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/webfonts/poppins_devanagari_400.woff2
--------------------------------------------------------------------------------
/cookbook/static/webfonts/poppins_devanagari_500.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/webfonts/poppins_devanagari_500.woff2
--------------------------------------------------------------------------------
/cookbook/static/webfonts/poppins_devanagari_700.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/webfonts/poppins_devanagari_700.woff2
--------------------------------------------------------------------------------
/cookbook/static/webfonts/poppins_latin_400.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/webfonts/poppins_latin_400.woff2
--------------------------------------------------------------------------------
/cookbook/static/webfonts/poppins_latin_500.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/webfonts/poppins_latin_500.woff2
--------------------------------------------------------------------------------
/cookbook/static/webfonts/poppins_latin_700.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/webfonts/poppins_latin_700.woff2
--------------------------------------------------------------------------------
/cookbook/static/webfonts/poppins_latin_ext_400.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/webfonts/poppins_latin_ext_400.woff2
--------------------------------------------------------------------------------
/cookbook/static/webfonts/poppins_latin_ext_500.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/webfonts/poppins_latin_ext_500.woff2
--------------------------------------------------------------------------------
/cookbook/static/webfonts/poppins_latin_ext_700.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/static/webfonts/poppins_latin_ext_700.woff2
--------------------------------------------------------------------------------
/cookbook/templates/account/logout.html:
--------------------------------------------------------------------------------
1 | {% extends "base.html" %}
2 | {% load crispy_forms_filters %}
3 | {% load i18n %}
4 |
5 | {% block title %}{% trans 'Sign Out' %}{% endblock %}
6 |
7 |
8 | {% block content %}
9 |
{% trans "Sign Out" %}
10 |
11 | {% trans 'Are you sure you want to sign out?' %}
12 |
13 |
20 |
21 |
22 | {% endblock %}
--------------------------------------------------------------------------------
/cookbook/templates/account/password_reset_from_key_done.html:
--------------------------------------------------------------------------------
1 | {% extends "base.html" %}
2 |
3 |
4 | {% load i18n %}
5 | {% load account %}
6 |
7 | {% block title %}{% trans "Change Password" %}{% endblock %}
8 |
9 | {% block content %}
10 |
11 |
12 |
13 |
{% trans "Change Password" %}
14 |
15 | {% if user.is_authenticated %}
16 | {% include "account/snippets/already_logged_in.html" %}
17 | {% endif %}
18 |
19 |
{% trans 'Your password is now changed.' %}
20 |
21 |
22 | {% endblock %}
--------------------------------------------------------------------------------
/cookbook/templates/account/signup_closed.html:
--------------------------------------------------------------------------------
1 | {% extends "base.html" %}
2 |
3 | {% load i18n %}
4 |
5 | {% block title %}{% trans "Sign Up Closed" %}{% endblock %}
6 |
7 | {% block content %}
8 |
9 |
10 |
11 |
{% trans "Sign Up Closed" %}
12 |
13 |
{% trans "We are sorry, but the sign up is currently closed." %}
14 |
15 |
{% trans "Sign In" %}
16 |
17 |
18 | {% endblock %}
--------------------------------------------------------------------------------
/cookbook/templates/api_info.html:
--------------------------------------------------------------------------------
1 | {% extends "base.html" %}
2 | {% load static %}
3 | {% load i18n %}
4 |
5 | {% block title %}{% trans "API Documentation" %}{% endblock %}
6 |
7 | {% block extra_head %}
8 |
9 | {% endblock %}
10 |
11 | {% block content_fluid %}
12 |
13 |
14 |
15 |
16 | {% endblock %}
--------------------------------------------------------------------------------
/cookbook/templates/include/storage_backend_warning.html:
--------------------------------------------------------------------------------
1 | {% load i18n %}
2 |
3 |
4 |
{% trans 'Security Warning' %}
5 |
{% blocktrans %}
6 | The Password and Token field are stored as plain text inside the database.
7 | This is necessary because they are needed to make API requests, but it also increases the risk of
8 | someone stealing it.
9 | To limit the possible damage tokens or accounts with limited access can be used.
10 | {% endblocktrans %}
11 |
--------------------------------------------------------------------------------
/cookbook/templates/no_groups_info.html:
--------------------------------------------------------------------------------
1 | {% extends "base.html" %}
2 | {% load static %}
3 | {% load i18n %}
4 |
5 | {% block title %}{% trans "No Permissions" %}{% endblock %}
6 |
7 |
8 | {% block content %}
9 |
10 |
11 |
12 |
{% trans 'No Permissions' %}
13 |
14 |
15 |
16 |
17 | {% trans 'You do not have any groups and therefor cannot use this application.' %}
18 | {% trans 'Please contact your administrator.' %}
19 |
20 |
21 |
22 |
23 |
24 | {% endblock %}
25 |
26 |
--------------------------------------------------------------------------------
/cookbook/templates/no_perm_info.html:
--------------------------------------------------------------------------------
1 | {% extends "base.html" %}
2 | {% load static %}
3 | {% load i18n %}
4 |
5 | {% block title %}{% trans "No Permission" %}{% endblock %}
6 |
7 |
8 | {% block content %}
9 |
10 |
11 |
12 |
{% trans 'No Permission' %}
13 |
14 |
15 | {% trans 'You do not have the required permissions to view this page or perform this action.' %} {% trans 'Please contact your administrator.' %}
16 |
17 |
18 |
19 | {% endblock %}
20 |
21 |
--------------------------------------------------------------------------------
/cookbook/templates/rest_framework/api.html:
--------------------------------------------------------------------------------
1 | {% extends "rest_framework/base.html" %}
2 | {% load i18n %}
3 |
4 | {% block branding %}
5 | {% trans 'Recipe Home' %}
6 | {% endblock %}
7 |
8 | {% block userlinks %}
9 |
20 |
21 | {{ block.super }}
22 |
23 | {% endblock %}
--------------------------------------------------------------------------------
/cookbook/templates/test2.html:
--------------------------------------------------------------------------------
1 | {% extends "base.html" %}
2 | {% load crispy_forms_filters %}
3 | {% load i18n %}
4 | {% load static %}
5 |
6 | {% block title %}{% trans 'Export Recipes' %}{% endblock %}
7 |
8 | {% block extra_head %}
9 | {{ form.media }}
10 | {% endblock %}
11 |
12 |
13 | {% block content %}
14 | {% trans 'Export' %}
15 |
25 | {% endblock %}
--------------------------------------------------------------------------------
/cookbook/templatetags/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/templatetags/__init__.py
--------------------------------------------------------------------------------
/cookbook/tests/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/tests/__init__.py
--------------------------------------------------------------------------------
/cookbook/tests/api/__init__.py:
--------------------------------------------------------------------------------
1 | from django.test import utils
2 | from django_scopes import scopes_disabled
3 |
4 | # disables scoping error in all queries used inside the test FUNCTIONS
5 | # FIXTURES need to have their own scopes_disabled!!
6 | # This is done by hook pytest_fixture_setup in conftest.py for all non yield fixtures
7 | utils.setup_databases = scopes_disabled()(utils.setup_databases)
8 |
--------------------------------------------------------------------------------
/cookbook/tests/api/docs/reports/tests/pytest.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cookbook/tests/edits/__init__.py:
--------------------------------------------------------------------------------
1 | from django.test import utils
2 | from django_scopes import scopes_disabled
3 |
4 | # disables scoping error in all queries used inside the test FUNCTIONS
5 | # FIXTURES need to have their own scopes_disabled!!
6 | # This is done by hook pytest_fixture_setup in conftest.py for all non yield fixtures
7 | utils.setup_databases = scopes_disabled()(utils.setup_databases)
8 |
--------------------------------------------------------------------------------
/cookbook/tests/other/__init__.py:
--------------------------------------------------------------------------------
1 | from django.test import utils
2 | from django_scopes import scopes_disabled
3 |
4 | # disables scoping error in all queries used inside the test FUNCTIONS
5 | # FIXTURES need to have their own scopes_disabled!!
6 | # This is done by hook pytest_fixture_setup in conftest.py for all non yield fixtures
7 | utils.setup_databases = scopes_disabled()(utils.setup_databases)
8 |
--------------------------------------------------------------------------------
/cookbook/tests/other/docs/reports/tests/pytest.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cookbook/tests/other/test_helpers.py:
--------------------------------------------------------------------------------
1 | from cookbook.helper.HelperFunctions import validate_import_url
2 |
3 |
4 | def test_url_validator():
5 | # neither local nor public urls without protocol are valid
6 | assert not validate_import_url('localhost:8080')
7 | assert not validate_import_url('www.google.com')
8 |
9 | # public urls with schema and parameters are valid
10 | assert validate_import_url('https://www.google.com')
11 | assert validate_import_url('https://cheatsheetseries.owasp.org/cheatsheets/Server_Side_Request_Forgery_Prevention_Cheat_Sheet.html#case-2-application-can-send-requests-to-any-external-ip-address-or-domain-name')
12 |
13 | assert not validate_import_url('https://localhost')
14 | assert not validate_import_url('http://127.0.0.1')
--------------------------------------------------------------------------------
/cookbook/tests/resources/image.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/tests/resources/image.jpg
--------------------------------------------------------------------------------
/cookbook/tests/resources/image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/cookbook/tests/resources/image.png
--------------------------------------------------------------------------------
/cookbook/tests/views/__init__.py:
--------------------------------------------------------------------------------
1 | from django.test import utils
2 | from django_scopes import scopes_disabled
3 |
4 | # disables scoping error in all queries used inside the test FUNCTIONS
5 | # FIXTURES need to have their own scopes_disabled!!
6 | # This is done by hook pytest_fixture_setup in conftest.py for all non yield fixtures
7 | utils.setup_databases = scopes_disabled()(utils.setup_databases)
8 |
--------------------------------------------------------------------------------
/cookbook/version_info.py:
--------------------------------------------------------------------------------
1 | TANDOOR_VERSION = ""
2 | TANDOOR_REF = ""
3 | VERSION_INFO = []
4 |
--------------------------------------------------------------------------------
/cookbook/views/__init__.py:
--------------------------------------------------------------------------------
1 | import cookbook.views.api
2 | import cookbook.views.data
3 | import cookbook.views.delete
4 | import cookbook.views.edit
5 | import cookbook.views.import_export
6 | import cookbook.views.lists
7 | import cookbook.views.new
8 | import cookbook.views.views
9 | import cookbook.views.telegram
10 |
11 | __all__ = [
12 | 'api',
13 | 'data',
14 | 'delete',
15 | 'edit',
16 | 'import_export',
17 | 'lists',
18 | 'new',
19 | 'views',
20 | 'telegram',
21 | ]
22 |
--------------------------------------------------------------------------------
/docs/CNAME:
--------------------------------------------------------------------------------
1 | docs.tandoor.dev
--------------------------------------------------------------------------------
/docs/contribute/assets/flake8_watcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/docs/contribute/assets/flake8_watcher.png
--------------------------------------------------------------------------------
/docs/contribute/assets/isort_watcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/docs/contribute/assets/isort_watcher.png
--------------------------------------------------------------------------------
/docs/contribute/assets/linting_error.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/docs/contribute/assets/linting_error.png
--------------------------------------------------------------------------------
/docs/contribute/assets/prettier_watcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/docs/contribute/assets/prettier_watcher.png
--------------------------------------------------------------------------------
/docs/contribute/assets/yapf_watcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/docs/contribute/assets/yapf_watcher.png
--------------------------------------------------------------------------------
/docs/install/k8s/10-configmap.yaml:
--------------------------------------------------------------------------------
1 | kind: ConfigMap
2 | apiVersion: v1
3 | metadata:
4 | labels:
5 | app: recipes
6 | name: recipes-nginx-config
7 | data:
8 | nginx-config: |-
9 | events {
10 | worker_connections 1024;
11 | }
12 | http {
13 | include mime.types;
14 | server {
15 | listen 80;
16 | server_name _;
17 |
18 | client_max_body_size 16M;
19 |
20 | # serve static files
21 | location /static/ {
22 | alias /static/;
23 | }
24 | # serve media files
25 | location /media/ {
26 | alias /media/;
27 | }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/docs/install/k8s/15-secrets.yaml:
--------------------------------------------------------------------------------
1 | kind: Secret
2 | apiVersion: v1
3 | metadata:
4 | name: recipes
5 | type: Opaque
6 | data:
7 | # echo -n 'db-password' | base64
8 | postgresql-password: ZGItcGFzc3dvcmQ=
9 | # echo -n 'postgres-user-password' | base64
10 | postgresql-postgres-password: cG9zdGdyZXMtdXNlci1wYXNzd29yZA==
11 | # echo -n 'secret-key' | sha256sum | awk '{ printf $1 }' | base64
12 | secret-key: ODVkYmUxNWQ3NWVmOTMwOGM3YWUwZjMzYzdhMzI0Y2M2ZjRiZjUxOWEyZWQyZjMwMjdiZDMzYzE0MGE0ZjlhYQ==
13 |
--------------------------------------------------------------------------------
/docs/install/k8s/20-service-account.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: ServiceAccount
3 | metadata:
4 | name: recipes
5 |
--------------------------------------------------------------------------------
/docs/install/k8s/30-pvc.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: PersistentVolumeClaim
3 | metadata:
4 | name: recipes-media
5 | labels:
6 | app: recipes
7 | spec:
8 | accessModes:
9 | - ReadWriteOnce
10 | resources:
11 | requests:
12 | storage: 1Gi
13 | ---
14 | apiVersion: v1
15 | kind: PersistentVolumeClaim
16 | metadata:
17 | name: recipes-static
18 | labels:
19 | app: recipes
20 | spec:
21 | accessModes:
22 | - ReadWriteOnce
23 | resources:
24 | requests:
25 | storage: 1Gi
26 |
--------------------------------------------------------------------------------
/docs/install/k8s/45-service-db.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | labels:
5 | app: recipes
6 | tier: database
7 | name: recipes-postgresql
8 | spec:
9 | ports:
10 | - name: postgresql
11 | port: 5432
12 | protocol: TCP
13 | targetPort: postgresql
14 | selector:
15 | app: recipes
16 | tier: database
17 | sessionAffinity: None
18 | type: ClusterIP
19 |
--------------------------------------------------------------------------------
/docs/install/k8s/60-service.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: recipes
5 | labels:
6 | app: recipes
7 | tier: frontend
8 | spec:
9 | selector:
10 | app: recipes
11 | tier: frontend
12 | environment: production
13 | ports:
14 | - port: 80
15 | targetPort: http
16 | name: http
17 | protocol: TCP
18 | - port: 8080
19 | targetPort: gunicorn
20 | name: gunicorn
21 | protocol: TCP
22 |
--------------------------------------------------------------------------------
/docs/preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/docs/preview.png
--------------------------------------------------------------------------------
/docs/preview.xcf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/docs/preview.xcf
--------------------------------------------------------------------------------
/docs/stylesheets/extra.css:
--------------------------------------------------------------------------------
1 | :root {
2 | --md-primary-fg-color: #ffcb76;
3 | --md-accent-fg-color: #FF6F00;
4 |
5 | --md-primary-fg-color--light: #ffcb76;
6 |
7 | /* not working part, has no effect */
8 | --md-primary-bg-color: #272727;
9 | --md-default-bg-color: #272727;
10 | --md-default-bg-color--light: #272727;
11 | --md-default-bg-color--lighter: #272727;
12 | --md-default-bg-color--lightest: #272727;
13 | }
14 |
15 | /*
16 | flame dark orange #FF6F00
17 | background dark #272727
18 | tandoor #ffcb76
19 | */
--------------------------------------------------------------------------------
/manage.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | import os
3 | import sys
4 |
5 | if __name__ == "__main__":
6 | os.environ.setdefault("DJANGO_SETTINGS_MODULE", "recipes.settings")
7 | try:
8 | from django.core.management import execute_from_command_line
9 | except ImportError as exc:
10 | raise ImportError(
11 | "Couldn't import Django. Are you sure it's installed and "
12 | "available on your PYTHONPATH environment variable? Did you "
13 | "forget to activate a virtual environment?"
14 | ) from exc
15 | execute_from_command_line(sys.argv)
16 |
--------------------------------------------------------------------------------
/nginx/conf.d/Recipes.conf:
--------------------------------------------------------------------------------
1 | server {
2 | listen 80;
3 | listen [::]:80 ipv6only=on;
4 | server_name localhost;
5 |
6 | client_max_body_size 128M;
7 |
8 | # serve media files
9 | location /media/ {
10 | alias /media/;
11 | add_header Content-Disposition 'attachment; filename="$args"';
12 | }
13 | # pass requests for dynamic content to gunicorn
14 | location / {
15 | proxy_set_header Host $http_host;
16 | proxy_pass http://web_recipes:8080;
17 |
18 | error_page 502 /errors/http502.html;
19 | }
20 |
21 | location /errors/ {
22 | alias /etc/nginx/conf.d/errorpages/;
23 | internal;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/node_modules/.yarn-integrity:
--------------------------------------------------------------------------------
1 | {
2 | "systemParams": "win32-x64-93",
3 | "modulesFolders": [
4 | "node_modules"
5 | ],
6 | "flags": [],
7 | "linkedModules": [],
8 | "topLevelPatterns": [],
9 | "lockfileEntries": {},
10 | "files": [],
11 | "artifacts": {}
12 | }
--------------------------------------------------------------------------------
/openapitools.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "./node_modules/@openapitools/openapi-generator-cli/config.schema.json",
3 | "spaces": 2,
4 | "generator-cli": {
5 | "version": "6.2.1"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/pyproject.toml:
--------------------------------------------------------------------------------
1 | [tool.yapf]
2 | column_limit = 179
3 | based_on_style = "pep8"
4 | DISABLE_ENDING_COMMA_HEURISTIC = false
5 | COALESCE_BRACKETS = true
6 | DEDENT_CLOSING_BRACKETS = true
7 | FORCE_MULTILINE_DICT = false
8 |
9 | [tool.isort]
10 | multi_line_output = 5
11 | skip = [".gitignore", ".dockerignore"]
12 | line_length = 179
13 |
--------------------------------------------------------------------------------
/pytest.ini:
--------------------------------------------------------------------------------
1 | [pytest]
2 | DJANGO_SETTINGS_MODULE = recipes.test_settings
3 | testpaths = cookbook/tests
4 | python_files = tests.py test_*.py *_tests.py
5 | # uncomment to run coverage reports
6 | addopts = -n auto --cov=. --cov-report=html:docs/reports/coverage --cov-report=xml:docs/reports/coverage/coverage.xml --junitxml=docs/reports/tests/pytest.xml --html=docs/reports/tests/tests.html
7 | # addopts = -n auto --junitxml=docs/reports/tests/pytest.xml --html=docs/reports/tests/tests.html
--------------------------------------------------------------------------------
/recipes/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/recipes/__init__.py
--------------------------------------------------------------------------------
/recipes/locale/ar/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/recipes/locale/ar/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/recipes/locale/bg/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/recipes/locale/bg/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/recipes/locale/ca/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/recipes/locale/ca/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/recipes/locale/cs/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/recipes/locale/cs/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/recipes/locale/da/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/recipes/locale/da/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/recipes/locale/de/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/recipes/locale/de/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/recipes/locale/el/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/recipes/locale/el/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/recipes/locale/en/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/recipes/locale/en/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/recipes/locale/es/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/recipes/locale/es/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/recipes/locale/fi/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/recipes/locale/fi/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/recipes/locale/fr/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/recipes/locale/fr/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/recipes/locale/he/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/recipes/locale/he/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/recipes/locale/hu_HU/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/recipes/locale/hu_HU/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/recipes/locale/hy/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/recipes/locale/hy/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/recipes/locale/id/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/recipes/locale/id/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/recipes/locale/it/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/recipes/locale/it/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/recipes/locale/lv/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/recipes/locale/lv/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/recipes/locale/nb_NO/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/recipes/locale/nb_NO/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/recipes/locale/nl/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/recipes/locale/nl/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/recipes/locale/pl/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/recipes/locale/pl/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/recipes/locale/pt/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/recipes/locale/pt/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/recipes/locale/pt_BR/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/recipes/locale/pt_BR/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/recipes/locale/rn/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/recipes/locale/rn/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/recipes/locale/ro/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/recipes/locale/ro/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/recipes/locale/ru/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/recipes/locale/ru/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/recipes/locale/sl/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/recipes/locale/sl/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/recipes/locale/sv/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/recipes/locale/sv/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/recipes/locale/tr/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/recipes/locale/tr/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/recipes/locale/uk/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/recipes/locale/uk/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/recipes/locale/vi/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/recipes/locale/vi/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/recipes/locale/zh_CN/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/recipes/locale/zh_CN/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/recipes/locale/zh_Hant/LC_MESSAGES/django.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/recipes/locale/zh_Hant/LC_MESSAGES/django.mo
--------------------------------------------------------------------------------
/vue/.openapi-generator/FILES:
--------------------------------------------------------------------------------
1 | .gitignore
2 | .npmignore
3 | api.ts
4 | base.ts
5 | common.ts
6 | configuration.ts
7 | git_push.sh
8 | index.ts
9 |
--------------------------------------------------------------------------------
/vue/.openapi-generator/VERSION:
--------------------------------------------------------------------------------
1 | 5.2.1
--------------------------------------------------------------------------------
/vue/.yarnrc.yml:
--------------------------------------------------------------------------------
1 | nodeLinker: node-modules
2 |
--------------------------------------------------------------------------------
/vue/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@vue/cli-plugin-babel/preset'
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/vue/babel.config.js.c:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | "@vue/cli-plugin-babel/preset"
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/vue/src/apps/CookbookView/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import App from './CookbookView.vue'
3 | import i18n from '@/i18n'
4 | import {createPinia, PiniaVuePlugin} from "pinia";
5 |
6 | Vue.config.productionTip = false
7 |
8 | // TODO move this and other default stuff to centralized JS file (verify nothing breaks)
9 | let publicPath = localStorage.STATIC_URL + 'vue/'
10 | if (process.env.NODE_ENV === 'development') {
11 | publicPath = 'http://localhost:8080/'
12 | }
13 | export default __webpack_public_path__ = publicPath // eslint-disable-line
14 |
15 | Vue.use(PiniaVuePlugin)
16 | const pinia = createPinia()
17 |
18 | new Vue({
19 | pinia,
20 | i18n,
21 | render: h => h(App),
22 | }).$mount('#app')
23 |
--------------------------------------------------------------------------------
/vue/src/apps/ExportResponseView/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import App from './ExportResponseView.vue'
3 | import i18n from '@/i18n'
4 | import {createPinia, PiniaVuePlugin} from "pinia";
5 |
6 | Vue.config.productionTip = false
7 |
8 | // TODO move this and other default stuff to centralized JS file (verify nothing breaks)
9 | let publicPath = localStorage.STATIC_URL + 'vue/'
10 | if (process.env.NODE_ENV === 'development') {
11 | publicPath = 'http://localhost:8080/'
12 | }
13 | export default __webpack_public_path__ = publicPath // eslint-disable-line
14 |
15 | Vue.use(PiniaVuePlugin)
16 | const pinia = createPinia()
17 |
18 | new Vue({
19 | pinia,
20 | i18n,
21 | render: h => h(App),
22 | }).$mount('#app')
23 |
--------------------------------------------------------------------------------
/vue/src/apps/ExportView/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import App from './ExportView.vue'
3 | import i18n from '@/i18n'
4 | import {createPinia, PiniaVuePlugin} from "pinia";
5 |
6 | Vue.config.productionTip = false
7 |
8 | // TODO move this and other default stuff to centralized JS file (verify nothing breaks)
9 | let publicPath = localStorage.STATIC_URL + 'vue/'
10 | if (process.env.NODE_ENV === 'development') {
11 | publicPath = 'http://localhost:8080/'
12 | }
13 | export default __webpack_public_path__ = publicPath // eslint-disable-line
14 |
15 | Vue.use(PiniaVuePlugin)
16 | const pinia = createPinia()
17 |
18 | new Vue({
19 | pinia,
20 | i18n,
21 | render: h => h(App),
22 | }).$mount('#app')
23 |
--------------------------------------------------------------------------------
/vue/src/apps/ImportResponseView/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import App from './ImportResponseView.vue'
3 | import i18n from '@/i18n'
4 | import {createPinia, PiniaVuePlugin} from "pinia";
5 |
6 | Vue.config.productionTip = false
7 |
8 | // TODO move this and other default stuff to centralized JS file (verify nothing breaks)
9 | let publicPath = localStorage.STATIC_URL + 'vue/'
10 | if (process.env.NODE_ENV === 'development') {
11 | publicPath = 'http://localhost:8080/'
12 | }
13 | export default __webpack_public_path__ = publicPath // eslint-disable-line
14 |
15 | Vue.use(PiniaVuePlugin)
16 | const pinia = createPinia()
17 |
18 | new Vue({
19 | pinia,
20 | i18n,
21 | render: h => h(App),
22 | }).$mount('#app')
23 |
--------------------------------------------------------------------------------
/vue/src/apps/ImportView/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import App from './ImportView.vue'
3 | import i18n from '@/i18n'
4 | import {createPinia, PiniaVuePlugin} from "pinia";
5 |
6 | Vue.config.productionTip = false
7 |
8 | // TODO move this and other default stuff to centralized JS file (verify nothing breaks)
9 | let publicPath = localStorage.STATIC_URL + 'vue/'
10 | if (process.env.NODE_ENV === 'development') {
11 | publicPath = 'http://localhost:8080/'
12 | }
13 | export default __webpack_public_path__ = publicPath // eslint-disable-line
14 |
15 | Vue.use(PiniaVuePlugin)
16 | const pinia = createPinia()
17 |
18 | new Vue({
19 | pinia,
20 | i18n,
21 | render: h => h(App),
22 | }).$mount('#app')
23 |
--------------------------------------------------------------------------------
/vue/src/apps/IngredientEditorView/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import App from './IngredientEditorView.vue'
3 | import i18n from '@/i18n'
4 | import {createPinia, PiniaVuePlugin} from "pinia";
5 |
6 | Vue.config.productionTip = false
7 |
8 | // TODO move this and other default stuff to centralized JS file (verify nothing breaks)
9 | let publicPath = localStorage.STATIC_URL + 'vue/'
10 | if (process.env.NODE_ENV === 'development') {
11 | publicPath = 'http://localhost:8080/'
12 | }
13 | export default __webpack_public_path__ = publicPath // eslint-disable-line
14 |
15 | Vue.use(PiniaVuePlugin)
16 | const pinia = createPinia()
17 |
18 | new Vue({
19 | pinia,
20 | i18n,
21 | render: h => h(App),
22 | }).$mount('#app')
23 |
--------------------------------------------------------------------------------
/vue/src/apps/MealPlanView/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import App from './MealPlanView.vue'
3 | import i18n from '@/i18n'
4 | import {createPinia, PiniaVuePlugin} from "pinia";
5 |
6 | Vue.config.productionTip = false
7 |
8 | // TODO move this and other default stuff to centralized JS file (verify nothing breaks)
9 | let publicPath = localStorage.STATIC_URL + 'vue/'
10 | if (process.env.NODE_ENV === 'development') {
11 | publicPath = 'http://localhost:8080/'
12 | }
13 | export default __webpack_public_path__ = publicPath // eslint-disable-line
14 |
15 | Vue.use(PiniaVuePlugin)
16 | const pinia = createPinia()
17 |
18 | new Vue({
19 | pinia,
20 | i18n,
21 | render: h => h(App),
22 | }).$mount('#app')
23 |
--------------------------------------------------------------------------------
/vue/src/apps/ModelListView/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import App from './ModelListView'
3 | import i18n from '@/i18n'
4 | import {createPinia, PiniaVuePlugin} from "pinia";
5 |
6 | Vue.config.productionTip = false
7 |
8 | // TODO move this and other default stuff to centralized JS file (verify nothing breaks)
9 | let publicPath = localStorage.STATIC_URL + 'vue/'
10 | if (process.env.NODE_ENV === 'development') {
11 | publicPath = 'http://localhost:8080/'
12 | }
13 | export default __webpack_public_path__ = publicPath // eslint-disable-line
14 |
15 | Vue.use(PiniaVuePlugin)
16 | const pinia = createPinia()
17 |
18 | new Vue({
19 | pinia,
20 | i18n,
21 | render: h => h(App),
22 | }).$mount('#app')
23 |
--------------------------------------------------------------------------------
/vue/src/apps/OfflineView/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import App from './OfflineView.vue'
3 | import i18n from "@/i18n";
4 | import {createPinia, PiniaVuePlugin} from "pinia";
5 |
6 | Vue.config.productionTip = false
7 |
8 | // TODO move this and other default stuff to centralized JS file (verify nothing breaks)
9 | let publicPath = localStorage.STATIC_URL + 'vue/'
10 | if (process.env.NODE_ENV === 'development') {
11 | publicPath = 'http://localhost:8080/'
12 | }
13 | export default __webpack_public_path__ = publicPath // eslint-disable-line
14 |
15 | Vue.use(PiniaVuePlugin)
16 | const pinia = createPinia()
17 |
18 | new Vue({
19 | pinia,
20 | i18n,
21 | render: h => h(App),
22 | }).$mount('#app')
23 |
--------------------------------------------------------------------------------
/vue/src/apps/ProfileView/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import App from './ProfileView.vue'
3 | import i18n from '@/i18n'
4 | import {createPinia, PiniaVuePlugin} from "pinia";
5 |
6 | Vue.config.productionTip = false
7 |
8 | // TODO move this and other default stuff to centralized JS file (verify nothing breaks)
9 | let publicPath = localStorage.STATIC_URL + 'vue/'
10 | if (process.env.NODE_ENV === 'development') {
11 | publicPath = 'http://localhost:8080/'
12 | }
13 | export default __webpack_public_path__ = publicPath // eslint-disable-line
14 |
15 | Vue.use(PiniaVuePlugin)
16 | const pinia = createPinia()
17 |
18 | new Vue({
19 | pinia,
20 | i18n,
21 | render: h => h(App),
22 | }).$mount('#app')
23 |
--------------------------------------------------------------------------------
/vue/src/apps/PropertyEditorView/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import App from './PropertyEditorView.vue'
3 | import i18n from '@/i18n'
4 | import {createPinia, PiniaVuePlugin} from "pinia";
5 |
6 | Vue.config.productionTip = false
7 |
8 | // TODO move this and other default stuff to centralized JS file (verify nothing breaks)
9 | let publicPath = localStorage.STATIC_URL + 'vue/'
10 | if (process.env.NODE_ENV === 'development') {
11 | publicPath = 'http://localhost:8080/'
12 | }
13 | export default __webpack_public_path__ = publicPath // eslint-disable-line
14 |
15 | Vue.use(PiniaVuePlugin)
16 | const pinia = createPinia()
17 |
18 | new Vue({
19 | pinia,
20 | i18n,
21 | render: h => h(App),
22 | }).$mount('#app')
23 |
--------------------------------------------------------------------------------
/vue/src/apps/RecipeEditView/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import App from './RecipeEditView'
3 | import i18n from '@/i18n'
4 | import {createPinia, PiniaVuePlugin} from "pinia";
5 |
6 | Vue.config.productionTip = false
7 |
8 | // TODO move this and other default stuff to centralized JS file (verify nothing breaks)
9 | let publicPath = localStorage.STATIC_URL + 'vue/'
10 | if (process.env.NODE_ENV === 'development') {
11 | publicPath = 'http://localhost:8080/'
12 | }
13 | export default __webpack_public_path__ = publicPath // eslint-disable-line
14 |
15 | Vue.use(PiniaVuePlugin)
16 | const pinia = createPinia()
17 |
18 | new Vue({
19 | pinia,
20 | i18n,
21 | render: h => h(App),
22 | }).$mount('#app')
23 |
--------------------------------------------------------------------------------
/vue/src/apps/RecipeSearchView/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import App from './RecipeSearchView'
3 | import i18n from '@/i18n'
4 | import {createPinia, PiniaVuePlugin} from "pinia";
5 |
6 | Vue.config.productionTip = false
7 |
8 | // TODO move this and other default stuff to centralized JS file (verify nothing breaks)
9 | let publicPath = localStorage.STATIC_URL + 'vue/'
10 | if (process.env.NODE_ENV === 'development') {
11 | publicPath = 'http://localhost:8080/'
12 | }
13 | export default __webpack_public_path__ = publicPath // eslint-disable-line
14 |
15 | Vue.use(PiniaVuePlugin)
16 | const pinia = createPinia()
17 |
18 | new Vue({
19 | pinia,
20 | i18n,
21 | render: h => h(App),
22 | }).$mount('#app')
23 |
--------------------------------------------------------------------------------
/vue/src/apps/RecipeView/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import App from './RecipeView.vue'
3 | import i18n from "@/i18n";
4 | import {createPinia, PiniaVuePlugin} from 'pinia'
5 |
6 | Vue.config.productionTip = false
7 |
8 | // TODO move this and other default stuff to centralized JS file (verify nothing breaks)
9 | let publicPath = localStorage.STATIC_URL + 'vue/'
10 | if (process.env.NODE_ENV === 'development') {
11 | publicPath = 'http://localhost:8080/'
12 | }
13 | export default __webpack_public_path__ = publicPath // eslint-disable-line
14 |
15 | Vue.use(PiniaVuePlugin)
16 | const pinia = createPinia()
17 |
18 | new Vue({
19 | pinia,
20 | i18n,
21 | render: h => h(App),
22 | }).$mount('#app')
23 |
--------------------------------------------------------------------------------
/vue/src/apps/SettingsView/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import App from './SettingsView.vue'
3 | import i18n from '@/i18n'
4 | import {createPinia, PiniaVuePlugin} from "pinia";
5 |
6 | Vue.config.productionTip = false
7 |
8 | // TODO move this and other default stuff to centralized JS file (verify nothing breaks)
9 | let publicPath = localStorage.STATIC_URL + 'vue/'
10 | if (process.env.NODE_ENV === 'development') {
11 | publicPath = 'http://localhost:8080/'
12 | }
13 | export default __webpack_public_path__ = publicPath // eslint-disable-line
14 |
15 | Vue.use(PiniaVuePlugin)
16 | const pinia = createPinia()
17 |
18 | new Vue({
19 | pinia,
20 | i18n,
21 | render: h => h(App),
22 | }).$mount('#app')
23 |
--------------------------------------------------------------------------------
/vue/src/apps/ShoppingListView/main.js:
--------------------------------------------------------------------------------
1 | import i18n from "@/i18n"
2 | import Vue from "vue"
3 | import App from "./ShoppingListView"
4 | import {createPinia, PiniaVuePlugin} from "pinia";
5 |
6 | Vue.config.productionTip = false
7 |
8 | // TODO move this and other default stuff to centralized JS file (verify nothing breaks)
9 | let publicPath = localStorage.STATIC_URL + "vue/"
10 | if (process.env.NODE_ENV === "development") {
11 | publicPath = "http://localhost:8080/"
12 | }
13 | export default __webpack_public_path__ = publicPath // eslint-disable-line
14 |
15 | Vue.use(PiniaVuePlugin)
16 | const pinia = createPinia()
17 |
18 | new Vue({
19 | pinia,
20 | i18n,
21 | render: (h) => h(App),
22 | }).$mount("#app")
23 |
--------------------------------------------------------------------------------
/vue/src/apps/SpaceManageView/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import App from './SpaceManageView.vue'
3 | import i18n from '@/i18n'
4 | import {createPinia, PiniaVuePlugin} from "pinia";
5 |
6 | Vue.config.productionTip = false
7 |
8 | // TODO move this and other default stuff to centralized JS file (verify nothing breaks)
9 | let publicPath = localStorage.STATIC_URL + 'vue/'
10 | if (process.env.NODE_ENV === 'development') {
11 | publicPath = 'http://localhost:8080/'
12 | }
13 | export default __webpack_public_path__ = publicPath // eslint-disable-line
14 |
15 | Vue.use(PiniaVuePlugin)
16 | const pinia = createPinia()
17 |
18 | new Vue({
19 | pinia,
20 | i18n,
21 | render: h => h(App),
22 | }).$mount('#app')
23 |
--------------------------------------------------------------------------------
/vue/src/apps/TestView/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import App from './TestView.vue'
3 | import i18n from '@/i18n'
4 | import {createPinia, PiniaVuePlugin} from "pinia";
5 |
6 | Vue.config.productionTip = false
7 |
8 | // TODO move this and other default stuff to centralized JS file (verify nothing breaks)
9 | let publicPath = localStorage.STATIC_URL + 'vue/'
10 | if (process.env.NODE_ENV === 'development') {
11 | publicPath = 'http://localhost:8080/'
12 | }
13 | export default __webpack_public_path__ = publicPath // eslint-disable-line
14 |
15 | Vue.use(PiniaVuePlugin)
16 | const pinia = createPinia()
17 |
18 | new Vue({
19 | pinia,
20 | i18n,
21 | render: h => h(App),
22 | }).$mount('#app')
23 |
--------------------------------------------------------------------------------
/vue/src/apps/base_app.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/vue/src/apps/base_app.js
--------------------------------------------------------------------------------
/vue/src/components/Badges/Icon.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{item.icon}}
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/vue/src/components/Badges/LinkedRecipe.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/vue/src/components/BetaWarning.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 | BETA
4 | {{ $t('warning_feature_beta') }}
5 |
6 |
7 |
8 |
13 |
14 |
--------------------------------------------------------------------------------
/vue/src/components/Buttons/DownloadPDF.vue:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
27 |
--------------------------------------------------------------------------------
/vue/src/components/ContextMenu/ContextMenuItem.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/vue/src/components/ImageViewer.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
26 |
--------------------------------------------------------------------------------
/vue/src/components/LastCooked.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{
5 | formatDate(recipe.last_cooked)
6 | }}
7 |
8 |
9 |
10 |
11 |
27 |
28 |
--------------------------------------------------------------------------------
/vue/src/components/LoadingSpinner.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
22 |
--------------------------------------------------------------------------------
/vue/src/components/Modals/SmallText.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{ value }}
4 |
5 |
6 |
7 |
21 |
--------------------------------------------------------------------------------
/vue/src/components/PdfViewer.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
29 |
--------------------------------------------------------------------------------
/vue/src/components/PinnedRecipeBar.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
20 |
21 |
--------------------------------------------------------------------------------
/vue/src/components/ScalableNumber.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
25 |
--------------------------------------------------------------------------------
/vue/src/shims-tsx.d.ts:
--------------------------------------------------------------------------------
1 | import Vue, { VNode } from 'vue'
2 |
3 | declare global {
4 | namespace JSX {
5 | // tslint:disable no-empty-interface
6 | interface Element extends VNode {}
7 | // tslint:disable no-empty-interface
8 | interface ElementClass extends Vue {}
9 | interface IntrinsicElements {
10 | [elem: string]: any
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/vue/src/shims-vue.d.ts:
--------------------------------------------------------------------------------
1 | declare module '*.vue' {
2 | import Vue from 'vue'
3 | export default Vue
4 | }
5 |
--------------------------------------------------------------------------------
/vue/src/stores/GenericApiStore.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/vue/src/stores/GenericApiStore.js
--------------------------------------------------------------------------------
/vue/src/stores/root.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TandoorRecipes/recipes/f546a4d38247a2e6d783761dcfbf0ca7c4cce25c/vue/src/stores/root.js
--------------------------------------------------------------------------------
/vue/src/utils/apiv2.js:
--------------------------------------------------------------------------------
1 | /*
2 | * Utility functions to use OpenAPIs generically
3 | * */
4 | import {ApiApiFactory} from "@/utils/openapi/api.ts";
5 |
6 | import axios from "axios";
7 | axios.defaults.xsrfCookieName = 'csrftoken'
8 | axios.defaults.xsrfHeaderName = "X-CSRFTOKEN"
9 |
10 | export class GenericAPI {
11 | constructor(model, action) {
12 | this.model = model;
13 | this.action = action;
14 | this.function_name = action + model
15 | }
16 | }
--------------------------------------------------------------------------------
/vue/src/utils/cm-widgets.ts:
--------------------------------------------------------------------------------
1 | import {WidgetType} from "@codemirror/view";
2 |
3 | class PlaceholderWidget extends WidgetType {
4 | constructor(readonly name: string) {
5 | super()
6 | }
7 |
8 | eq(other: PlaceholderWidget) {
9 | return this.name == other.name
10 | }
11 |
12 | toDOM() {
13 | const elt = document.createElement("span")
14 | elt.style.cssText = `
15 | border: 1px solid blue;
16 | border-radius: 4px;
17 | padding: 0 3px;
18 | background: lightblue;`
19 | console.log('reading name', this.name)
20 | elt.textContent = this.name
21 | return elt
22 | }
23 |
24 | ignoreEvent() {
25 | return false
26 | }
27 | }
--------------------------------------------------------------------------------
/vue/src/utils/openapi/.openapi-generator/FILES:
--------------------------------------------------------------------------------
1 | api.ts
2 | common.ts
3 | configuration.ts
4 |
--------------------------------------------------------------------------------
/vue/src/utils/openapi/.openapi-generator/VERSION:
--------------------------------------------------------------------------------
1 | 5.1.0
--------------------------------------------------------------------------------
/vue/src/utils/openapi/openapitools.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "node_modules/@openapitools/openapi-generator-cli/config.schema.json",
3 | "spaces": 2,
4 | "generator-cli": {
5 | "version": "5.1.0"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 |
--------------------------------------------------------------------------------