django-cfg 1.1.69__py3-none-any.whl → 1.1.70__py3-none-any.whl
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.
- django_cfg/__init__.py +1 -1
- django_cfg/apps/accounts/admin/__init__.py +2 -0
- django_cfg/apps/accounts/admin/activity.py +9 -2
- django_cfg/apps/accounts/admin/filters.py +42 -0
- django_cfg/apps/accounts/admin/registration_source.py +8 -1
- django_cfg/apps/accounts/admin/resources.py +271 -0
- django_cfg/apps/accounts/admin/twilio_response.py +7 -1
- django_cfg/apps/accounts/admin/user.py +9 -1
- django_cfg/apps/accounts/migrations/0005_twilioresponse.py +43 -0
- django_cfg/apps/accounts/models.py +83 -0
- django_cfg/apps/leads/admin/__init__.py +9 -0
- django_cfg/apps/leads/{admin.py → admin/leads_admin.py} +10 -2
- django_cfg/apps/leads/admin/resources.py +119 -0
- django_cfg/apps/newsletter/admin/__init__.py +12 -0
- django_cfg/apps/newsletter/{admin.py → admin/newsletter_admin.py} +20 -5
- django_cfg/apps/newsletter/admin/resources.py +241 -0
- django_cfg/apps/support/admin/__init__.py +10 -0
- django_cfg/apps/support/admin/resources.py +183 -0
- django_cfg/apps/support/{admin.py → admin/support_admin.py} +16 -6
- django_cfg/apps/support/templates/support/chat/ticket_chat.html +1 -1
- django_cfg/apps/urls.py +1 -2
- django_cfg/archive/django_sample.zip +0 -0
- django_cfg/core/config.py +1 -0
- django_cfg/integration.py +14 -16
- django_cfg/management/commands/migrator.py +49 -13
- {django_cfg-1.1.69.dist-info → django_cfg-1.1.70.dist-info}/METADATA +1 -1
- {django_cfg-1.1.69.dist-info → django_cfg-1.1.70.dist-info}/RECORD +32 -24
- /django_cfg/apps/newsletter/{admin_filters.py → admin/filters.py} +0 -0
- /django_cfg/apps/support/{admin_filters.py → admin/filters.py} +0 -0
- {django_cfg-1.1.69.dist-info → django_cfg-1.1.70.dist-info}/WHEEL +0 -0
- {django_cfg-1.1.69.dist-info → django_cfg-1.1.70.dist-info}/entry_points.txt +0 -0
- {django_cfg-1.1.69.dist-info → django_cfg-1.1.70.dist-info}/licenses/LICENSE +0 -0
django_cfg/core/config.py
CHANGED
django_cfg/integration.py
CHANGED
@@ -92,24 +92,22 @@ def get_django_cfg_urls_info() -> dict:
|
|
92
92
|
from django_cfg.modules.base import BaseModule
|
93
93
|
base_module = BaseModule()
|
94
94
|
|
95
|
-
#
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
95
|
+
# Support URLs - needed for admin interface
|
96
|
+
if base_module.is_support_enabled():
|
97
|
+
endpoints.append("cfg/support/")
|
98
|
+
|
99
|
+
if base_module.is_accounts_enabled():
|
100
|
+
endpoints.append("cfg/accounts/")
|
101
|
+
|
102
|
+
if base_module.is_newsletter_enabled():
|
103
|
+
endpoints.append("cfg/newsletter/")
|
104
|
+
|
105
|
+
if base_module.is_leads_enabled():
|
106
|
+
endpoints.append("cfg/leads/")
|
107
|
+
|
105
108
|
except Exception:
|
106
109
|
# Fallback: show all possible endpoints
|
107
|
-
|
108
|
-
"cfg/support/",
|
109
|
-
"cfg/accounts/",
|
110
|
-
"cfg/newsletter/",
|
111
|
-
"cfg/leads/",
|
112
|
-
])
|
110
|
+
pass
|
113
111
|
|
114
112
|
info = {
|
115
113
|
"django_cfg": {
|
@@ -265,19 +265,40 @@ class Command(BaseCommand):
|
|
265
265
|
self.stdout.write(self.style.ERROR(f"❌ Error getting Django config info: {e}"))
|
266
266
|
|
267
267
|
def get_apps_for_database(self, db_name: str):
|
268
|
-
"""Get apps for specific database
|
268
|
+
"""Get apps for specific database using Django-CFG configuration"""
|
269
|
+
try:
|
270
|
+
# Try to get Django-CFG config
|
271
|
+
from django_cfg.core.config import get_current_config
|
272
|
+
config = get_current_config()
|
273
|
+
|
274
|
+
if config and hasattr(config, 'databases'):
|
275
|
+
if db_name in config.databases:
|
276
|
+
db_config = config.databases[db_name]
|
277
|
+
if hasattr(db_config, 'apps') and db_config.apps:
|
278
|
+
return db_config.apps
|
279
|
+
|
280
|
+
# For default database, get all apps not in other databases
|
281
|
+
if db_name == "default":
|
282
|
+
all_apps = self.get_all_installed_apps()
|
283
|
+
apps_in_other_dbs = set()
|
284
|
+
|
285
|
+
# Collect apps from all non-default databases
|
286
|
+
for other_db_name, other_db_config in config.databases.items():
|
287
|
+
if other_db_name != "default" and hasattr(other_db_config, 'apps'):
|
288
|
+
apps_in_other_dbs.update(other_db_config.apps)
|
289
|
+
|
290
|
+
return [app for app in all_apps if app not in apps_in_other_dbs]
|
291
|
+
|
292
|
+
except Exception as e:
|
293
|
+
self.stdout.write(self.style.WARNING(f"⚠️ Could not get Django-CFG config: {e}"))
|
294
|
+
|
295
|
+
# Fallback to old routing rules method
|
296
|
+
routing_rules = getattr(settings, "DATABASE_ROUTING_RULES", {})
|
269
297
|
if db_name == "default":
|
270
|
-
# For default database, get all apps that are not in other databases
|
271
298
|
all_apps = self.get_all_installed_apps()
|
272
|
-
apps_in_other_dbs =
|
299
|
+
apps_in_other_dbs = set(routing_rules.keys())
|
273
300
|
return [app for app in all_apps if app not in apps_in_other_dbs]
|
274
301
|
else:
|
275
|
-
# For other databases, use configured apps from routing rules
|
276
|
-
routing_rules = getattr(settings, "DATABASE_ROUTING_RULES", {})
|
277
|
-
|
278
|
-
# Routing rules are now in Django settings
|
279
|
-
pass
|
280
|
-
|
281
302
|
return [app for app, db in routing_rules.items() if db == db_name]
|
282
303
|
|
283
304
|
def get_all_installed_apps(self):
|
@@ -304,11 +325,26 @@ class Command(BaseCommand):
|
|
304
325
|
|
305
326
|
def get_apps_in_other_databases(self) -> set:
|
306
327
|
"""Get all apps that are configured for non-default databases."""
|
328
|
+
try:
|
329
|
+
# Try to get Django-CFG config
|
330
|
+
from django_cfg.core.config import get_current_config
|
331
|
+
config = get_current_config()
|
332
|
+
|
333
|
+
if config and hasattr(config, 'databases'):
|
334
|
+
apps_in_other_dbs = set()
|
335
|
+
|
336
|
+
# Collect apps from all non-default databases
|
337
|
+
for db_name, db_config in config.databases.items():
|
338
|
+
if db_name != "default" and hasattr(db_config, 'apps'):
|
339
|
+
apps_in_other_dbs.update(db_config.apps)
|
340
|
+
|
341
|
+
return apps_in_other_dbs
|
342
|
+
|
343
|
+
except Exception:
|
344
|
+
pass
|
345
|
+
|
346
|
+
# Fallback to old routing rules method
|
307
347
|
routing_rules = getattr(settings, "DATABASE_ROUTING_RULES", {})
|
308
|
-
|
309
|
-
# Routing rules are now in Django settings
|
310
|
-
pass
|
311
|
-
|
312
348
|
return set(routing_rules.keys())
|
313
349
|
|
314
350
|
def get_all_database_names(self):
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: django-cfg
|
3
|
-
Version: 1.1.
|
3
|
+
Version: 1.1.70
|
4
4
|
Summary: 🚀 Production-ready Django configuration framework with type-safe settings, smart automation, and modern developer experience
|
5
5
|
Project-URL: Homepage, https://github.com/markolofsen/django-cfg
|
6
6
|
Project-URL: Documentation, https://django-cfg.readthedocs.io
|
@@ -1,28 +1,29 @@
|
|
1
1
|
django_cfg/README.md,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2
|
-
django_cfg/__init__.py,sha256=
|
2
|
+
django_cfg/__init__.py,sha256=fM4K_cJmlssCq5hJF4G4km8vWWQCG_4osKy8Y4OONms,14288
|
3
3
|
django_cfg/apps.py,sha256=k84brkeXJI7EgKZLEpTkM9YFZofKI4PzhFOn1cl9Msc,1656
|
4
4
|
django_cfg/exceptions.py,sha256=RTQEoU3PfR8lqqNNv5ayd_HY2yJLs3eioqUy8VM6AG4,10378
|
5
|
-
django_cfg/integration.py,sha256
|
5
|
+
django_cfg/integration.py,sha256=jUO-uZXLmBXy9iugqgsl_xnYA_xoH3LZg5RxZbobVrc,4988
|
6
6
|
django_cfg/pyproject.toml,sha256=l_JhZm2DDUtS_ekHMEflpnfRtqHek3W_ASHMFBmCx7k,9250
|
7
7
|
django_cfg/routers.py,sha256=O954Hm1BKMyN9-tIK2SByxTHafy_SGzbHLjCbBaf4lg,2622
|
8
8
|
django_cfg/version_check.py,sha256=jI4v3YMdQriUEeb_TvRl511sDghy6I75iKRDUaNpucs,4800
|
9
9
|
django_cfg/apps/__init__.py,sha256=JtDmEYt1OcleWM2ZaeX0LKDnRQzPOavfaXBWG4ECB5Q,26
|
10
|
-
django_cfg/apps/urls.py,sha256=
|
10
|
+
django_cfg/apps/urls.py,sha256=U2WjXOsW0cOI2JtQBRe0IJZWYoNCWqXvsBZBjT0PryY,2052
|
11
11
|
django_cfg/apps/accounts/README.md,sha256=sXyAC_x46ymFRWnU86IWzLkUd62wJY90Ypxn-30WwwU,8262
|
12
12
|
django_cfg/apps/accounts/__init__.py,sha256=osecEQhMJVP8ejhZzElNsAqA1fX-GPD3K5_yNwDk6IE,100
|
13
13
|
django_cfg/apps/accounts/apps.py,sha256=Xd4XNpY1tw3zOqk_M9L6MR6oFdfFMYrfmrmbj0uelUs,492
|
14
|
-
django_cfg/apps/accounts/models.py,sha256=
|
14
|
+
django_cfg/apps/accounts/models.py,sha256=1tavqm0ICfGRggcplzU_GhrhR__hnoWOd8CYZWXtBSw,11631
|
15
15
|
django_cfg/apps/accounts/signals.py,sha256=AlFLAOF5OKUa5qnwoZQXvYhBsfEM1ISnde1Qrv7Or3U,5930
|
16
16
|
django_cfg/apps/accounts/urls.py,sha256=x3-0UMe8TKsuJ_GyC2hW0Un7wvnIVfuUSJ_x4HN5FWY,1334
|
17
|
-
django_cfg/apps/accounts/admin/__init__.py,sha256=
|
18
|
-
django_cfg/apps/accounts/admin/activity.py,sha256=
|
19
|
-
django_cfg/apps/accounts/admin/filters.py,sha256=
|
17
|
+
django_cfg/apps/accounts/admin/__init__.py,sha256=2bC4EGpUXbGGcWqDfASXPL10VPLvTv2RP9y-OU37kuY,515
|
18
|
+
django_cfg/apps/accounts/admin/activity.py,sha256=gyr7Z1FPLicourmIBPHhNgptgQcwTkAIqBe55YUx1Xw,3508
|
19
|
+
django_cfg/apps/accounts/admin/filters.py,sha256=MTlC031RYuYnv9rRo206CLV-KEM_3fCGp2MkkhVJGLk,4433
|
20
20
|
django_cfg/apps/accounts/admin/group.py,sha256=ga4SbJInm6ZFoQXj_oZDt-GYUgDT8xCW3U5fA-WRuFg,440
|
21
21
|
django_cfg/apps/accounts/admin/inlines.py,sha256=dIYktvTb1JoSfwGToyZ3Q92nRJkZedolLKgV2TxRpNU,4512
|
22
22
|
django_cfg/apps/accounts/admin/otp.py,sha256=tWnmgbsUDurdPqixHDNqyiL4N9h6cu0wxFqxXS46DaM,1581
|
23
|
-
django_cfg/apps/accounts/admin/registration_source.py,sha256=
|
24
|
-
django_cfg/apps/accounts/admin/
|
25
|
-
django_cfg/apps/accounts/admin/
|
23
|
+
django_cfg/apps/accounts/admin/registration_source.py,sha256=wu_vtYytlAee3lI6djO2Ga4TJNHjq0NowBOZRqwZBUg,3202
|
24
|
+
django_cfg/apps/accounts/admin/resources.py,sha256=ZCs8Yl6r_m8bQuYQuzmymCnd1IvKAtdQLneOFC1yBD4,7511
|
25
|
+
django_cfg/apps/accounts/admin/twilio_response.py,sha256=0K424Yn1Gle41i7xCuFs821GxYQnJ3NurFhazdH8NrQ,6950
|
26
|
+
django_cfg/apps/accounts/admin/user.py,sha256=h9c0wCZ4--_DLZ8rKNMPOtKECxHO8N_228TDnKLFdVA,10571
|
26
27
|
django_cfg/apps/accounts/management/commands/test_otp.py,sha256=NPlANZtGgq9kqOHWneaTyWUIsyvpIbrP6wM0jASSfhA,6980
|
27
28
|
django_cfg/apps/accounts/managers/__init__.py,sha256=NtY-cQl-6TUVum9HEVud4RKbR72xEiYzK14mbd9Y2Y0,50
|
28
29
|
django_cfg/apps/accounts/managers/user_manager.py,sha256=TVUgPIYh82f7HNu6tl446KGm65yWA9IFrzbb0fZprw4,14852
|
@@ -30,6 +31,7 @@ django_cfg/apps/accounts/migrations/0001_initial.py,sha256=j139MrNVgq7g7bpV5B14R
|
|
30
31
|
django_cfg/apps/accounts/migrations/0002_add_phone_otp_clean.py,sha256=z7FYr6BF_CCyZSjfJqlvcUH1Jfla4JN5uqmlkNyxO4A,1490
|
31
32
|
django_cfg/apps/accounts/migrations/0003_twilioresponse.py,sha256=KBeWBm8UJwqV5UG6KTl9Ugz3Mqe3yJ0ufzwdf8YE4Vo,3172
|
32
33
|
django_cfg/apps/accounts/migrations/0004_delete_twilioresponse.py,sha256=ounUBBUkukjCxdrfbaYO3nswGeluPfwzqKADJ3RUep0,311
|
34
|
+
django_cfg/apps/accounts/migrations/0005_twilioresponse.py,sha256=G0rrkn9CnlRJdkrJfoZ_qQk4jul80rqbKalUsRwSR6w,3174
|
33
35
|
django_cfg/apps/accounts/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
34
36
|
django_cfg/apps/accounts/serializers/__init__.py,sha256=ROvk50GAJY84w7hMCsB6XnnKd__k08SYsanZnONWks0,480
|
35
37
|
django_cfg/apps/accounts/serializers/otp.py,sha256=PrqldpMRlXfZ95HJKa2zgof5BeSJW-IMUqBT8Fg3k9c,4538
|
@@ -58,7 +60,6 @@ django_cfg/apps/api/health/urls.py,sha256=jd1UTpxPCRIh7veAlTB51mvBcQzdfC8MYcPik4
|
|
58
60
|
django_cfg/apps/api/health/views.py,sha256=CWbrq_ChAOHhsD4P2YdjKCzxuHb5xznnZxbZ2kN9p0s,8474
|
59
61
|
django_cfg/apps/leads/README.md,sha256=QjYHj_33zQyKzOtPeUqbkTy0fvLgIexKH7JxnzxEKTY,3444
|
60
62
|
django_cfg/apps/leads/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
61
|
-
django_cfg/apps/leads/admin.py,sha256=Zdl1-S3ScuoH2KgRiM_fjCl9cbqcFDIOxijQh1Y6KtU,2231
|
62
63
|
django_cfg/apps/leads/apps.py,sha256=YH2S1mFBZyemPereDgDUiDmblXbFTm-e1BFCcT2Pwvk,407
|
63
64
|
django_cfg/apps/leads/models.py,sha256=Eco7HrQIl8jK4N8I6yYgNckb4nM9Vkp0kHpx7vEW9OE,3059
|
64
65
|
django_cfg/apps/leads/serializers.py,sha256=dg-FmFmaKrOBQetJDs9Inoya6WqY5DZhvE6pVS14ONg,1569
|
@@ -66,17 +67,22 @@ django_cfg/apps/leads/signals.py,sha256=exZm9xhHs53a16jI6xTWsz0hDS7WYQppWKL-Qx24
|
|
66
67
|
django_cfg/apps/leads/tests.py,sha256=uM7qcaJfNT-fFjla5s4vr7hQiGzXf7CUzqyX1QDwwfE,10686
|
67
68
|
django_cfg/apps/leads/urls.py,sha256=KFCdB9x0LySJODeUElQ2c-dxcl_z79xzYNC_9i6vFPk,355
|
68
69
|
django_cfg/apps/leads/views.py,sha256=3tnnxAwEnD_ycIhZeIvTqzOyNaMTA00gxnbywtnPe8A,3212
|
70
|
+
django_cfg/apps/leads/admin/__init__.py,sha256=81WXUqQ5lACzV_G8n_PdPIoGeb95NKow_xcHv-Y13YM,111
|
71
|
+
django_cfg/apps/leads/admin/leads_admin.py,sha256=VGLYkXPln4ObaXaR2Y9GeUcELHDfG83iRuow9Fvng1U,2556
|
72
|
+
django_cfg/apps/leads/admin/resources.py,sha256=bJdydBmPMZ08N5_IylaZEtSY4JySs1-h9pJoKFm04BA,3742
|
69
73
|
django_cfg/apps/leads/migrations/0001_initial.py,sha256=mBDupgmgmaLQFO9bLaBOODN7pervwAnN_EfsS08MoB4,4876
|
70
74
|
django_cfg/apps/leads/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
71
75
|
django_cfg/apps/newsletter/README.md,sha256=cnNXnAUsCVtelMNGYc4a8qJsoiVb--J2OOSh_Jw8piA,3202
|
72
76
|
django_cfg/apps/newsletter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
73
|
-
django_cfg/apps/newsletter/admin.py,sha256=7uZIL-BVtB0l22vgsofQi02Lgub_kJ66RcB154uQunQ,8816
|
74
|
-
django_cfg/apps/newsletter/admin_filters.py,sha256=lPMtHULDOisTsN9_2BMoGu23ICkFEJDZst5Fhj5Sv5c,3675
|
75
77
|
django_cfg/apps/newsletter/apps.py,sha256=TXrULqE2HbmEIHaLomw7z9bkC19le1rKwlUWhK1xrVo,566
|
76
78
|
django_cfg/apps/newsletter/models.py,sha256=tc5IEUJZUAdYbQOhT_XvfiGL86FIb5LvPAuq7TOPrAM,8930
|
77
79
|
django_cfg/apps/newsletter/serializers.py,sha256=Nse8ZmBDNdhzfgZu53LNp_JOR327rI1fSHpgdJtCoV8,4133
|
78
80
|
django_cfg/apps/newsletter/signals.py,sha256=0wkOxEXnwBnLA1B72sZ_nb_x2ycsvQSQ3jvMwYi92zk,2974
|
79
81
|
django_cfg/apps/newsletter/urls.py,sha256=Zfbgj0NZ06dMu503JOn4GGgmKpQ3tOjTIyUmEslaJdE,1609
|
82
|
+
django_cfg/apps/newsletter/admin/__init__.py,sha256=dXCym_3qp9HxT0sUV_LBGgEkKv1k_Mj3a0TTZYnH2yI,290
|
83
|
+
django_cfg/apps/newsletter/admin/filters.py,sha256=lPMtHULDOisTsN9_2BMoGu23ICkFEJDZst5Fhj5Sv5c,3675
|
84
|
+
django_cfg/apps/newsletter/admin/newsletter_admin.py,sha256=QJ-28f7LW7E5F8xfihYtjbbzUBNu4kqiFhTwHWQcEaQ,9508
|
85
|
+
django_cfg/apps/newsletter/admin/resources.py,sha256=BGgKJSvUG5ZBOZiZ9YymAm2TE5BY8IXB8t-DgUHpbzA,6956
|
80
86
|
django_cfg/apps/newsletter/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
81
87
|
django_cfg/apps/newsletter/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
82
88
|
django_cfg/apps/newsletter/management/commands/test_newsletter.py,sha256=T6Jfhq6kx8UNLooEqbs5diWz6TQ6gOy_KRVM9EBrBkY,5870
|
@@ -93,20 +99,22 @@ django_cfg/apps/newsletter/views/newsletters.py,sha256=gb8skjDYxHd8R2DAVUhSe6z4l
|
|
93
99
|
django_cfg/apps/newsletter/views/subscriptions.py,sha256=marHLbRT6a6e8tMjKVtKG_0K6G_gcjKCU9LmMGihKwg,4774
|
94
100
|
django_cfg/apps/newsletter/views/tracking.py,sha256=EJlAltpASzc_0nslVPJt-6mnIqI_QCEmz3MQEGPKzmU,2481
|
95
101
|
django_cfg/apps/support/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
96
|
-
django_cfg/apps/support/admin.py,sha256=-fcegtqoCcwPiBXwyNLMftcYCTTbTRRBpWItyeNNkDY,8827
|
97
|
-
django_cfg/apps/support/admin_filters.py,sha256=ZpKtetRxppRAMwIr-pwDbXAyh7qouDfTCEZoo1YJfFs,2179
|
98
102
|
django_cfg/apps/support/apps.py,sha256=t-MzsKjXx6ZXACkG72Wa8GSmRYOERxfhrZUwUwjqCak,304
|
99
103
|
django_cfg/apps/support/models.py,sha256=a_m4CWpfR7A2KlVRUYOGPdpNyNPJflD3Mq7EkiwzICA,2465
|
100
104
|
django_cfg/apps/support/serializers.py,sha256=N-PP8d1H00mHSWT6x5DwDYrJoR3PS3AKrUW80L4lncs,1385
|
101
105
|
django_cfg/apps/support/signals.py,sha256=z465Nr7xin7S82YA7v-E5bNlimpv3ewN7kLoJzlGxtQ,2816
|
102
106
|
django_cfg/apps/support/urls.py,sha256=t3r4wGRUqQS-BDCQgSXwSF9pbucyvr7lo7_pJ1uZ52Q,899
|
107
|
+
django_cfg/apps/support/admin/__init__.py,sha256=vVoUWfKj6qBHhwr6zG2ZH8ZpUegYNJvzuAxdFoHEo_0,153
|
108
|
+
django_cfg/apps/support/admin/filters.py,sha256=ZpKtetRxppRAMwIr-pwDbXAyh7qouDfTCEZoo1YJfFs,2179
|
109
|
+
django_cfg/apps/support/admin/resources.py,sha256=8F0s_3Taz5LCUwlxdRPEcM9tkf08ZS0jBrHc2yHzXb4,5033
|
110
|
+
django_cfg/apps/support/admin/support_admin.py,sha256=UEz4f12VQ_fZeykpC2DG3qOuw101O-7Ptxbq5imTVOk,9237
|
103
111
|
django_cfg/apps/support/managers/message_manager.py,sha256=lwfhkuCksIRHL_6563irk6pS0IHvHma9VVVqBMVuq7s,1159
|
104
112
|
django_cfg/apps/support/managers/ticket_manager.py,sha256=SEoiGvesTNEZtrwS7HC76F_-fVbDqQrcL5zyO7Mpkl4,3058
|
105
113
|
django_cfg/apps/support/migrations/0001_initial.py,sha256=AUUXqMiRbv_bRhogBWKWdrxvHpCXxzS2Ku4O6pkq3nU,2986
|
106
114
|
django_cfg/apps/support/migrations/0002_alter_message_ticket.py,sha256=MxdjTW7hJ1B0yQloKR3sVOgujOzSA6eZp5YCmCuXht0,571
|
107
115
|
django_cfg/apps/support/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
108
116
|
django_cfg/apps/support/templates/support/chat/access_denied.html,sha256=QdVXR-61aUHmh9Vlag_zXGcS_BG7a807LesIbduqnag,1094
|
109
|
-
django_cfg/apps/support/templates/support/chat/ticket_chat.html,sha256=
|
117
|
+
django_cfg/apps/support/templates/support/chat/ticket_chat.html,sha256=Xz5Z0ADP9aZpiE_cJdcRP9UJpJhY32h1h1sLfI94zgU,14483
|
110
118
|
django_cfg/apps/support/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
111
119
|
django_cfg/apps/support/utils/support_email_service.py,sha256=0l4dXqAG6oN2UR7W3JzuRhlomaWa41IT7ceVcanluKs,5570
|
112
120
|
django_cfg/apps/support/views/__init__.py,sha256=E-Iqiy888SncfBTiSyXyGCjaNrMa5Klvapzb3ItYPXc,448
|
@@ -137,7 +145,7 @@ django_cfg/apps/tasks/templates/tasks/components/tab_navigation.html,sha256=Sxb7
|
|
137
145
|
django_cfg/apps/tasks/templates/tasks/components/task_details_modal.html,sha256=DeJjj3dxYcBEAj8Hv4Ii4koEMaNRVHta9_R25qZyK4w,6317
|
138
146
|
django_cfg/apps/tasks/templates/tasks/components/tasks_tab.html,sha256=Yd6SPgdQX1p_6miitu3nZHjdZOtbsXMhUP4DnXSntPs,1826
|
139
147
|
django_cfg/apps/tasks/templates/tasks/components/workers_tab.html,sha256=4Ud4QpG6bnxBsrBDKGXdy4GcIne43wC13Ch1szZzrbo,1580
|
140
|
-
django_cfg/archive/django_sample.zip,sha256=
|
148
|
+
django_cfg/archive/django_sample.zip,sha256=MDARugxPFDXNEj-BXdtK1HdNR8pZ35Wq7JtUoYM3_Lo,624971
|
141
149
|
django_cfg/cli/README.md,sha256=m0pkw3h-g_dJ4wU1N5eMxQP_ecGUDTM_3l0tDNDxByQ,11669
|
142
150
|
django_cfg/cli/__init__.py,sha256=i3ksFngCqZCBvaimQcBD1P2_gr5PiM--4efLScCjvvU,152
|
143
151
|
django_cfg/cli/main.py,sha256=6PfG3ec2AmPHLmUGYc472CId1gs8cRKYrHcvd3ECPxU,998
|
@@ -146,7 +154,7 @@ django_cfg/cli/commands/__init__.py,sha256=EKLXDAx-QttnGmdjsmVANAfhxWplxl2V_2I0S
|
|
146
154
|
django_cfg/cli/commands/create_project.py,sha256=bxgf_YCVAhaGx-mvpuJvcx8fjMJe-EPiuw7pbD4iNxA,21053
|
147
155
|
django_cfg/cli/commands/info.py,sha256=tLZmiZX2nEpwrcN9cUwrGKb95X7dasuoeePrqTmK2do,4932
|
148
156
|
django_cfg/core/__init__.py,sha256=eVK57qFOok9kTeHoNEMQ1BplkUOaQ7NB9kP9eQK1vg0,358
|
149
|
-
django_cfg/core/config.py,sha256=
|
157
|
+
django_cfg/core/config.py,sha256=J8SZhirJTw0nJ7Z6wkiUqFan4s7IXUmgB-QbvLAWd_k,27820
|
150
158
|
django_cfg/core/environment.py,sha256=AXNKVxcV_3_3gtlafDx3wFTnTPPMGQ9gl40vYm2w-Hg,9101
|
151
159
|
django_cfg/core/generation.py,sha256=i3c0RI4vUk3X2JZiULfoH5_H8ZjO7rOZTY83eJDfDYA,24715
|
152
160
|
django_cfg/core/validation.py,sha256=j0q57oJEJjI6ylb3AzvsgupmvBKsUcrxpmkfKF3ZRF4,6585
|
@@ -157,7 +165,7 @@ django_cfg/management/commands/clear_constance.py,sha256=bSUhxEIKFLmXVilQGn3s9FZ
|
|
157
165
|
django_cfg/management/commands/create_token.py,sha256=beHtUTuyFZhG97F9vSkaX-u7tieAZW-C6pntujGw1C8,11796
|
158
166
|
django_cfg/management/commands/generate.py,sha256=w0BF7IMftxNjxTxFuY8cw5pNKGW-LmTScJ8kZpxHu_8,4248
|
159
167
|
django_cfg/management/commands/list_urls.py,sha256=D8ikInA3uE1LbQGLWmfdLnEqPg7wqrI3caQA6iTe_-0,11009
|
160
|
-
django_cfg/management/commands/migrator.py,sha256=
|
168
|
+
django_cfg/management/commands/migrator.py,sha256=swU9bA0eV4ILgcmrn0vJZrmKNYkrTZ7eYOf3qLdmyH8,17969
|
161
169
|
django_cfg/management/commands/rundramatiq.py,sha256=62l7PvtVabtfRtrdktj_5uBbXDXi8oEde0W4IsmoHXw,8980
|
162
170
|
django_cfg/management/commands/runserver_ngrok.py,sha256=mcTioDIzHgha6sGo5eazlJhdKr8y5-uEQIc3qG3AvCI,5237
|
163
171
|
django_cfg/management/commands/script.py,sha256=I6zOEQEGaED0HoLxl2EqKz39HwbKg9HhdxnGKybfH5s,16974
|
@@ -254,8 +262,8 @@ django_cfg/templates/emails/base_email.html,sha256=TWcvYa2IHShlF_E8jf1bWZStRO0v8
|
|
254
262
|
django_cfg/utils/__init__.py,sha256=64wwXJuXytvwt8Ze_erSR2HmV07nGWJ6DV5wloRBvYE,435
|
255
263
|
django_cfg/utils/path_resolution.py,sha256=eML-6-RIGTs5TePktIQN8nxfDUEFJ3JA0AzWBcihAbs,13894
|
256
264
|
django_cfg/utils/smart_defaults.py,sha256=H0Q3dzXOok3mNV7358lZLNYOJoiX_eIay8c83ugvygk,21049
|
257
|
-
django_cfg-1.1.
|
258
|
-
django_cfg-1.1.
|
259
|
-
django_cfg-1.1.
|
260
|
-
django_cfg-1.1.
|
261
|
-
django_cfg-1.1.
|
265
|
+
django_cfg-1.1.70.dist-info/METADATA,sha256=9Vvp1wGezwIVA7mJ92DrD4jZxvFVGV5Xg0B0O3WvE5s,44134
|
266
|
+
django_cfg-1.1.70.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
267
|
+
django_cfg-1.1.70.dist-info/entry_points.txt,sha256=Ucmde4Z2wEzgb4AggxxZ0zaYDb9HpyE5blM3uJ0_VNg,56
|
268
|
+
django_cfg-1.1.70.dist-info/licenses/LICENSE,sha256=xHuytiUkSZCRG3N11nk1X6q1_EGQtv6aL5O9cqNRhKE,1071
|
269
|
+
django_cfg-1.1.70.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|