clinicedc 2.0.0__py3-none-any.whl → 2.0.1__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.
Potentially problematic release.
This version of clinicedc might be problematic. Click here for more details.
- {clinicedc-2.0.0.dist-info → clinicedc-2.0.1.dist-info}/METADATA +1 -1
- {clinicedc-2.0.0.dist-info → clinicedc-2.0.1.dist-info}/RECORD +72 -36
- {clinicedc-2.0.0.dist-info → clinicedc-2.0.1.dist-info}/WHEEL +1 -1
- edc_action_item/action.py +3 -2
- edc_action_item/data_fixers.py +1 -0
- edc_action_item/migrations/0038_alter_actionitem_revision_alter_actiontype_revision_and_more.py +86 -0
- edc_action_item/site_action_items.py +3 -1
- edc_adverse_event/migrations/0015_alter_aeactionclassification_revision_and_more.py +74 -0
- edc_appconfig/apps.py +3 -2
- edc_appointment/creators/appointments_creator.py +3 -2
- edc_appointment/migrations/0049_alter_appointment_revision_and_more.py +38 -0
- edc_appointment/model_mixins/appointment_model_mixin.py +5 -4
- edc_auth/auth_updater/group_updater.py +9 -3
- edc_auth/migrations/0034_alter_edcpermissions_revision_alter_role_revision.py +38 -0
- edc_consent/consent_definition.py +3 -2
- edc_consent/form_validators/subject_consent_form_validator.py +2 -1
- edc_consent/migrations/0005_alter_edcpermissions_revision.py +26 -0
- edc_consent/model_mixins/consent_extension_model_mixin.py +1 -0
- edc_consent/modelform_mixins/consent_modelform_mixin/consent_modelform_validation_mixin.py +3 -2
- edc_consent/models/signals.py +1 -0
- edc_consent/site_consents.py +1 -0
- edc_crf/crf_form_validator.py +2 -1
- edc_crf/migrations/0008_alter_crfstatus_revision.py +26 -0
- edc_dashboard/migrations/0005_alter_edcpermissions_revision.py +26 -0
- edc_data_manager/migrations/0039_alter_datadictionary_revision_and_more.py +101 -0
- edc_export/migrations/0021_alter_datarequest_revision_and_more.py +173 -0
- edc_facility/migrations/0015_alter_healthfacility_revision_and_more.py +38 -0
- edc_form_runners/migrations/0004_alter_issue_revision.py +26 -0
- edc_identifier/migrations/0010_alter_identifiermodel_revision.py +26 -0
- edc_lab/migrations/0035_alter_aliquot_revision_alter_box_revision_and_more.py +266 -0
- edc_lab_dashboard/migrations/0004_alter_edcpermissions_revision.py +26 -0
- edc_lab_results/model_mixins/insulin_model_mixin.py +1 -0
- edc_label/migrations/0006_alter_zpllabeltemplates_revision.py +29 -0
- edc_listboard/migrations/0006_alter_listboard_revision.py +29 -0
- edc_locator/migrations/0039_alter_historicalsubjectlocator_revision_and_more.py +38 -0
- edc_metadata/migrations/0030_alter_crfmetadata_revision_and_more.py +38 -0
- edc_navbar/migrations/0008_alter_edcpermissions_revision.py +26 -0
- edc_notification/migrations/0010_alter_notification_revision.py +26 -0
- edc_offstudy/migrations/0022_alter_historicalsubjectoffstudy_revision_and_more.py +41 -0
- edc_pharmacy/admin/stock/stock_request_admin.py +5 -4
- edc_pharmacy/admin/stock/stock_request_item_admin.py +5 -4
- edc_pharmacy/analytics/dataframes/get_next_scheduled_visit_for_subjects_df.py +10 -4
- edc_pharmacy/forms/stock/stock_request_form.py +15 -5
- edc_pharmacy/migrations/0088_alter_allocation_revision_alter_assignment_revision_and_more.py +794 -0
- edc_pharmacy/pdf_reports/stock_pdf_report.py +3 -2
- edc_protocol_incident/migrations/0023_alter_historicalprotocoldeviationviolation_revision_and_more.py +65 -0
- edc_pylabels/migrations/0012_alter_labelconfiguration_revision.py +26 -0
- edc_qareports/migrations/0018_alter_edcpermissions_revision_alter_note_revision.py +38 -0
- edc_qareports/utils.py +2 -1
- edc_randomization/migrations/0013_alter_edcpermissions_revision_and_more.py +50 -0
- edc_randomization/randomizer.py +2 -1
- edc_refusal/migrations/0011_alter_historicalsubjectrefusal_revision_and_more.py +38 -0
- edc_registration/migrations/0032_alter_historicalregisteredsubject_revision_and_more.py +38 -0
- edc_reportable/forms/reportables_form_validator_mixin.py +5 -4
- edc_reportable/migrations/0006_alter_gradingdata_revision_and_more.py +381 -0
- edc_reportable/utils/convert_units.py +2 -1
- edc_reportable/utils/molecular_weight_model_cls.py +1 -1
- edc_review_dashboard/migrations/0005_alter_edcpermissions_revision.py +26 -0
- edc_screening/migrations/0004_alter_edcpermissions_revision.py +26 -0
- edc_screening/screening_eligibility.py +1 -0
- edc_sites/migrations/0009_alter_edcpermissions_revision.py +26 -0
- edc_sites/single_site/single_site.py +1 -1
- edc_sites/site.py +2 -1
- edc_sites/utils/add_or_update_django_sites.py +1 -1
- edc_subject_dashboard/migrations/0004_alter_edcpermissions_revision.py +26 -0
- edc_unblinding/migrations/0013_alter_historicalunblindingrequest_revision_and_more.py +62 -0
- edc_visit_schedule/migrations/0018_alter_historicalonschedule_revision_and_more.py +86 -0
- edc_visit_schedule/schedule/schedule.py +4 -3
- edc_visit_schedule/site_visit_schedules.py +1 -1
- edc_visit_schedule/subject_schedule.py +2 -1
- edc_visit_tracking/migrations/0008_alter_historicalsubjectvisit_revision_and_more.py +65 -0
- {clinicedc-2.0.0.dist-info → clinicedc-2.0.1.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,381 @@
|
|
|
1
|
+
# Generated by Django 5.2.4 on 2025-09-10 03:24
|
|
2
|
+
|
|
3
|
+
import _socket
|
|
4
|
+
import django.db.models.deletion
|
|
5
|
+
import django_audit_fields.fields.hostname_modification_field
|
|
6
|
+
import django_audit_fields.fields.userfield
|
|
7
|
+
import django_audit_fields.fields.uuid_auto_field
|
|
8
|
+
import django_audit_fields.utils
|
|
9
|
+
import django_revision.revision_field
|
|
10
|
+
import simple_history.models
|
|
11
|
+
import uuid
|
|
12
|
+
from django.conf import settings
|
|
13
|
+
from django.db import migrations, models
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class Migration(migrations.Migration):
|
|
17
|
+
|
|
18
|
+
dependencies = [
|
|
19
|
+
("edc_reportable", "0005_historicalnormaldata_auto_created_and_more"),
|
|
20
|
+
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
|
21
|
+
]
|
|
22
|
+
|
|
23
|
+
operations = [
|
|
24
|
+
migrations.AlterField(
|
|
25
|
+
model_name="gradingdata",
|
|
26
|
+
name="revision",
|
|
27
|
+
field=django_revision.revision_field.RevisionField(
|
|
28
|
+
blank=True,
|
|
29
|
+
editable=False,
|
|
30
|
+
help_text="System field. From git repository (tag:branch:commit), project metadata, project toml, project VERSION, or settings.",
|
|
31
|
+
max_length=75,
|
|
32
|
+
null=True,
|
|
33
|
+
verbose_name="Revision",
|
|
34
|
+
),
|
|
35
|
+
),
|
|
36
|
+
migrations.AlterField(
|
|
37
|
+
model_name="gradingexception",
|
|
38
|
+
name="revision",
|
|
39
|
+
field=django_revision.revision_field.RevisionField(
|
|
40
|
+
blank=True,
|
|
41
|
+
editable=False,
|
|
42
|
+
help_text="System field. From git repository (tag:branch:commit), project metadata, project toml, project VERSION, or settings.",
|
|
43
|
+
max_length=75,
|
|
44
|
+
null=True,
|
|
45
|
+
verbose_name="Revision",
|
|
46
|
+
),
|
|
47
|
+
),
|
|
48
|
+
migrations.AlterField(
|
|
49
|
+
model_name="historicalgradingdata",
|
|
50
|
+
name="revision",
|
|
51
|
+
field=django_revision.revision_field.RevisionField(
|
|
52
|
+
blank=True,
|
|
53
|
+
editable=False,
|
|
54
|
+
help_text="System field. From git repository (tag:branch:commit), project metadata, project toml, project VERSION, or settings.",
|
|
55
|
+
max_length=75,
|
|
56
|
+
null=True,
|
|
57
|
+
verbose_name="Revision",
|
|
58
|
+
),
|
|
59
|
+
),
|
|
60
|
+
migrations.AlterField(
|
|
61
|
+
model_name="historicalnormaldata",
|
|
62
|
+
name="revision",
|
|
63
|
+
field=django_revision.revision_field.RevisionField(
|
|
64
|
+
blank=True,
|
|
65
|
+
editable=False,
|
|
66
|
+
help_text="System field. From git repository (tag:branch:commit), project metadata, project toml, project VERSION, or settings.",
|
|
67
|
+
max_length=75,
|
|
68
|
+
null=True,
|
|
69
|
+
verbose_name="Revision",
|
|
70
|
+
),
|
|
71
|
+
),
|
|
72
|
+
migrations.AlterField(
|
|
73
|
+
model_name="normaldata",
|
|
74
|
+
name="revision",
|
|
75
|
+
field=django_revision.revision_field.RevisionField(
|
|
76
|
+
blank=True,
|
|
77
|
+
editable=False,
|
|
78
|
+
help_text="System field. From git repository (tag:branch:commit), project metadata, project toml, project VERSION, or settings.",
|
|
79
|
+
max_length=75,
|
|
80
|
+
null=True,
|
|
81
|
+
verbose_name="Revision",
|
|
82
|
+
),
|
|
83
|
+
),
|
|
84
|
+
migrations.AlterField(
|
|
85
|
+
model_name="referencerangecollection",
|
|
86
|
+
name="revision",
|
|
87
|
+
field=django_revision.revision_field.RevisionField(
|
|
88
|
+
blank=True,
|
|
89
|
+
editable=False,
|
|
90
|
+
help_text="System field. From git repository (tag:branch:commit), project metadata, project toml, project VERSION, or settings.",
|
|
91
|
+
max_length=75,
|
|
92
|
+
null=True,
|
|
93
|
+
verbose_name="Revision",
|
|
94
|
+
),
|
|
95
|
+
),
|
|
96
|
+
migrations.CreateModel(
|
|
97
|
+
name="HistoricalMolecularWeight",
|
|
98
|
+
fields=[
|
|
99
|
+
(
|
|
100
|
+
"revision",
|
|
101
|
+
django_revision.revision_field.RevisionField(
|
|
102
|
+
blank=True,
|
|
103
|
+
editable=False,
|
|
104
|
+
help_text="System field. From git repository (tag:branch:commit), project metadata, project toml, project VERSION, or settings.",
|
|
105
|
+
max_length=75,
|
|
106
|
+
null=True,
|
|
107
|
+
verbose_name="Revision",
|
|
108
|
+
),
|
|
109
|
+
),
|
|
110
|
+
(
|
|
111
|
+
"created",
|
|
112
|
+
models.DateTimeField(
|
|
113
|
+
blank=True, default=django_audit_fields.utils.utcnow
|
|
114
|
+
),
|
|
115
|
+
),
|
|
116
|
+
(
|
|
117
|
+
"modified",
|
|
118
|
+
models.DateTimeField(
|
|
119
|
+
blank=True, default=django_audit_fields.utils.utcnow
|
|
120
|
+
),
|
|
121
|
+
),
|
|
122
|
+
(
|
|
123
|
+
"user_created",
|
|
124
|
+
django_audit_fields.fields.userfield.UserField(
|
|
125
|
+
blank=True,
|
|
126
|
+
help_text="Updated by admin.save_model",
|
|
127
|
+
max_length=50,
|
|
128
|
+
verbose_name="user created",
|
|
129
|
+
),
|
|
130
|
+
),
|
|
131
|
+
(
|
|
132
|
+
"user_modified",
|
|
133
|
+
django_audit_fields.fields.userfield.UserField(
|
|
134
|
+
blank=True,
|
|
135
|
+
help_text="Updated by admin.save_model",
|
|
136
|
+
max_length=50,
|
|
137
|
+
verbose_name="user modified",
|
|
138
|
+
),
|
|
139
|
+
),
|
|
140
|
+
(
|
|
141
|
+
"hostname_created",
|
|
142
|
+
models.CharField(
|
|
143
|
+
blank=True,
|
|
144
|
+
default=_socket.gethostname,
|
|
145
|
+
help_text="System field. (modified on create only)",
|
|
146
|
+
max_length=60,
|
|
147
|
+
verbose_name="Hostname created",
|
|
148
|
+
),
|
|
149
|
+
),
|
|
150
|
+
(
|
|
151
|
+
"hostname_modified",
|
|
152
|
+
django_audit_fields.fields.hostname_modification_field.HostnameModificationField(
|
|
153
|
+
blank=True,
|
|
154
|
+
help_text="System field. (modified on every save)",
|
|
155
|
+
max_length=50,
|
|
156
|
+
verbose_name="Hostname modified",
|
|
157
|
+
),
|
|
158
|
+
),
|
|
159
|
+
(
|
|
160
|
+
"device_created",
|
|
161
|
+
models.CharField(
|
|
162
|
+
blank=True, max_length=10, verbose_name="Device created"
|
|
163
|
+
),
|
|
164
|
+
),
|
|
165
|
+
(
|
|
166
|
+
"device_modified",
|
|
167
|
+
models.CharField(
|
|
168
|
+
blank=True, max_length=10, verbose_name="Device modified"
|
|
169
|
+
),
|
|
170
|
+
),
|
|
171
|
+
(
|
|
172
|
+
"locale_created",
|
|
173
|
+
models.CharField(
|
|
174
|
+
blank=True,
|
|
175
|
+
help_text="Auto-updated by Modeladmin",
|
|
176
|
+
max_length=10,
|
|
177
|
+
null=True,
|
|
178
|
+
verbose_name="Locale created",
|
|
179
|
+
),
|
|
180
|
+
),
|
|
181
|
+
(
|
|
182
|
+
"locale_modified",
|
|
183
|
+
models.CharField(
|
|
184
|
+
blank=True,
|
|
185
|
+
help_text="Auto-updated by Modeladmin",
|
|
186
|
+
max_length=10,
|
|
187
|
+
null=True,
|
|
188
|
+
verbose_name="Locale modified",
|
|
189
|
+
),
|
|
190
|
+
),
|
|
191
|
+
(
|
|
192
|
+
"id",
|
|
193
|
+
django_audit_fields.fields.uuid_auto_field.UUIDAutoField(
|
|
194
|
+
blank=True,
|
|
195
|
+
db_index=True,
|
|
196
|
+
editable=False,
|
|
197
|
+
help_text="System auto field. UUID primary key.",
|
|
198
|
+
),
|
|
199
|
+
),
|
|
200
|
+
("label", models.CharField(db_index=True, max_length=25)),
|
|
201
|
+
(
|
|
202
|
+
"mw",
|
|
203
|
+
models.FloatField(
|
|
204
|
+
default=0, help_text="in g/mol", verbose_name="Molecular weight"
|
|
205
|
+
),
|
|
206
|
+
),
|
|
207
|
+
(
|
|
208
|
+
"history_id",
|
|
209
|
+
models.UUIDField(
|
|
210
|
+
default=uuid.uuid4,
|
|
211
|
+
editable=False,
|
|
212
|
+
primary_key=True,
|
|
213
|
+
serialize=False,
|
|
214
|
+
),
|
|
215
|
+
),
|
|
216
|
+
("history_date", models.DateTimeField(db_index=True)),
|
|
217
|
+
("history_change_reason", models.CharField(max_length=100, null=True)),
|
|
218
|
+
(
|
|
219
|
+
"history_type",
|
|
220
|
+
models.CharField(
|
|
221
|
+
choices=[("+", "Created"), ("~", "Changed"), ("-", "Deleted")],
|
|
222
|
+
max_length=1,
|
|
223
|
+
),
|
|
224
|
+
),
|
|
225
|
+
(
|
|
226
|
+
"history_user",
|
|
227
|
+
models.ForeignKey(
|
|
228
|
+
null=True,
|
|
229
|
+
on_delete=django.db.models.deletion.SET_NULL,
|
|
230
|
+
related_name="+",
|
|
231
|
+
to=settings.AUTH_USER_MODEL,
|
|
232
|
+
),
|
|
233
|
+
),
|
|
234
|
+
],
|
|
235
|
+
options={
|
|
236
|
+
"verbose_name": "historical Molecular weight",
|
|
237
|
+
"verbose_name_plural": "historical Molecular weights",
|
|
238
|
+
"ordering": ("-history_date", "-history_id"),
|
|
239
|
+
"get_latest_by": ("history_date", "history_id"),
|
|
240
|
+
},
|
|
241
|
+
bases=(simple_history.models.HistoricalChanges, models.Model),
|
|
242
|
+
),
|
|
243
|
+
migrations.CreateModel(
|
|
244
|
+
name="MolecularWeight",
|
|
245
|
+
fields=[
|
|
246
|
+
(
|
|
247
|
+
"revision",
|
|
248
|
+
django_revision.revision_field.RevisionField(
|
|
249
|
+
blank=True,
|
|
250
|
+
editable=False,
|
|
251
|
+
help_text="System field. From git repository (tag:branch:commit), project metadata, project toml, project VERSION, or settings.",
|
|
252
|
+
max_length=75,
|
|
253
|
+
null=True,
|
|
254
|
+
verbose_name="Revision",
|
|
255
|
+
),
|
|
256
|
+
),
|
|
257
|
+
(
|
|
258
|
+
"created",
|
|
259
|
+
models.DateTimeField(
|
|
260
|
+
blank=True, default=django_audit_fields.utils.utcnow
|
|
261
|
+
),
|
|
262
|
+
),
|
|
263
|
+
(
|
|
264
|
+
"modified",
|
|
265
|
+
models.DateTimeField(
|
|
266
|
+
blank=True, default=django_audit_fields.utils.utcnow
|
|
267
|
+
),
|
|
268
|
+
),
|
|
269
|
+
(
|
|
270
|
+
"user_created",
|
|
271
|
+
django_audit_fields.fields.userfield.UserField(
|
|
272
|
+
blank=True,
|
|
273
|
+
help_text="Updated by admin.save_model",
|
|
274
|
+
max_length=50,
|
|
275
|
+
verbose_name="user created",
|
|
276
|
+
),
|
|
277
|
+
),
|
|
278
|
+
(
|
|
279
|
+
"user_modified",
|
|
280
|
+
django_audit_fields.fields.userfield.UserField(
|
|
281
|
+
blank=True,
|
|
282
|
+
help_text="Updated by admin.save_model",
|
|
283
|
+
max_length=50,
|
|
284
|
+
verbose_name="user modified",
|
|
285
|
+
),
|
|
286
|
+
),
|
|
287
|
+
(
|
|
288
|
+
"hostname_created",
|
|
289
|
+
models.CharField(
|
|
290
|
+
blank=True,
|
|
291
|
+
default=_socket.gethostname,
|
|
292
|
+
help_text="System field. (modified on create only)",
|
|
293
|
+
max_length=60,
|
|
294
|
+
verbose_name="Hostname created",
|
|
295
|
+
),
|
|
296
|
+
),
|
|
297
|
+
(
|
|
298
|
+
"hostname_modified",
|
|
299
|
+
django_audit_fields.fields.hostname_modification_field.HostnameModificationField(
|
|
300
|
+
blank=True,
|
|
301
|
+
help_text="System field. (modified on every save)",
|
|
302
|
+
max_length=50,
|
|
303
|
+
verbose_name="Hostname modified",
|
|
304
|
+
),
|
|
305
|
+
),
|
|
306
|
+
(
|
|
307
|
+
"device_created",
|
|
308
|
+
models.CharField(
|
|
309
|
+
blank=True, max_length=10, verbose_name="Device created"
|
|
310
|
+
),
|
|
311
|
+
),
|
|
312
|
+
(
|
|
313
|
+
"device_modified",
|
|
314
|
+
models.CharField(
|
|
315
|
+
blank=True, max_length=10, verbose_name="Device modified"
|
|
316
|
+
),
|
|
317
|
+
),
|
|
318
|
+
(
|
|
319
|
+
"locale_created",
|
|
320
|
+
models.CharField(
|
|
321
|
+
blank=True,
|
|
322
|
+
help_text="Auto-updated by Modeladmin",
|
|
323
|
+
max_length=10,
|
|
324
|
+
null=True,
|
|
325
|
+
verbose_name="Locale created",
|
|
326
|
+
),
|
|
327
|
+
),
|
|
328
|
+
(
|
|
329
|
+
"locale_modified",
|
|
330
|
+
models.CharField(
|
|
331
|
+
blank=True,
|
|
332
|
+
help_text="Auto-updated by Modeladmin",
|
|
333
|
+
max_length=10,
|
|
334
|
+
null=True,
|
|
335
|
+
verbose_name="Locale modified",
|
|
336
|
+
),
|
|
337
|
+
),
|
|
338
|
+
(
|
|
339
|
+
"id",
|
|
340
|
+
django_audit_fields.fields.uuid_auto_field.UUIDAutoField(
|
|
341
|
+
blank=True,
|
|
342
|
+
editable=False,
|
|
343
|
+
help_text="System auto field. UUID primary key.",
|
|
344
|
+
primary_key=True,
|
|
345
|
+
serialize=False,
|
|
346
|
+
),
|
|
347
|
+
),
|
|
348
|
+
("label", models.CharField(max_length=25, unique=True)),
|
|
349
|
+
(
|
|
350
|
+
"mw",
|
|
351
|
+
models.FloatField(
|
|
352
|
+
default=0, help_text="in g/mol", verbose_name="Molecular weight"
|
|
353
|
+
),
|
|
354
|
+
),
|
|
355
|
+
],
|
|
356
|
+
options={
|
|
357
|
+
"verbose_name": "Molecular weight",
|
|
358
|
+
"verbose_name_plural": "Molecular weights",
|
|
359
|
+
"abstract": False,
|
|
360
|
+
"default_permissions": (
|
|
361
|
+
"add",
|
|
362
|
+
"change",
|
|
363
|
+
"delete",
|
|
364
|
+
"view",
|
|
365
|
+
"export",
|
|
366
|
+
"import",
|
|
367
|
+
),
|
|
368
|
+
"default_manager_name": "objects",
|
|
369
|
+
"indexes": [
|
|
370
|
+
models.Index(
|
|
371
|
+
fields=["modified", "created"],
|
|
372
|
+
name="edc_reporta_modifie_7e6235_idx",
|
|
373
|
+
),
|
|
374
|
+
models.Index(
|
|
375
|
+
fields=["user_modified", "user_created"],
|
|
376
|
+
name="edc_reporta_user_mo_e8f92b_idx",
|
|
377
|
+
),
|
|
378
|
+
],
|
|
379
|
+
},
|
|
380
|
+
),
|
|
381
|
+
]
|
|
@@ -3,7 +3,7 @@ from __future__ import annotations
|
|
|
3
3
|
from django.core.exceptions import ObjectDoesNotExist
|
|
4
4
|
|
|
5
5
|
from edc_utils.round_up import round_half_away_from_zero
|
|
6
|
-
|
|
6
|
+
|
|
7
7
|
from ..exceptions import ConversionNotHandled
|
|
8
8
|
from ..units import (
|
|
9
9
|
GRAMS_PER_LITER,
|
|
@@ -12,6 +12,7 @@ from ..units import (
|
|
|
12
12
|
MILLIGRAMS_PER_LITER,
|
|
13
13
|
MILLIMOLES_PER_LITER,
|
|
14
14
|
)
|
|
15
|
+
from .molecular_weight_model_cls import molecular_weight_model_cls
|
|
15
16
|
|
|
16
17
|
__all__ = ["convert_units"]
|
|
17
18
|
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Generated by Django 5.2.4 on 2025-09-10 03:24
|
|
2
|
+
|
|
3
|
+
import django_revision.revision_field
|
|
4
|
+
from django.db import migrations
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class Migration(migrations.Migration):
|
|
8
|
+
|
|
9
|
+
dependencies = [
|
|
10
|
+
("edc_review_dashboard", "0004_edcpermissions_locale_created_and_more"),
|
|
11
|
+
]
|
|
12
|
+
|
|
13
|
+
operations = [
|
|
14
|
+
migrations.AlterField(
|
|
15
|
+
model_name="edcpermissions",
|
|
16
|
+
name="revision",
|
|
17
|
+
field=django_revision.revision_field.RevisionField(
|
|
18
|
+
blank=True,
|
|
19
|
+
editable=False,
|
|
20
|
+
help_text="System field. From git repository (tag:branch:commit), project metadata, project toml, project VERSION, or settings.",
|
|
21
|
+
max_length=75,
|
|
22
|
+
null=True,
|
|
23
|
+
verbose_name="Revision",
|
|
24
|
+
),
|
|
25
|
+
),
|
|
26
|
+
]
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Generated by Django 5.2.4 on 2025-09-10 03:24
|
|
2
|
+
|
|
3
|
+
import django_revision.revision_field
|
|
4
|
+
from django.db import migrations
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class Migration(migrations.Migration):
|
|
8
|
+
|
|
9
|
+
dependencies = [
|
|
10
|
+
("edc_screening", "0003_alter_edcpermissions_options_and_more"),
|
|
11
|
+
]
|
|
12
|
+
|
|
13
|
+
operations = [
|
|
14
|
+
migrations.AlterField(
|
|
15
|
+
model_name="edcpermissions",
|
|
16
|
+
name="revision",
|
|
17
|
+
field=django_revision.revision_field.RevisionField(
|
|
18
|
+
blank=True,
|
|
19
|
+
editable=False,
|
|
20
|
+
help_text="System field. From git repository (tag:branch:commit), project metadata, project toml, project VERSION, or settings.",
|
|
21
|
+
max_length=75,
|
|
22
|
+
null=True,
|
|
23
|
+
verbose_name="Revision",
|
|
24
|
+
),
|
|
25
|
+
),
|
|
26
|
+
]
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Generated by Django 5.2.4 on 2025-09-10 03:24
|
|
2
|
+
|
|
3
|
+
import django_revision.revision_field
|
|
4
|
+
from django.db import migrations
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class Migration(migrations.Migration):
|
|
8
|
+
|
|
9
|
+
dependencies = [
|
|
10
|
+
("edc_sites", "0008_delete_edcsite_remove_siteprofile_description"),
|
|
11
|
+
]
|
|
12
|
+
|
|
13
|
+
operations = [
|
|
14
|
+
migrations.AlterField(
|
|
15
|
+
model_name="edcpermissions",
|
|
16
|
+
name="revision",
|
|
17
|
+
field=django_revision.revision_field.RevisionField(
|
|
18
|
+
blank=True,
|
|
19
|
+
editable=False,
|
|
20
|
+
help_text="System field. From git repository (tag:branch:commit), project metadata, project toml, project VERSION, or settings.",
|
|
21
|
+
max_length=75,
|
|
22
|
+
null=True,
|
|
23
|
+
verbose_name="Revision",
|
|
24
|
+
),
|
|
25
|
+
),
|
|
26
|
+
]
|
edc_sites/site.py
CHANGED
|
@@ -3,7 +3,7 @@ from __future__ import annotations
|
|
|
3
3
|
import dataclasses
|
|
4
4
|
import sys
|
|
5
5
|
from copy import deepcopy
|
|
6
|
-
from typing import
|
|
6
|
+
from typing import TYPE_CHECKING, Any
|
|
7
7
|
|
|
8
8
|
from django.apps import apps as django_apps
|
|
9
9
|
from django.conf import settings
|
|
@@ -16,6 +16,7 @@ from django.utils.module_loading import import_module, module_has_submodule
|
|
|
16
16
|
from edc_auth.utils import user_has_change_perms
|
|
17
17
|
from edc_constants.constants import OTHER
|
|
18
18
|
from edc_model_admin.utils import add_to_messages_once
|
|
19
|
+
|
|
19
20
|
from .exceptions import InvalidSiteForUser
|
|
20
21
|
from .single_site import SingleSite
|
|
21
22
|
from .utils import (
|
|
@@ -5,9 +5,9 @@ import sys
|
|
|
5
5
|
from django.apps import apps as django_apps
|
|
6
6
|
from django.core.exceptions import ObjectDoesNotExist
|
|
7
7
|
|
|
8
|
+
from ..single_site import SingleSite
|
|
8
9
|
from .get_or_create_site_obj import get_or_create_site_obj
|
|
9
10
|
from .get_or_create_site_profile_obj import get_or_create_site_profile_obj
|
|
10
|
-
from ..single_site import SingleSite
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
class UpdateDjangoSitesError(Exception):
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Generated by Django 5.2.4 on 2025-09-10 03:24
|
|
2
|
+
|
|
3
|
+
import django_revision.revision_field
|
|
4
|
+
from django.db import migrations
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class Migration(migrations.Migration):
|
|
8
|
+
|
|
9
|
+
dependencies = [
|
|
10
|
+
("edc_subject_dashboard", "0003_edcpermissions_locale_created_and_more"),
|
|
11
|
+
]
|
|
12
|
+
|
|
13
|
+
operations = [
|
|
14
|
+
migrations.AlterField(
|
|
15
|
+
model_name="edcpermissions",
|
|
16
|
+
name="revision",
|
|
17
|
+
field=django_revision.revision_field.RevisionField(
|
|
18
|
+
blank=True,
|
|
19
|
+
editable=False,
|
|
20
|
+
help_text="System field. From git repository (tag:branch:commit), project metadata, project toml, project VERSION, or settings.",
|
|
21
|
+
max_length=75,
|
|
22
|
+
null=True,
|
|
23
|
+
verbose_name="Revision",
|
|
24
|
+
),
|
|
25
|
+
),
|
|
26
|
+
]
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Generated by Django 5.2.4 on 2025-09-10 03:24
|
|
2
|
+
|
|
3
|
+
import django_revision.revision_field
|
|
4
|
+
from django.db import migrations
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class Migration(migrations.Migration):
|
|
8
|
+
|
|
9
|
+
dependencies = [
|
|
10
|
+
("edc_unblinding", "0012_alter_historicalunblindingrequest_site_and_more"),
|
|
11
|
+
]
|
|
12
|
+
|
|
13
|
+
operations = [
|
|
14
|
+
migrations.AlterField(
|
|
15
|
+
model_name="historicalunblindingrequest",
|
|
16
|
+
name="revision",
|
|
17
|
+
field=django_revision.revision_field.RevisionField(
|
|
18
|
+
blank=True,
|
|
19
|
+
editable=False,
|
|
20
|
+
help_text="System field. From git repository (tag:branch:commit), project metadata, project toml, project VERSION, or settings.",
|
|
21
|
+
max_length=75,
|
|
22
|
+
null=True,
|
|
23
|
+
verbose_name="Revision",
|
|
24
|
+
),
|
|
25
|
+
),
|
|
26
|
+
migrations.AlterField(
|
|
27
|
+
model_name="historicalunblindingreview",
|
|
28
|
+
name="revision",
|
|
29
|
+
field=django_revision.revision_field.RevisionField(
|
|
30
|
+
blank=True,
|
|
31
|
+
editable=False,
|
|
32
|
+
help_text="System field. From git repository (tag:branch:commit), project metadata, project toml, project VERSION, or settings.",
|
|
33
|
+
max_length=75,
|
|
34
|
+
null=True,
|
|
35
|
+
verbose_name="Revision",
|
|
36
|
+
),
|
|
37
|
+
),
|
|
38
|
+
migrations.AlterField(
|
|
39
|
+
model_name="unblindingrequest",
|
|
40
|
+
name="revision",
|
|
41
|
+
field=django_revision.revision_field.RevisionField(
|
|
42
|
+
blank=True,
|
|
43
|
+
editable=False,
|
|
44
|
+
help_text="System field. From git repository (tag:branch:commit), project metadata, project toml, project VERSION, or settings.",
|
|
45
|
+
max_length=75,
|
|
46
|
+
null=True,
|
|
47
|
+
verbose_name="Revision",
|
|
48
|
+
),
|
|
49
|
+
),
|
|
50
|
+
migrations.AlterField(
|
|
51
|
+
model_name="unblindingreview",
|
|
52
|
+
name="revision",
|
|
53
|
+
field=django_revision.revision_field.RevisionField(
|
|
54
|
+
blank=True,
|
|
55
|
+
editable=False,
|
|
56
|
+
help_text="System field. From git repository (tag:branch:commit), project metadata, project toml, project VERSION, or settings.",
|
|
57
|
+
max_length=75,
|
|
58
|
+
null=True,
|
|
59
|
+
verbose_name="Revision",
|
|
60
|
+
),
|
|
61
|
+
),
|
|
62
|
+
]
|