batch edit

This commit is contained in:
vabene1111 2018-02-08 22:22:51 +01:00
parent 59641e1af6
commit 8413383e12
10 changed files with 189 additions and 223 deletions

View File

@ -2,15 +2,15 @@
<project version="4"> <project version="4">
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="f314243c-cf5d-48a7-b986-5e05ee924c9f" name="Default" comment=""> <list default="true" id="f314243c-cf5d-48a7-b986-5e05ee924c9f" name="Default" comment="">
<change beforePath="" afterPath="$PROJECT_DIR$/cookbook/templates/batch/category.html" /> <change beforePath="" afterPath="$PROJECT_DIR$/cookbook/views/batch.py" />
<change beforePath="" afterPath="$PROJECT_DIR$/cookbook/views/edit.py" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
<change beforePath="$PROJECT_DIR$/cookbook/forms.py" afterPath="$PROJECT_DIR$/cookbook/forms.py" /> <change beforePath="$PROJECT_DIR$/cookbook/forms.py" afterPath="$PROJECT_DIR$/cookbook/forms.py" />
<change beforePath="$PROJECT_DIR$/cookbook/models.py" afterPath="$PROJECT_DIR$/cookbook/models.py" />
<change beforePath="$PROJECT_DIR$/cookbook/templates/base.html" afterPath="$PROJECT_DIR$/cookbook/templates/base.html" /> <change beforePath="$PROJECT_DIR$/cookbook/templates/base.html" afterPath="$PROJECT_DIR$/cookbook/templates/base.html" />
<change beforePath="$PROJECT_DIR$/cookbook/templates/storage/import.html" afterPath="$PROJECT_DIR$/cookbook/templates/batch/import.html" /> <change beforePath="$PROJECT_DIR$/cookbook/templates/batch/category.html" afterPath="$PROJECT_DIR$/cookbook/templates/batch/edit.html" />
<change beforePath="$PROJECT_DIR$/cookbook/templates/tables/table_template.html" afterPath="$PROJECT_DIR$/cookbook/templates/tables/table_template.html" /> <change beforePath="$PROJECT_DIR$/cookbook/templates/index.html" afterPath="$PROJECT_DIR$/cookbook/templates/index.html" />
<change beforePath="$PROJECT_DIR$/cookbook/urls.py" afterPath="$PROJECT_DIR$/cookbook/urls.py" /> <change beforePath="$PROJECT_DIR$/cookbook/urls.py" afterPath="$PROJECT_DIR$/cookbook/urls.py" />
<change beforePath="$PROJECT_DIR$/cookbook/views/api.py" afterPath="$PROJECT_DIR$/cookbook/views/api.py" /> <change beforePath="$PROJECT_DIR$/cookbook/views/__init__.py" afterPath="$PROJECT_DIR$/cookbook/views/__init__.py" />
<change beforePath="$PROJECT_DIR$/cookbook/views/views.py" afterPath="$PROJECT_DIR$/cookbook/views/views.py" /> <change beforePath="$PROJECT_DIR$/cookbook/views/views.py" afterPath="$PROJECT_DIR$/cookbook/views/views.py" />
</list> </list>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
@ -34,17 +34,6 @@
<item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" /> <item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" />
<item name="Django default" type="feb32156:DbDataSourceImpl" /> <item name="Django default" type="feb32156:DbDataSourceImpl" />
</path> </path>
<path>
<item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" />
<item name="Django default" type="feb32156:DbDataSourceImpl" />
<item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" />
</path>
<path>
<item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" />
<item name="Django default" type="feb32156:DbDataSourceImpl" />
<item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" />
<item name="main: schema" type="90513b60:SqliteImplModel$Schema" />
</path>
</expand> </expand>
<select /> <select />
</component> </component>
@ -53,11 +42,23 @@
</component> </component>
<component name="FileEditorManager"> <component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="450"> <leaf SIDE_TABS_SIZE_LIMIT_KEY="450">
<file leaf-file-name="views.py" pinned="false" current-in-tab="true"> <file leaf-file-name="views.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/cookbook/views/views.py"> <entry file="file://$PROJECT_DIR$/cookbook/views/views.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="725"> <state relative-caret-position="625">
<caret line="41" column="52" lean-forward="true" selection-start-line="41" selection-start-column="52" selection-end-line="41" selection-end-column="52" /> <caret line="46" column="40" lean-forward="true" selection-start-line="46" selection-start-column="40" selection-end-line="46" selection-end-column="40" />
<folding>
<element signature="e#0#57#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="batch.py" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/cookbook/views/batch.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="825">
<caret line="39" column="39" lean-forward="false" selection-start-line="39" selection-start-column="39" selection-end-line="39" selection-end-column="39" />
<folding> <folding>
<element signature="e#0#57#0" expanded="true" /> <element signature="e#0#57#0" expanded="true" />
</folding> </folding>
@ -68,62 +69,30 @@
<file leaf-file-name="forms.py" pinned="false" current-in-tab="false"> <file leaf-file-name="forms.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/cookbook/forms.py"> <entry file="file://$PROJECT_DIR$/cookbook/forms.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="726"> <state relative-caret-position="931">
<caret line="59" column="20" lean-forward="false" selection-start-line="59" selection-start-column="20" selection-end-line="59" selection-end-column="20" /> <caret line="87" column="0" lean-forward="true" selection-start-line="87" selection-start-column="0" selection-end-line="87" selection-end-column="0" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="models.py" pinned="false" current-in-tab="false"> <file leaf-file-name="edit.html" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/cookbook/models.py"> <entry file="file://$PROJECT_DIR$/cookbook/templates/batch/edit.html">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="375"> <state relative-caret-position="300">
<caret line="15" column="4" lean-forward="false" selection-start-line="15" selection-start-column="4" selection-end-line="15" selection-end-column="4" /> <caret line="12" column="9" lean-forward="true" selection-start-line="12" selection-start-column="9" selection-end-line="12" selection-end-column="9" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="base.html" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/cookbook/templates/base.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="826">
<caret line="42" column="22" lean-forward="false" selection-start-line="42" selection-start-column="22" selection-end-line="42" selection-end-column="22" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="category.html" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/cookbook/templates/batch/category.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="400">
<caret line="16" column="11" lean-forward="false" selection-start-line="16" selection-start-column="11" selection-end-line="16" selection-end-column="11" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="urls.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/cookbook/urls.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="500">
<caret line="20" column="0" lean-forward="false" selection-start-line="20" selection-start-column="0" selection-end-line="20" selection-end-column="0" />
<folding>
<element signature="e#0#28#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
</leaf> </leaf>
</component> </component>
<component name="FileTemplateManagerImpl"> <component name="FileTemplateManagerImpl">
<option name="RECENT_TEMPLATES"> <option name="RECENT_TEMPLATES">
<list> <list>
<option value="Python Script" />
<option value="HTML File" /> <option value="HTML File" />
<option value="Python Script" />
</list> </list>
</option> </option>
</component> </component>
@ -160,7 +129,6 @@
<option value="$PROJECT_DIR$/Recipies/settings.py" /> <option value="$PROJECT_DIR$/Recipies/settings.py" />
<option value="$PROJECT_DIR$/cookbook/api.py" /> <option value="$PROJECT_DIR$/cookbook/api.py" />
<option value="$PROJECT_DIR$/cookbook/dropbox.py" /> <option value="$PROJECT_DIR$/cookbook/dropbox.py" />
<option value="$PROJECT_DIR$/cookbook/views/__init__.py" />
<option value="$PROJECT_DIR$/recipes/urls.py" /> <option value="$PROJECT_DIR$/recipes/urls.py" />
<option value="$PROJECT_DIR$/recipes/wsgi.py" /> <option value="$PROJECT_DIR$/recipes/wsgi.py" />
<option value="$PROJECT_DIR$/cookbook/templates/storage/import.html" /> <option value="$PROJECT_DIR$/cookbook/templates/storage/import.html" />
@ -168,16 +136,19 @@
<option value="$PROJECT_DIR$/recipes/settings.py" /> <option value="$PROJECT_DIR$/recipes/settings.py" />
<option value="$APPLICATION_CONFIG_DIR$/consoles/db/b165bb40-b588-4413-81a1-07015656a7cb/console.sql" /> <option value="$APPLICATION_CONFIG_DIR$/consoles/db/b165bb40-b588-4413-81a1-07015656a7cb/console.sql" />
<option value="$PROJECT_DIR$/cookbook/templates/new_recipe.html" /> <option value="$PROJECT_DIR$/cookbook/templates/new_recipe.html" />
<option value="$PROJECT_DIR$/cookbook/templates/index.html" />
<option value="$PROJECT_DIR$/cookbook/views/api.py" /> <option value="$PROJECT_DIR$/cookbook/views/api.py" />
<option value="$PROJECT_DIR$/cookbook/templates/tables/table_template.html" /> <option value="$PROJECT_DIR$/cookbook/templates/tables/table_template.html" />
<option value="$PROJECT_DIR$/cookbook/templates/batch/category.html" />
<option value="$PROJECT_DIR$/cookbook/urls.py" />
<option value="$PROJECT_DIR$/cookbook/templates/base.html" />
<option value="$PROJECT_DIR$/cookbook/forms.py" />
<option value="$PROJECT_DIR$/cookbook/models.py" /> <option value="$PROJECT_DIR$/cookbook/models.py" />
<option value="$PROJECT_DIR$/cookbook/helper/dropbox.py" /> <option value="$PROJECT_DIR$/cookbook/helper/dropbox.py" />
<option value="$PROJECT_DIR$/cookbook/templates/index.html" />
<option value="$PROJECT_DIR$/cookbook/templates/batch/category.html" />
<option value="$PROJECT_DIR$/cookbook/templates/base.html" />
<option value="$PROJECT_DIR$/cookbook/views/edit.py" />
<option value="$PROJECT_DIR$/cookbook/views/views.py" /> <option value="$PROJECT_DIR$/cookbook/views/views.py" />
<option value="$PROJECT_DIR$/cookbook/urls.py" />
<option value="$PROJECT_DIR$/cookbook/views/__init__.py" />
<option value="$PROJECT_DIR$/cookbook/forms.py" />
<option value="$PROJECT_DIR$/cookbook/views/batch.py" />
</list> </list>
</option> </option>
</component> </component>
@ -293,7 +264,7 @@
<property name="WebServerToolWindowFactoryState" value="false" /> <property name="WebServerToolWindowFactoryState" value="false" />
<property name="DefaultHtmlFileTemplate" value="HTML File" /> <property name="DefaultHtmlFileTemplate" value="HTML File" />
<property name="com.intellij.database.dataSource.DataSourceTemplate" value="Sqlite (Xerial)" /> <property name="com.intellij.database.dataSource.DataSourceTemplate" value="Sqlite (Xerial)" />
<property name="SearchEverywhereHistoryKey" value="dropb&#9;FILE&#9;file://F:/Developement/Django/Recipies/cookbook/helper/dropbox.py&#10;model&#9;FILE&#9;file://F:/Developement/Django/Recipies/cookbook/models.py&#10;urls&#9;FILE&#9;file://F:/Developement/Django/Recipies/cookbook/urls.py&#10;base&#9;FILE&#9;file://F:/Developement/Django/Recipies/cookbook/templates/base.html&#10;views&#9;FILE&#9;file://F:/Developement/Django/Recipies/cookbook/views/views.py&#10;import&#9;FILE&#9;file://F:/Developement/Django/Recipies/cookbook/templates/storage/import.html&#10;api&#9;FILE&#9;file://F:/Developement/Django/Recipies/cookbook/views/api.py&#10;new_rec&#9;FILE&#9;file://F:/Developement/Django/Recipies/cookbook/templates/new_recipe.html&#10;forms&#9;FILE&#9;file://F:/Developement/Django/Recipies/cookbook/forms.py&#10;inde&#9;FILE&#9;file://F:/Developement/Django/Recipies/cookbook/templates/index.html&#10;setting&#9;FILE&#9;file://F:/Developement/Django/Recipies/recipes/settings.py&#10;tables&#9;FILE&#9;file://F:/Developement/Django/Recipies/cookbook/tables.py&#10;models&#9;FILE&#9;file://F:/Developement/Django/Recipies/cookbook/models.py&#10;new_&#9;FILE&#9;file://C:/Users/bene/Documents/Developement/Django/recipies/cookbook/templates/new_keyword.html&#10;tabl&#9;FILE&#9;file://C:/Users/bene/Documents/Developement/Django/recipies/cookbook/tables.py&#10;tablees&#9;null&#9;null&#10;view&#9;FILE&#9;file://C:/Users/bene/Documents/Developement/Django/recipies/cookbook/views.py&#10;sett&#9;FILE&#9;file://C:/Users/bene/Documents/Developement/Django/recipies/Recipies/settings.py&#10;settings&#9;FILE&#9;file://F:/Developement/Django/Recipies/Recipies/settings.py&#10;mode&#9;FILE&#9;file://F:/Developement/Django/Recipies/cookbook/models.py&#10;settin&#9;FILE&#9;file://F:/Developement/Django/Recipies/Recipies/settings.py" /> <property name="SearchEverywhereHistoryKey" value="base&#9;FILE&#9;file://F:/Developement/Django/Recipies/cookbook/templates/base.html&#10;urls&#9;FILE&#9;file://F:/Developement/Django/Recipies/cookbook/urls.py&#10;index&#9;FILE&#9;file://F:/Developement/Django/Recipies/cookbook/templates/index.html&#10;dropb&#9;FILE&#9;file://F:/Developement/Django/Recipies/cookbook/helper/dropbox.py&#10;model&#9;FILE&#9;file://F:/Developement/Django/Recipies/cookbook/models.py&#10;views&#9;FILE&#9;file://F:/Developement/Django/Recipies/cookbook/views/views.py&#10;import&#9;FILE&#9;file://F:/Developement/Django/Recipies/cookbook/templates/storage/import.html&#10;api&#9;FILE&#9;file://F:/Developement/Django/Recipies/cookbook/views/api.py&#10;new_rec&#9;FILE&#9;file://F:/Developement/Django/Recipies/cookbook/templates/new_recipe.html&#10;forms&#9;FILE&#9;file://F:/Developement/Django/Recipies/cookbook/forms.py&#10;inde&#9;FILE&#9;file://F:/Developement/Django/Recipies/cookbook/templates/index.html&#10;setting&#9;FILE&#9;file://F:/Developement/Django/Recipies/recipes/settings.py&#10;tables&#9;FILE&#9;file://F:/Developement/Django/Recipies/cookbook/tables.py&#10;models&#9;FILE&#9;file://F:/Developement/Django/Recipies/cookbook/models.py&#10;new_&#9;FILE&#9;file://C:/Users/bene/Documents/Developement/Django/recipies/cookbook/templates/new_keyword.html&#10;tabl&#9;FILE&#9;file://C:/Users/bene/Documents/Developement/Django/recipies/cookbook/tables.py&#10;tablees&#9;null&#9;null&#10;view&#9;FILE&#9;file://C:/Users/bene/Documents/Developement/Django/recipies/cookbook/views.py&#10;sett&#9;FILE&#9;file://C:/Users/bene/Documents/Developement/Django/recipies/Recipies/settings.py&#10;settings&#9;FILE&#9;file://F:/Developement/Django/Recipies/Recipies/settings.py&#10;mode&#9;FILE&#9;file://F:/Developement/Django/Recipies/cookbook/models.py&#10;settin&#9;FILE&#9;file://F:/Developement/Django/Recipies/Recipies/settings.py" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/venv" /> <property name="last_opened_file_path" value="$PROJECT_DIR$/venv" />
</component> </component>
<component name="RecentsManager"> <component name="RecentsManager">
@ -320,8 +291,8 @@
<option name="INTERPRETER_OPTIONS" value="" /> <option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" /> <option name="PARENT_ENVS" value="true" />
<envs> <envs>
<env name="DJANGO_SETTINGS_MODULE" value="recipes.settings" />
<env name="PYTHONUNBUFFERED" value="1" /> <env name="PYTHONUNBUFFERED" value="1" />
<env name="DJANGO_SETTINGS_MODULE" value="recipes.settings" />
</envs> </envs>
<option name="SDK_HOME" value="F:\Developement\Django\Recipies\venv\Scripts\python.exe" /> <option name="SDK_HOME" value="F:\Developement\Django\Recipies\venv\Scripts\python.exe" />
<option name="WORKING_DIRECTORY" value="" /> <option name="WORKING_DIRECTORY" value="" />
@ -366,21 +337,21 @@
<window_info id="Python Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3286385" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> <window_info id="Python Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3286385" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25821596" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" /> <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25821596" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3286385" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3286385" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Database Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32968178" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" /> <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.1856764" sideWeight="0.5" order="1" side_tool="false" content_ui="combo" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.17931035" sideWeight="0.5" order="1" side_tool="false" content_ui="combo" />
<window_info id="Docker" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="false" weight="0.33" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> <window_info id="Docker" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="false" weight="0.33" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.12387268" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.12387268" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="SciView" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> <window_info id="SciView" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="true" content_ui="tabs" /> <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="true" content_ui="tabs" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.39958268" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" /> <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.39958268" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" /> <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="11" side_tool="false" content_ui="tabs" /> <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="11" side_tool="false" content_ui="tabs" />
<window_info id="manage.py@Recipies" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32915568" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> <window_info id="manage.py@Recipies" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32915568" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Database Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32968178" sideWeight="0.5" order="13" side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="combo" /> <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="combo" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
</layout> </layout>
</component> </component>
@ -399,16 +370,17 @@
</properties> </properties>
</breakpoint> </breakpoint>
</default-breakpoints> </default-breakpoints>
<option name="time" value="25" /> <option name="time" value="28" />
</breakpoint-manager> </breakpoint-manager>
<watches-manager> <watches-manager />
<configuration name="Python.DjangoServer">
<watch expression="(Category.objects.filter(name=category).get('id'))" language="Python" />
</configuration>
</watches-manager>
</component> </component>
<component name="debuggerHistoryManager"> <component name="debuggerHistoryManager">
<expressions id="watch"> <expressions id="watch">
<expression>
<expression-string>keyword.__sizeof__()</expression-string>
<language-id>Python</language-id>
<evaluation-mode>EXPRESSION</evaluation-mode>
</expression>
<expression> <expression>
<expression-string>(Category.objects.filter(name=category).get('id'))</expression-string> <expression-string>(Category.objects.filter(name=category).get('id'))</expression-string>
<language-id>Python</language-id> <language-id>Python</language-id>
@ -447,35 +419,10 @@
</expressions> </expressions>
</component> </component>
<component name="editorHistoryManager"> <component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/cookbook/templates/index.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="75">
<caret line="3" column="0" lean-forward="false" selection-start-line="3" selection-start-column="0" selection-end-line="3" selection-end-column="38" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cookbook/templates/new_category.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="50">
<caret line="2" column="31" lean-forward="false" selection-start-line="2" selection-start-column="31" selection-end-line="2" selection-end-column="31" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cookbook/views/views.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="49" lean-forward="false" selection-start-line="0" selection-start-column="49" selection-end-line="0" selection-end-column="49" />
<folding>
<element signature="e#0#57#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/recipes/settings.py"> <entry file="file://$PROJECT_DIR$/recipes/settings.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="287"> <state relative-caret-position="287">
<caret line="47" column="4" lean-forward="false" selection-start-line="47" selection-start-column="4" selection-end-line="47" selection-end-column="4" /> <caret line="47" column="4" lean-forward="false" selection-start-line="47" selection-start-column="4" selection-end-line="47" selection-end-column="4" />
<folding />
</state> </state>
</provider> </provider>
</entry> </entry>
@ -544,7 +491,6 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0"> <state relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state> </state>
</provider> </provider>
</entry> </entry>
@ -556,16 +502,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/cookbook/views/__init__.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="50">
<caret line="2" column="0" lean-forward="true" selection-start-line="2" selection-start-column="0" selection-end-line="2" selection-end-column="0" />
<folding>
<element signature="e#0#34#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cookbook/helper/__init__.py"> <entry file="file://$PROJECT_DIR$/cookbook/helper/__init__.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0"> <state relative-caret-position="0">
@ -578,7 +514,6 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="25"> <state relative-caret-position="25">
<caret line="1" column="23" lean-forward="false" selection-start-line="1" selection-start-column="23" selection-end-line="1" selection-end-column="23" /> <caret line="1" column="23" lean-forward="false" selection-start-line="1" selection-start-column="23" selection-end-line="1" selection-end-column="23" />
<folding />
</state> </state>
</provider> </provider>
</entry> </entry>
@ -586,7 +521,6 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="700"> <state relative-caret-position="700">
<caret line="28" column="15" lean-forward="false" selection-start-line="28" selection-start-column="0" selection-end-line="28" selection-end-column="15" /> <caret line="28" column="15" lean-forward="false" selection-start-line="28" selection-start-column="0" selection-end-line="28" selection-end-column="15" />
<folding />
</state> </state>
</provider> </provider>
</entry> </entry>
@ -594,7 +528,6 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0"> <state relative-caret-position="0">
<caret line="0" column="10" lean-forward="false" selection-start-line="0" selection-start-column="10" selection-end-line="0" selection-end-column="10" /> <caret line="0" column="10" lean-forward="false" selection-start-line="0" selection-start-column="10" selection-end-line="0" selection-end-column="10" />
<folding />
</state> </state>
</provider> </provider>
</entry> </entry>
@ -602,9 +535,6 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="200"> <state relative-caret-position="200">
<caret line="8" column="65" lean-forward="false" selection-start-line="8" selection-start-column="55" selection-end-line="8" selection-end-column="65" /> <caret line="8" column="65" lean-forward="false" selection-start-line="8" selection-start-column="55" selection-end-line="8" selection-end-column="65" />
<folding>
<element signature="e#0#31#0" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@ -612,7 +542,6 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="500"> <state relative-caret-position="500">
<caret line="20" column="36" lean-forward="false" selection-start-line="20" selection-start-column="36" selection-end-line="20" selection-end-column="36" /> <caret line="20" column="36" lean-forward="false" selection-start-line="20" selection-start-column="36" selection-end-line="20" selection-end-column="36" />
<folding />
</state> </state>
</provider> </provider>
</entry> </entry>
@ -620,7 +549,6 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="625"> <state relative-caret-position="625">
<caret line="25" column="0" lean-forward="false" selection-start-line="25" selection-start-column="0" selection-end-line="25" selection-end-column="0" /> <caret line="25" column="0" lean-forward="false" selection-start-line="25" selection-start-column="0" selection-end-line="25" selection-end-column="0" />
<folding />
</state> </state>
</provider> </provider>
</entry> </entry>
@ -628,7 +556,6 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0"> <state relative-caret-position="0">
<caret line="0" column="27" lean-forward="false" selection-start-line="0" selection-start-column="27" selection-end-line="0" selection-end-column="27" /> <caret line="0" column="27" lean-forward="false" selection-start-line="0" selection-start-column="27" selection-end-line="0" selection-end-column="27" />
<folding />
</state> </state>
</provider> </provider>
</entry> </entry>
@ -657,7 +584,6 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="125"> <state relative-caret-position="125">
<caret line="5" column="14" lean-forward="true" selection-start-line="5" selection-start-column="14" selection-end-line="5" selection-end-column="14" /> <caret line="5" column="14" lean-forward="true" selection-start-line="5" selection-start-column="14" selection-end-line="5" selection-end-column="14" />
<folding />
</state> </state>
</provider> </provider>
</entry> </entry>
@ -665,18 +591,6 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="350"> <state relative-caret-position="350">
<caret line="14" column="32" lean-forward="true" selection-start-line="14" selection-start-column="32" selection-end-line="14" selection-end-column="32" /> <caret line="14" column="32" lean-forward="true" selection-start-line="14" selection-start-column="32" selection-end-line="14" selection-end-column="32" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cookbook/templates/index.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="801">
<caret line="59" column="20" lean-forward="false" selection-start-line="59" selection-start-column="20" selection-end-line="59" selection-end-column="20" />
<folding>
<element signature="e#1704#1711#1#HTML" expanded="false" />
<element signature="e#1812#1838#0#HTML" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@ -684,9 +598,6 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="350"> <state relative-caret-position="350">
<caret line="14" column="0" lean-forward="true" selection-start-line="14" selection-start-column="0" selection-end-line="14" selection-end-column="0" /> <caret line="14" column="0" lean-forward="true" selection-start-line="14" selection-start-column="0" selection-end-line="14" selection-end-column="0" />
<folding>
<element signature="e#0#36#0" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@ -694,7 +605,6 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="175"> <state relative-caret-position="175">
<caret line="7" column="82" lean-forward="false" selection-start-line="7" selection-start-column="82" selection-end-line="7" selection-end-column="82" /> <caret line="7" column="82" lean-forward="false" selection-start-line="7" selection-start-column="82" selection-end-line="7" selection-end-column="82" />
<folding />
</state> </state>
</provider> </provider>
</entry> </entry>
@ -709,49 +619,6 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="175"> <state relative-caret-position="175">
<caret line="7" column="19" lean-forward="true" selection-start-line="0" selection-start-column="0" selection-end-line="18" selection-end-column="14" /> <caret line="7" column="19" lean-forward="true" selection-start-line="0" selection-start-column="0" selection-end-line="18" selection-end-column="14" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cookbook/urls.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="500">
<caret line="20" column="0" lean-forward="false" selection-start-line="20" selection-start-column="0" selection-end-line="20" selection-end-column="0" />
<folding>
<element signature="e#0#28#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cookbook/templates/batch/category.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="400">
<caret line="16" column="11" lean-forward="false" selection-start-line="16" selection-start-column="11" selection-end-line="16" selection-end-column="11" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cookbook/templates/base.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="826">
<caret line="42" column="22" lean-forward="false" selection-start-line="42" selection-start-column="22" selection-end-line="42" selection-end-column="22" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cookbook/models.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="375">
<caret line="15" column="4" lean-forward="false" selection-start-line="15" selection-start-column="4" selection-end-line="15" selection-end-column="4" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cookbook/forms.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="726">
<caret line="59" column="20" lean-forward="false" selection-start-line="59" selection-start-column="20" selection-end-line="59" selection-end-column="20" />
<folding />
</state> </state>
</provider> </provider>
</entry> </entry>
@ -759,14 +626,95 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="625"> <state relative-caret-position="625">
<caret line="30" column="0" lean-forward="false" selection-start-line="30" selection-start-column="0" selection-end-line="30" selection-end-column="0" /> <caret line="30" column="0" lean-forward="false" selection-start-line="30" selection-start-column="0" selection-end-line="30" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cookbook/templates/index.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-19">
<caret line="52" column="47" lean-forward="false" selection-start-line="52" selection-start-column="47" selection-end-line="52" selection-end-column="47" />
</state>
</provider>
</entry>
<entry file="jar://$APPLICATION_HOME_DIR$/lib/pycharm.jar!/resources/html5-schema/html5/aria.rnc">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="462">
<caret line="1297" column="22" lean-forward="false" selection-start-line="1297" selection-start-column="22" selection-end-line="1297" selection-end-column="22" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cookbook/views/edit.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/cookbook/views/views.py"> <entry file="file://$PROJECT_DIR$/cookbook/views/views.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="725"> <state relative-caret-position="625">
<caret line="41" column="52" lean-forward="true" selection-start-line="41" selection-start-column="52" selection-end-line="41" selection-end-column="52" /> <caret line="46" column="40" lean-forward="true" selection-start-line="46" selection-start-column="40" selection-end-line="46" selection-end-column="40" />
<folding>
<element signature="e#0#57#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cookbook/views/__init__.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="75">
<caret line="3" column="24" lean-forward="false" selection-start-line="3" selection-start-column="24" selection-end-line="3" selection-end-column="24" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cookbook/urls.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="500">
<caret line="20" column="0" lean-forward="true" selection-start-line="20" selection-start-column="0" selection-end-line="20" selection-end-column="0" />
<folding>
<element signature="e#0#28#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cookbook/templates/batch/edit.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="300">
<caret line="12" column="9" lean-forward="true" selection-start-line="12" selection-start-column="9" selection-end-line="12" selection-end-column="9" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cookbook/templates/base.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1306">
<caret line="73" column="0" lean-forward="false" selection-start-line="73" selection-start-column="0" selection-end-line="73" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cookbook/models.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="800">
<caret line="32" column="30" lean-forward="false" selection-start-line="32" selection-start-column="30" selection-end-line="32" selection-end-column="30" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cookbook/forms.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="931">
<caret line="87" column="0" lean-forward="true" selection-start-line="87" selection-start-column="0" selection-end-line="87" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cookbook/views/batch.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="825">
<caret line="39" column="39" lean-forward="false" selection-start-line="39" selection-start-column="39" selection-end-line="39" selection-end-column="39" />
<folding> <folding>
<element signature="e#0#57#0" expanded="true" /> <element signature="e#0#57#0" expanded="true" />
</folding> </folding>

View File

@ -86,13 +86,13 @@ class ImportForm(forms.Form):
self.helper.add_input(Submit('import', _('Import'), css_class='btn-primary')) self.helper.add_input(Submit('import', _('Import'), css_class='btn-primary'))
class BatchCategoryForm(forms.Form): class BatchEditForm(forms.Form):
search = forms.CharField(label=_('Search String')) search = forms.CharField(label=_('Search String'))
category = forms.ModelChoiceField(queryset=Category.objects.all().order_by('id')) category = forms.ModelChoiceField(queryset=Category.objects.all().order_by('id'), required=False)
keyword = forms.ModelMultipleChoiceField(queryset=Keyword.objects.all().order_by('id'), required=False)
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
super(BatchCategoryForm, self).__init__(*args, **kwargs) super(BatchEditForm, self).__init__(*args, **kwargs)
self.helper = FormHelper() self.helper = FormHelper()
self.helper.form_method = 'post' self.helper.form_method = 'post'
self.helper.add_input(Submit('import', _('Import'), css_class='btn-primary')) self.helper.add_input(Submit('update', _('Update'), css_class='btn-primary'))

View File

@ -49,7 +49,7 @@
</a> </a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink"> <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<a class="dropdown-item" href="{% url 'batch_import' %}">{% trans 'Import' %}</a> <a class="dropdown-item" href="{% url 'batch_import' %}">{% trans 'Import' %}</a>
<a class="dropdown-item" href="{% url 'batch_category' %}">{% trans 'Mass Category' %}</a> <a class="dropdown-item" href="{% url 'batch_edit' %}">{% trans 'Batch Edit' %}</a>
</div> </div>
</li> </li>
</ul> </ul>

View File

@ -8,8 +8,8 @@
{% block content %} {% block content %}
<h3> <h3>
{% trans 'Batch edit Category' %} {% trans 'Batch edit Recipes' %}
<small class="text-muted">{% trans 'Add the specified category to all recipes containing a word' %}</small> <small class="text-muted">{% trans 'Add the specified category and keywords to all recipes containing a word' %}</small>
</h3> </h3>
<form method="POST" class="post-form">{% csrf_token %} <form method="POST" class="post-form">{% csrf_token %}

View File

@ -60,7 +60,7 @@
</div> </div>
<div class="modal-body" style="text-align: center"> <div class="modal-body" style="text-align: center">
<div class="loader" id="div_loader"></div> <div class="loader" id="div_loader"></div>
<a href="" id="a_recipe_open" target="_blank" onclick="afterClick()"></a> <a href="" id="a_recipe_open" target="_blank" onclick="afterClick()" style="font-size: 250%"></a>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">

View File

@ -1,6 +1,6 @@
from django.urls import path from django.urls import path
from . import views from .views import *
from cookbook.views import api from cookbook.views import api
urlpatterns = [ urlpatterns = [
@ -13,8 +13,8 @@ urlpatterns = [
path('edit/category/<int:category_id>/', views.edit_category, name='edit_category'), path('edit/category/<int:category_id>/', views.edit_category, name='edit_category'),
path('edit/keyword/<int:keyword_id>/', views.new_keyword, name='edit_keyword'), path('edit/keyword/<int:keyword_id>/', views.new_keyword, name='edit_keyword'),
path('batch/import', views.batch_import, name='batch_import'), path('batch/import', batch.batch_import, name='batch_import'),
path('batch/category', views.batch_category, name='batch_category'), path('batch/category', batch.batch_edit, name='batch_edit'),
path('api/get_file_link/<int:recipe_id>/', api.get_file_link, name='get_file_link'), path('api/get_file_link/<int:recipe_id>/', api.get_file_link, name='get_file_link'),
] ]

View File

@ -1,2 +1,4 @@
from cookbook.views.views import * from cookbook.views.views import *
from cookbook.views.api import * from cookbook.views.api import *
from cookbook.views.batch import *
from cookbook.views.edit import *

44
cookbook/views/batch.py Normal file
View File

@ -0,0 +1,44 @@
from django.contrib.auth.decorators import login_required
from django.shortcuts import redirect, render
from cookbook.forms import ImportForm, BatchEditForm
from cookbook.helper import dropbox
from cookbook.models import Recipe, Category
@login_required
def batch_import(request):
if request.method == "POST":
form = ImportForm(request.POST)
if form.is_valid():
dropbox.import_all(form.cleaned_data['path'])
return redirect('index')
else:
form = ImportForm()
return render(request, 'batch/import.html', {'form': form})
@login_required
def batch_edit(request):
if request.method == "POST":
form = BatchEditForm(request.POST)
if form.is_valid():
word = form.cleaned_data['search']
category = form.cleaned_data['category']
keyword = form.cleaned_data['keyword']
recipes = Recipe.objects.filter(name__contains=word)
for recipe in recipes:
if category is not None:
recipe.category = Category.objects.get(name=category)
if keyword.__sizeof__() > 0:
recipe.keywords.add(*list(keyword))
recipe.save()
return redirect('batch_edit')
else:
form = BatchEditForm()
return render(request, 'batch/edit.html', {'form': form})

0
cookbook/views/edit.py Normal file
View File

View File

@ -20,34 +20,6 @@ def index(request):
return render(request, 'index.html') return render(request, 'index.html')
@login_required
def batch_import(request):
if request.method == "POST":
form = ImportForm(request.POST)
if form.is_valid():
dropbox.import_all(form.cleaned_data['path'])
return redirect('index')
else:
form = ImportForm()
return render(request, 'batch/import.html', {'form': form})
@login_required
def batch_category(request):
if request.method == "POST":
form = BatchCategoryForm(request.POST)
if form.is_valid():
word = form.cleaned_data['search']
category = form.cleaned_data['category']
Recipe.objects.filter(name__contains=word).update(category=(Category.objects.get(name=category)).id)
return redirect('index')
else:
form = BatchCategoryForm()
return render(request, 'batch/category.html', {'form': form})
@login_required @login_required
def edit_recipe(request, recipe_id): def edit_recipe(request, recipe_id):
if request.method == "POST": if request.method == "POST":