SimpleDomControl 0.55.4__tar.gz → 0.56.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/PKG-INFO +5 -2
- simpledomcontrol-0.56.0/README.md +5 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/pyproject.toml +4 -1
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/consumers.py +8 -8
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/management/commands/init_add/add_model_manager.py +15 -12
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/management/commands/sdc_get_model_infos.py +8 -8
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/sdc_extentions/models.py +42 -7
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/sdc_extentions/response.py +6 -8
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/template_files/Assets/gulpfile.jsx +13 -2
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/template_files/controller/template_controller.js.txt +16 -2
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/template_files/package.json +1 -1
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/Assets/src/sdc_tools/controller/sdc_navigator/sdc_navigator.js +0 -4
- simpledomcontrol-0.55.4/README.md +0 -1
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/__init__.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/apps.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/management/__init__.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/management/commands/__init__.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/management/commands/_private.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/management/commands/init_add/__init__.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/management/commands/init_add/add_controller_manager.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/management/commands/init_add/options.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/management/commands/init_add/sdc_core_manager.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/management/commands/init_add/settings_manager.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/management/commands/init_add/utils.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/management/commands/sdc_cc.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/management/commands/sdc_get_controller_infos.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/management/commands/sdc_get_controller_url.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/management/commands/sdc_init.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/management/commands/sdc_is_installed.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/management/commands/sdc_new_model.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/management/commands/sdc_shell_execute_script.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/management/commands/sdc_update_links.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/management/commands/sdc_update_url.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/sdc_extentions/__init__.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/sdc_extentions/forms.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/sdc_extentions/import_manager.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/sdc_extentions/search.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/sdc_extentions/views.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/template_files/Assets/.babelrc +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/template_files/Assets/src/index.organizer.js +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/template_files/Assets/src/index.style.scss +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/template_files/Assets/tests/config/post-test-teardown.js +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/template_files/Assets/tests/config/pre-test-setup.js +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/template_files/Assets/tests/config/test-setup.js +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/template_files/Assets/webpack.config/webpack.default.config.jsx +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/template_files/Assets/webpack.config/webpack.development.config.jsx +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/template_files/Assets/webpack.config/webpack.production.config.jsx +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/template_files/apps/sdc_examples/Add_SDCUser.txt +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/template_files/apps/sdc_examples/index.html +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/template_files/apps/sdc_examples/server_call.txt +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/template_files/asgi.py.txt +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/template_files/controller/templade_view.html +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/template_files/controller/template_css.scss +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/template_files/controller/template_test.js.text +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/template_files/js_test.js.txt +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/template_files/models/detail.html +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/template_files/models/list.html +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/template_files/routing.py.txt +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/template_files/sdc_urls.py.txt +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/template_files/sdc_views.py.txt +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/template_files/settings_extension.py.txt +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/template_files/templates/base.html +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/template_files/templates/index.html +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/template_files/urls.py.txt +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/Assets/src/sdc_tools/controller/sdc_alert_messenger/sdc_alert_messenger.js +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/Assets/src/sdc_tools/controller/sdc_alert_messenger/sdc_alert_messenger.scss +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/Assets/src/sdc_tools/controller/sdc_auto_submit/sdc_auto_submit.js +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/Assets/src/sdc_tools/controller/sdc_detail_view/sdc_detail_view.js +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/Assets/src/sdc_tools/controller/sdc_detail_view/sdc_detail_view.scss +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/Assets/src/sdc_tools/controller/sdc_dummy/sdc_dummy.js +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/Assets/src/sdc_tools/controller/sdc_dummy/sdc_dummy.scss +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/Assets/src/sdc_tools/controller/sdc_error/sdc_error.js +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/Assets/src/sdc_tools/controller/sdc_error/sdc_error.scss +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/Assets/src/sdc_tools/controller/sdc_list_view/sdc_list_view.js +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/Assets/src/sdc_tools/controller/sdc_list_view/sdc_list_view.scss +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/Assets/src/sdc_tools/controller/sdc_model_form/sdc_model_form.js +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/Assets/src/sdc_tools/controller/sdc_model_form/sdc_model_form.scss +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/Assets/src/sdc_tools/controller/sdc_navigation_client/sdc_navigation_client.js +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/Assets/src/sdc_tools/controller/sdc_navigator/sdc_navigator.scss +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/Assets/src/sdc_tools/controller/sdc_search_view/sdc_search_view.js +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/Assets/src/sdc_tools/controller/sdc_search_view/sdc_search_view.scss +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/Assets/src/sdc_tools/controller/sdc_update_on_change/sdc_update_on_change.js +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/Assets/src/sdc_tools/sdc_tools.organizer.js +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/Assets/src/sdc_tools/sdc_tools.style.scss +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/Assets/tests/sdc_tools.test.js +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/__init__.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/admin.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/apps.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/migrations/__init__.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/models.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/sdc_urls.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/sdc_views.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/templates/elements/form.html +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/templates/elements/inline_form.html +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/templates/email/base.html +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/templates/sdc_tools/sdc/dummy_sdc.html +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/templates/sdc_tools/sdc/sdc_alert_messenger.html +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/templates/sdc_tools/sdc/sdc_detail_view.html +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/templates/sdc_tools/sdc/sdc_dummy.html +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/templates/sdc_tools/sdc/sdc_error.html +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/templates/sdc_tools/sdc/sdc_list_view.html +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/templates/sdc_tools/sdc/sdc_model_form.html +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/templates/sdc_tools/sdc/sdc_navigator.html +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/templates/sdc_tools/sdc/sdc_search_view.html +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/templatetags/__init__.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/templatetags/addclass.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/templatetags/indexfilter.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/templatetags/sdc_filter.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/tests.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/views.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_user/Assets/src/sdc_user/controller/sdc_login/sdc_login.js +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_user/Assets/src/sdc_user/controller/sdc_login/sdc_login.scss +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_user/Assets/src/sdc_user/controller/sdc_logout/sdc_logout.js +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_user/Assets/src/sdc_user/controller/sdc_logout/sdc_logout.scss +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_user/Assets/src/sdc_user/controller/sdc_user_nav_btn/sdc_user_nav_btn.js +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_user/Assets/src/sdc_user/controller/sdc_user_nav_btn/sdc_user_nav_btn.scss +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_user/Assets/src/sdc_user/sdc_user.organizer.js +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_user/Assets/src/sdc_user/sdc_user.style.scss +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_user/Assets/tests/sdc_user.test.js +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_user/__init__.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_user/admin.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_user/apps.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_user/migrations/__init__.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_user/models.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_user/sdc_urls.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_user/sdc_views.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_user/templates/sdc_user/sdc/sdc_login.html +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_user/templates/sdc_user/sdc/sdc_logout.html +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_user/templates/sdc_user/sdc/sdc_user_nav_btn.html +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_user/tests.py +0 -0
- {simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_user/views.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: SimpleDomControl
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.56.0
|
|
4
4
|
Summary: Simple DOM control -> a django MVC framework
|
|
5
5
|
Home-page: https://github.com/StarmanMartin/sdc
|
|
6
6
|
License: Apache-2.0
|
|
@@ -26,5 +26,8 @@ Requires-Dist: psycopg2-binary (>=2.9.9,<3.0.0)
|
|
|
26
26
|
Requires-Dist: regex (>=2024.5.15,<2025.0.0)
|
|
27
27
|
Description-Content-Type: text/markdown
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
# Simple Dom Control (SDC)
|
|
30
30
|
|
|
31
|
+
SDC is a framework that combines elements of both the MVC (Model-View-Controller) and MVT (Model-View-Template) patterns. Its main goal is to provide a tool for simple and efficient web development. The name ‘SDC’ is an abbreviation for ‘Simple DOM Control,’ indicating its focus on controlling and manipulating the Document Object Model (DOM), which is crucial for web development, particularly in dynamic web pages.
|
|
32
|
+
|
|
33
|
+
For detailed docs go to [rtd](https://simpledomcontrol.readthedocs.io/en/latest/)
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Simple Dom Control (SDC)
|
|
2
|
+
|
|
3
|
+
SDC is a framework that combines elements of both the MVC (Model-View-Controller) and MVT (Model-View-Template) patterns. Its main goal is to provide a tool for simple and efficient web development. The name ‘SDC’ is an abbreviation for ‘Simple DOM Control,’ indicating its focus on controlling and manipulating the Document Object Model (DOM), which is crucial for web development, particularly in dynamic web pages.
|
|
4
|
+
|
|
5
|
+
For detailed docs go to [rtd](https://simpledomcontrol.readthedocs.io/en/latest/)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "SimpleDomControl"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.56.0"
|
|
4
4
|
authors = [ "Martin Starman <private@martin-starman.com>", ]
|
|
5
5
|
description = "Simple DOM control -> a django MVC framework"
|
|
6
6
|
readme = "README.md"
|
|
@@ -38,6 +38,9 @@ testpaths = [
|
|
|
38
38
|
[tool.poetry.group.dev.dependencies]
|
|
39
39
|
pytest = "^7.2.2"
|
|
40
40
|
pillow = "^10.1.0"
|
|
41
|
+
sphinx-toolbox = "^3.6.0"
|
|
42
|
+
sphinx-rtd-theme = "^2.0.0"
|
|
43
|
+
sphinx-markdown-builder = "^0.6.6"
|
|
41
44
|
|
|
42
45
|
[build-system]
|
|
43
46
|
requires = ["poetry-core"]
|
|
@@ -317,12 +317,12 @@ class SDCModelConsumer(WebsocketConsumer):
|
|
|
317
317
|
def _load_create_form(self, json_data):
|
|
318
318
|
instance: SdcModel = self.model()
|
|
319
319
|
instance.scope = self.scope
|
|
320
|
-
return self._load_form(json_data, self.model.create_form, instance)
|
|
320
|
+
return self._load_form(json_data, self.model.SdcMeta.create_form, instance)
|
|
321
321
|
|
|
322
322
|
def _load_edit_form(self, json_data):
|
|
323
323
|
instance = self._load_model().get(pk=json_data['args']['pk'])
|
|
324
324
|
instance.scope = self.scope
|
|
325
|
-
return self._load_form(json_data, self.model.edit_form, instance)
|
|
325
|
+
return self._load_form(json_data, self.model.SdcMeta.edit_form, instance)
|
|
326
326
|
|
|
327
327
|
def _load_named_form(self, json_data):
|
|
328
328
|
instance = self._load_model().get(pk=json_data['args']['pk'])
|
|
@@ -347,7 +347,7 @@ class SDCModelConsumer(WebsocketConsumer):
|
|
|
347
347
|
self.send(text_data=json.dumps({
|
|
348
348
|
'type': json_data['event_type'],
|
|
349
349
|
'event_id': json_data['event_id'],
|
|
350
|
-
'html': self._render(self.model.html_form_template, {'instance': instance, 'form': form(instance=instance)},
|
|
350
|
+
'html': self._render(self.model.SdcMeta.html_form_template, {'instance': instance, 'form': form(instance=instance)},
|
|
351
351
|
json_data),
|
|
352
352
|
'is_error': False
|
|
353
353
|
}))
|
|
@@ -355,12 +355,12 @@ class SDCModelConsumer(WebsocketConsumer):
|
|
|
355
355
|
def _create_element(self, json_data):
|
|
356
356
|
instance: SdcModel = self.model()
|
|
357
357
|
instance.scope = self.scope
|
|
358
|
-
return self._submit_element(json_data, self.model.create_form, instance)
|
|
358
|
+
return self._submit_element(json_data, self.model.SdcMeta.create_form, instance)
|
|
359
359
|
|
|
360
360
|
def _save_element(self, json_data):
|
|
361
361
|
instance = self._load_model().get(pk=json_data['args']['data']['pk'])
|
|
362
362
|
instance.scope = self.scope
|
|
363
|
-
return self._submit_element(json_data, self.model.edit_form, instance)
|
|
363
|
+
return self._submit_element(json_data, self.model.SdcMeta.edit_form, instance)
|
|
364
364
|
|
|
365
365
|
def _upload_file(self, json_data):
|
|
366
366
|
file_data = json_data['args']
|
|
@@ -418,20 +418,20 @@ class SDCModelConsumer(WebsocketConsumer):
|
|
|
418
418
|
'type': json_data['event_type'],
|
|
419
419
|
'event_id': json_data['event_id'],
|
|
420
420
|
'data': {'instance': new_instance},
|
|
421
|
-
'html': self._render(self.model.html_form_template,
|
|
421
|
+
'html': self._render(self.model.SdcMeta.html_form_template,
|
|
422
422
|
{'instance': form_instance.instance, 'form': form_instance},
|
|
423
423
|
json_data),
|
|
424
424
|
'is_error': not is_valid
|
|
425
425
|
}))
|
|
426
426
|
|
|
427
427
|
def _load_list_view(self, json_data):
|
|
428
|
-
if self.model.html_list_template is None:
|
|
428
|
+
if self.model.SdcMeta.html_list_template is None:
|
|
429
429
|
raise NotImplemented()
|
|
430
430
|
|
|
431
431
|
self.send(text_data=json.dumps({
|
|
432
432
|
'type': json_data['event_type'],
|
|
433
433
|
'event_id': json_data['event_id'],
|
|
434
|
-
'html': self._render(self.model.html_list_template, {'instances': self._load_model()}, json_data),
|
|
434
|
+
'html': self._render(self.model.SdcMeta.html_list_template, {'instances': self._load_model()}, json_data),
|
|
435
435
|
'is_error': False
|
|
436
436
|
}))
|
|
437
437
|
|
|
@@ -49,22 +49,25 @@ class AddModelManager():
|
|
|
49
49
|
self._check_if_sdcmodel_imported(model_path)
|
|
50
50
|
f = open(model_path, 'a')
|
|
51
51
|
|
|
52
|
-
search_form_def = "\n".join([
|
|
53
|
-
'class {2}SearchForm(AbstractSearchForm):',
|
|
54
|
-
'{0}CHOICES = (("id", "Id"),)',
|
|
55
|
-
'{0}PLACEHOLDER = ""',
|
|
56
|
-
'{0}DEFAULT_CHOICES = CHOICES[0][0]',
|
|
57
|
-
'{0}SEARCH_FIELDS = ("id",)',
|
|
58
|
-
]).format(options.SEP, self.app_name, self.model_name)
|
|
52
|
+
search_form_def = "\n".join([]).format(options.SEP, self.app_name, self.model_name)
|
|
59
53
|
|
|
60
54
|
class_def = "\n".join([
|
|
61
55
|
'class {2}(models.Model, SdcModel):',
|
|
62
|
-
'{0}
|
|
63
|
-
'{0}
|
|
64
|
-
'{0}
|
|
65
|
-
'{0}
|
|
56
|
+
'{0}class SearchForm(AbstractSearchForm):',
|
|
57
|
+
'{0}{0}"""A default search form used in the list view. You can delete it if you dont need it"""',
|
|
58
|
+
'{0}{0}CHOICES = (("id", "Id"),)',
|
|
59
|
+
'{0}{0}PLACEHOLDER = ""',
|
|
60
|
+
'{0}{0}DEFAULT_CHOICES = CHOICES[0][0]',
|
|
61
|
+
'{0}{0}SEARCH_FIELDS = ("id",)',
|
|
62
|
+
'',
|
|
63
|
+
'{0}class _SdcMeta:',
|
|
64
|
+
'{0}{0}"""Meta data information needed to manage all SDC operations."""',
|
|
65
|
+
'{0}{0}edit_form = "{1}.forms.{2}Form"',
|
|
66
|
+
'{0}{0}create_form = "{1}.forms.{2}Form"',
|
|
67
|
+
'{0}{0}html_list_template = "{1}/models/{2}/{2}_list.html"',
|
|
68
|
+
'{0}{0}html_detail_template = "{1}/models/{2}/{2}_details.html"',
|
|
66
69
|
'',
|
|
67
|
-
'{0}@classmethod\n{0}def render(cls, template_name, context=None, request=None, using=None):\n{0}{0}if template_name == cls.html_list_template:\n{0}{0}{0}sf =
|
|
70
|
+
'{0}@classmethod\n{0}def render(cls, template_name, context=None, request=None, using=None):\n{0}{0}if template_name == cls.SdcMeta.html_list_template:\n{0}{0}{0}sf = cls.SearchForm(data=context.get("filter", {{}}))\n{0}{0}{0}context = context | handle_search_form(context["instances"], sf, range=10)\n{0}{0}return render_to_string(template_name=template_name, context=context, request=request, using=using)',
|
|
68
71
|
'',
|
|
69
72
|
'{0}@classmethod\n{0}def is_authorised(cls, user, action, obj):\n{0}{0}return True',
|
|
70
73
|
'',
|
|
@@ -44,26 +44,26 @@ class Command(BaseCommand):
|
|
|
44
44
|
'model_file': os.path.join(options.PROJECT_ROOT, model.__module__.replace('.', os.path.sep) + '.py'),
|
|
45
45
|
'model_file_line': self._get_class_line_number(
|
|
46
46
|
os.path.join(options.PROJECT_ROOT, model.__module__.replace('.', os.path.sep) + '.py'), model.__name__),
|
|
47
|
-
'create_form': self._separate_file_class(model.create_form),
|
|
48
|
-
'edit_form': self._separate_file_class(model.edit_form)
|
|
47
|
+
'create_form': self._separate_file_class(model.SdcMeta.create_form),
|
|
48
|
+
'edit_form': self._separate_file_class(model.SdcMeta.edit_form)
|
|
49
49
|
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
if model.html_detail_template:
|
|
52
|
+
if model.SdcMeta.html_detail_template:
|
|
53
53
|
try:
|
|
54
|
-
mi['html_detail_template'] = get_template(model.html_detail_template).origin.name
|
|
54
|
+
mi['html_detail_template'] = get_template(model.SdcMeta.html_detail_template).origin.name
|
|
55
55
|
except:
|
|
56
56
|
pass
|
|
57
57
|
|
|
58
|
-
if model.html_list_template:
|
|
58
|
+
if model.SdcMeta.html_list_template:
|
|
59
59
|
try:
|
|
60
|
-
mi['html_list_template'] = get_template(model.html_list_template).origin.name
|
|
60
|
+
mi['html_list_template'] = get_template(model.SdcMeta.html_list_template).origin.name
|
|
61
61
|
except:
|
|
62
62
|
pass
|
|
63
63
|
|
|
64
|
-
if model.html_form_template:
|
|
64
|
+
if model.SdcMeta.html_form_template:
|
|
65
65
|
try:
|
|
66
|
-
mi['html_form_template'] = get_template(model.html_form_template).origin.name
|
|
66
|
+
mi['html_form_template'] = get_template(model.SdcMeta.html_form_template).origin.name
|
|
67
67
|
except:
|
|
68
68
|
pass
|
|
69
69
|
|
|
@@ -11,10 +11,13 @@ from django.apps import apps
|
|
|
11
11
|
from channels.layers import get_channel_layer
|
|
12
12
|
from django.contrib.auth import get_user_model
|
|
13
13
|
|
|
14
|
+
from sdc_core.sdc_extentions.forms import AbstractSearchForm
|
|
15
|
+
|
|
14
16
|
User = get_user_model()
|
|
15
17
|
|
|
16
18
|
_ALL_MODELS = None
|
|
17
19
|
|
|
20
|
+
|
|
18
21
|
def all_models():
|
|
19
22
|
global _ALL_MODELS
|
|
20
23
|
if _ALL_MODELS is None:
|
|
@@ -23,6 +26,7 @@ def all_models():
|
|
|
23
26
|
}
|
|
24
27
|
return _ALL_MODELS
|
|
25
28
|
|
|
29
|
+
|
|
26
30
|
class ConsumerSerializer(Serializer):
|
|
27
31
|
|
|
28
32
|
def handle_m2m_field(self, obj, field):
|
|
@@ -42,16 +46,47 @@ class ConsumerSerializer(Serializer):
|
|
|
42
46
|
return field.value_from_object(obj).url
|
|
43
47
|
return super()._value_from_field(obj, field)
|
|
44
48
|
|
|
49
|
+
|
|
50
|
+
_SDC_META_DEFAULT = {'edit_form': None,
|
|
51
|
+
'create_form': None,
|
|
52
|
+
'html_list_template': None,
|
|
53
|
+
'html_detail_template': None,
|
|
54
|
+
'html_form_template': getattr(settings, 'MODEL_FORM_TEMPLATE', "elements/form.html")
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
class classproperty(property):
|
|
58
|
+
def __get__(self, obj, objtype=None):
|
|
59
|
+
return super().__get__(objtype)
|
|
60
|
+
def __set__(self, obj, value):
|
|
61
|
+
super().__set__(type(obj), value)
|
|
62
|
+
|
|
63
|
+
class _SdcMetaDummy:
|
|
64
|
+
_sdc_checked = False
|
|
65
|
+
|
|
45
66
|
class SdcModel():
|
|
46
67
|
__is_sdc_model__ = True
|
|
47
|
-
edit_form = None
|
|
48
|
-
create_form = None
|
|
49
|
-
html_list_template = None
|
|
50
|
-
html_detail_template = None
|
|
51
|
-
html_form_template = getattr(settings, 'MODEL_FORM_TEMPLATE', "elements/form.html")
|
|
52
|
-
apply_filter = None
|
|
53
68
|
_scope = None
|
|
54
69
|
|
|
70
|
+
class SearchForm(AbstractSearchForm):
|
|
71
|
+
CHOICES = (("id", "Id"),)
|
|
72
|
+
PLACEHOLDER = ""
|
|
73
|
+
DEFAULT_CHOICES = CHOICES[0][0]
|
|
74
|
+
SEARCH_FIELDS = ("id",)
|
|
75
|
+
|
|
76
|
+
@classproperty
|
|
77
|
+
def SdcMeta(cls):
|
|
78
|
+
if not hasattr(cls, '_SdcMeta'):
|
|
79
|
+
setattr(cls, '_SdcMeta', _SdcMetaDummy())
|
|
80
|
+
|
|
81
|
+
sdc_meta = getattr(cls, '_SdcMeta')
|
|
82
|
+
|
|
83
|
+
if not getattr(sdc_meta, '_sdc_checked', False):
|
|
84
|
+
setattr(sdc_meta,'_sdc_checked', True)
|
|
85
|
+
for k, v in _SDC_META_DEFAULT.items():
|
|
86
|
+
if not hasattr(sdc_meta, k):
|
|
87
|
+
setattr(sdc_meta, k, getattr(cls, k, v))
|
|
88
|
+
return sdc_meta
|
|
89
|
+
|
|
55
90
|
@property
|
|
56
91
|
def scope(self) -> dict[str: any]:
|
|
57
92
|
return self._scope
|
|
@@ -73,7 +108,7 @@ class SdcModel():
|
|
|
73
108
|
raise NotImplemented
|
|
74
109
|
|
|
75
110
|
@classmethod
|
|
76
|
-
def data_load(cls, user: User, action: str, obj: dict[str: any]) -> QuerySet|None:
|
|
111
|
+
def data_load(cls, user: User, action: str, obj: dict[str: any]) -> QuerySet | None:
|
|
77
112
|
return None
|
|
78
113
|
|
|
79
114
|
|
|
@@ -5,13 +5,12 @@ from django.http import HttpResponse
|
|
|
5
5
|
from django.template.loader import render_to_string
|
|
6
6
|
from django.core.serializers.json import DjangoJSONEncoder
|
|
7
7
|
|
|
8
|
-
|
|
9
8
|
NEXT = 'next_controller'
|
|
10
9
|
|
|
11
10
|
|
|
12
|
-
|
|
13
|
-
def sdc_link_factory(controller: str = None, link_data: dict = None, add_sdc_index : bool = True) -> str:
|
|
11
|
+
def sdc_link_factory(controller: str = None, link_data: dict = None, add_sdc_index: bool = True) -> str:
|
|
14
12
|
"""
|
|
13
|
+
|
|
15
14
|
:param controller: path to controller
|
|
16
15
|
:type controller: str, optional
|
|
17
16
|
:param link_data: arguments passed to the new redirected controller
|
|
@@ -51,16 +50,14 @@ def send_redirect(controller: str = None, back: bool = False, link_data: dict =
|
|
|
51
50
|
send_redirect is a simple way to redirect a client to another SDC controller. Set the controller argument according to
|
|
52
51
|
the rules of the sdc_tools.sdc_navigator. Following you see some examples:
|
|
53
52
|
|
|
54
|
-
|
|
55
53
|
- /view-a/view-b -> view-b as subview of view-a
|
|
56
54
|
- */view-b -> keeps first view as it is and view-b as subview
|
|
57
55
|
- ../view-b -> replaces current latest subview by view-b
|
|
58
56
|
- ./view-b -> adds view-b as next latest subview to the current path
|
|
59
57
|
|
|
60
|
-
|
|
61
58
|
:param controller: path to controller
|
|
62
59
|
:type controller: str, optional
|
|
63
|
-
:param back: if
|
|
60
|
+
:param back: if ``True`` the redirect url is equal to ``..``, default is ``False``
|
|
64
61
|
:type back: boolean, optional
|
|
65
62
|
:param link_data: arguments passed to the new redirected controller
|
|
66
63
|
:type link_data: dict, optional
|
|
@@ -86,7 +83,7 @@ def send_redirect(controller: str = None, back: bool = False, link_data: dict =
|
|
|
86
83
|
return HttpResponse(json.dumps(kwargs, cls=DjangoJSONEncoder), status=301, content_type="application/json")
|
|
87
84
|
|
|
88
85
|
|
|
89
|
-
def send_success(template_name: str = None, context: dict = None, request
|
|
86
|
+
def send_success(template_name: str = None, context: dict = None, request=None, status='success', **kwargs):
|
|
90
87
|
"""
|
|
91
88
|
|
|
92
89
|
:param template_name: HTML template name
|
|
@@ -110,5 +107,6 @@ def send_error(template_name: str = None, context: dict = None, request=None, st
|
|
|
110
107
|
kwargs['html'] = render_to_string(template_name, request=request, context=context)
|
|
111
108
|
return HttpResponse(json.dumps(kwargs, cls=DjangoJSONEncoder), status=status, content_type="application/json")
|
|
112
109
|
|
|
110
|
+
|
|
113
111
|
def send_controller(controller_name: str):
|
|
114
|
-
return HttpResponse('<%s></%s>' % (controller_name,controller_name), content_type="text/html")
|
|
112
|
+
return HttpResponse('<%s></%s>' % (controller_name, controller_name), content_type="text/html")
|
{simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/template_files/Assets/gulpfile.jsx
RENAMED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
3
|
const {src, dest, series, parallel} = require('gulp');
|
|
4
|
-
const path = require("path");
|
|
5
4
|
const webpack = require('webpack-stream');
|
|
5
|
+
const copy = require('gulp-copy');
|
|
6
|
+
|
|
7
|
+
process.env.JS_CILENT_FILE_EXTENTIONS = ['.js', '.json'];
|
|
6
8
|
|
|
7
9
|
const {
|
|
8
10
|
sdc_scss,
|
|
@@ -20,11 +22,20 @@ function webpack_javascript() {
|
|
|
20
22
|
.pipe(dest('../static'));
|
|
21
23
|
}
|
|
22
24
|
|
|
25
|
+
function copy_statics() {
|
|
26
|
+
return src('./static/**/*')
|
|
27
|
+
.pipe(copy('../static', { prefix: 1 }))
|
|
28
|
+
.on('end', () => {
|
|
29
|
+
console.log('Contents copied successfully!');
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
|
|
23
33
|
exports.webpack = webpack_javascript;
|
|
24
34
|
exports.scss = sdc_scss;
|
|
25
35
|
exports.link_files = sdc_link_files;
|
|
26
36
|
exports.clean = sdc_clean;
|
|
27
|
-
exports.
|
|
37
|
+
exports.copy_statics = copy_statics;
|
|
38
|
+
exports.default = series(copy_statics, sdc_default_build_factory(webpack_javascript));
|
|
28
39
|
exports.watch_scss = sdc_watch_scss;
|
|
29
40
|
exports.watch_webpack = sdc_watch_webpack_factory(webpack_javascript);
|
|
30
41
|
|
|
@@ -7,12 +7,26 @@ class §CONTROLLERNAMETITLE§Controller extends AbstractSDC {
|
|
|
7
7
|
super();
|
|
8
8
|
this.contentUrl = "§TEMPLATEURL§"; //§TAGNAME§
|
|
9
9
|
|
|
10
|
+
/**
|
|
11
|
+
* Uncomment the following line to make sure the HTML template
|
|
12
|
+
* of this controller is not cached and reloaded for every instance
|
|
13
|
+
* of this controller.
|
|
14
|
+
*/
|
|
15
|
+
// this.contentReload = true;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Uncomment the following line to make this controller asynchronous.
|
|
19
|
+
* This means that the parent controller finishes loading without
|
|
20
|
+
* waiting for this controller
|
|
21
|
+
*/
|
|
22
|
+
// this.load_async = true;
|
|
23
|
+
|
|
10
24
|
/**
|
|
11
25
|
* Events is an array of dom events.
|
|
12
26
|
* The pattern is {'event': {'dom_selector': handler}}
|
|
13
|
-
*
|
|
27
|
+
* Uncomment the following line to add events;
|
|
14
28
|
*/
|
|
15
|
-
// this.events.unshift({'click': {'.header-sample': (ev, $elem)=> $elem.css('border', '2px solid black')}}
|
|
29
|
+
// this.events.unshift({'click': {'.header-sample': (ev, $elem)=> $elem.css('border', '2px solid black')}});
|
|
16
30
|
}
|
|
17
31
|
|
|
18
32
|
//-------------------------------------------------//
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
simpleDomControl
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/management/commands/__init__.py
RENAMED
|
File without changes
|
{simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/management/commands/_private.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/management/commands/init_add/options.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/management/commands/init_add/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/management/commands/sdc_init.py
RENAMED
|
File without changes
|
{simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/management/commands/sdc_is_installed.py
RENAMED
|
File without changes
|
{simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/management/commands/sdc_new_model.py
RENAMED
|
File without changes
|
|
File without changes
|
{simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/management/commands/sdc_update_links.py
RENAMED
|
File without changes
|
{simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/management/commands/sdc_update_url.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/sdc_extentions/import_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/template_files/models/detail.html
RENAMED
|
File without changes
|
{simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/template_files/models/list.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/template_files/sdc_views.py.txt
RENAMED
|
File without changes
|
|
File without changes
|
{simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/template_files/templates/base.html
RENAMED
|
File without changes
|
{simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_core/template_files/templates/index.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/Assets/tests/sdc_tools.test.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/templates/elements/inline_form.html
RENAMED
|
File without changes
|
|
File without changes
|
{simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/templates/sdc_tools/sdc/dummy_sdc.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/templates/sdc_tools/sdc/sdc_dummy.html
RENAMED
|
File without changes
|
{simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_tools/templates/sdc_tools/sdc/sdc_error.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_user/Assets/src/sdc_user/sdc_user.style.scss
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_user/templates/sdc_user/sdc/sdc_login.html
RENAMED
|
File without changes
|
{simpledomcontrol-0.55.4 → simpledomcontrol-0.56.0}/sdc_user/templates/sdc_user/sdc/sdc_logout.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|