meta-edc 0.3.39__py3-none-any.whl → 0.3.40__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.
- meta_dashboard/templatetags/meta_dashboard_extras.py +1 -1
- meta_dashboard/view_utils/__init__.py +6 -0
- meta_edc/settings/debug.py +4 -0
- meta_edc/templates/meta_edc/bootstrap3/home.html +1 -1
- meta_edc/tests/tests/test_endpoints.py +1 -0
- {meta_edc-0.3.39.dist-info → meta_edc-0.3.40.dist-info}/METADATA +2 -2
- {meta_edc-0.3.39.dist-info → meta_edc-0.3.40.dist-info}/RECORD +14 -15
- meta_pharmacy/labels/__init__.py +3 -2
- meta_subject/tests/tests/test_metadata_rules.py +2 -2
- meta_subject/tests/tests/test_sf12.py +0 -12
- meta_pharmacy/admin/actions.py +0 -38
- {meta_edc-0.3.39.dist-info → meta_edc-0.3.40.dist-info}/AUTHORS +0 -0
- {meta_edc-0.3.39.dist-info → meta_edc-0.3.40.dist-info}/LICENSE +0 -0
- {meta_edc-0.3.39.dist-info → meta_edc-0.3.40.dist-info}/WHEEL +0 -0
- {meta_edc-0.3.39.dist-info → meta_edc-0.3.40.dist-info}/top_level.txt +0 -0
@@ -9,7 +9,7 @@ from edc_dashboard.url_names import url_names
|
|
9
9
|
from edc_dashboard.utils import get_bootstrap_version
|
10
10
|
|
11
11
|
from meta_consent.models import SubjectConsent
|
12
|
-
from meta_dashboard.view_utils
|
12
|
+
from meta_dashboard.view_utils import (
|
13
13
|
SubjectScreeningPartOneButton,
|
14
14
|
SubjectScreeningPartThreeButton,
|
15
15
|
SubjectScreeningPartTwoButton,
|
meta_edc/settings/debug.py
CHANGED
@@ -36,3 +36,7 @@ if os.path.exists(BASE_DIR) and not os.path.exists(KEY_PATH): # noqa
|
|
36
36
|
# if debugging, run `export DJANGO_DEBUG=True` before running runserver
|
37
37
|
# CELERY_TASK_ALWAYS_EAGER = os.getenv("DJANGO_DEBUG", "False") == "True"
|
38
38
|
# CELERY_TASK_EAGER_PROPAGATES = CELERY_TASK_ALWAYS_EAGER
|
39
|
+
|
40
|
+
EDC_PDF_REPORTS_WATERMARK_WORD = "SAMPLE"
|
41
|
+
EDC_PDF_REPORTS_WATERMARK_FONT = ("Helvetica", 100)
|
42
|
+
EDC_PHARMACY_LABEL_WATERMARK_WORD = "DO NOT USE"
|
@@ -59,7 +59,7 @@ a { cursor: pointer; }
|
|
59
59
|
{% if perms.meta_reports %}
|
60
60
|
<a href="{% url 'meta_reports:home_url' %}" class="list-group-item"><i class="fa-solid fa-stroopwafel fa-lg fa-fw"></i></i> QA Reports</a>
|
61
61
|
{% endif %}
|
62
|
-
{% if perms.
|
62
|
+
{% if perms.edc_pharmacy.nav_pharmacy_section %}
|
63
63
|
<a href="{% url 'edc_pharmacy:home_url' %}" class="list-group-item"><i class="fas fa-prescription fa-lg fa-fw"></i> Pharmacy</a>
|
64
64
|
{% endif %}
|
65
65
|
{% if perms.edc_export %}
|
@@ -85,6 +85,7 @@ class AdminSiteTest(MetaTestCaseMixin, WebTest):
|
|
85
85
|
import_module("edc_adverse_event.auths")
|
86
86
|
import_module("edc_appointment.auths")
|
87
87
|
import_module("edc_consent.auths")
|
88
|
+
import_module("edc_pylabels.auths")
|
88
89
|
import_module("edc_dashboard.auths")
|
89
90
|
import_module("edc_data_manager.auths")
|
90
91
|
import_module("edc_qareports.auths")
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: meta-edc
|
3
|
-
Version: 0.3.
|
3
|
+
Version: 0.3.40
|
4
4
|
Summary: META Trial EDC (http://www.isrctn.com/ISRCTN76157257)
|
5
5
|
Home-page: https://github.com/meta-trial/meta-edc
|
6
6
|
Author: Erik van Widenfelt
|
@@ -693,7 +693,7 @@ Requires-Python: >=3.12
|
|
693
693
|
Description-Content-Type: text/x-rst
|
694
694
|
License-File: LICENSE
|
695
695
|
License-File: AUTHORS
|
696
|
-
Requires-Dist: edc==0.6.
|
696
|
+
Requires-Dist: edc==0.6.15
|
697
697
|
Requires-Dist: edc-microscopy
|
698
698
|
Requires-Dist: beautifulsoup4
|
699
699
|
Requires-Dist: celery[redis]
|
@@ -191,13 +191,13 @@ meta_dashboard/templates/meta_dashboard/bootstrap3/subject/dashboard.html,sha256
|
|
191
191
|
meta_dashboard/templates/meta_dashboard/bootstrap3/subject/listboard.html,sha256=AyVcossXTf7grSrbWaz7Wek12YRixEdddxEQWatSXgs,1398
|
192
192
|
meta_dashboard/templates/meta_dashboard/bootstrap3/subject/dashboard/top_bar.html,sha256=5u2ySYTBEwsKKLmQaEmPoObvtx1vduwIcy9DvkS4AO0,230
|
193
193
|
meta_dashboard/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
194
|
-
meta_dashboard/templatetags/meta_dashboard_extras.py,sha256=
|
194
|
+
meta_dashboard/templatetags/meta_dashboard_extras.py,sha256=aVUypkmzt4ih7zFcqTak26jmFyxZUeO6yxIN_OUycBw,3922
|
195
195
|
meta_dashboard/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
196
196
|
meta_dashboard/tests/admin.py,sha256=4k_kM3YURLIInujRNpPRql3rLxODOZQhCXueoUdU064,716
|
197
197
|
meta_dashboard/tests/holidays.csv,sha256=LIEIm79wHRzbfXcFW_2ogFOYEZaWEGF1hwgOzZy2y34,538
|
198
198
|
meta_dashboard/tests/urls.py,sha256=FJlQvMLAMbR7UBW2Kl6VQXW9XmYOvqXnZJ4SeQh535E,2674
|
199
199
|
meta_dashboard/tests/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
200
|
-
meta_dashboard/view_utils/__init__.py,sha256=
|
200
|
+
meta_dashboard/view_utils/__init__.py,sha256=qkoHOxLcwAr53q1e_aR5mx0ZSEX6kAC8bShg82UOJ40,177
|
201
201
|
meta_dashboard/view_utils/subject_screening_button.py,sha256=NEDMydqrz7FoYMXViOpnvGpFzcRer_I_cfBkt3Mx-84,3327
|
202
202
|
meta_dashboard/views/__init__.py,sha256=TWsNFphAI57Bw2d-X-fy7yayR8AlbtWJ5Wx3YjZPntQ,222
|
203
203
|
meta_dashboard/views/ae/__init__.py,sha256=YjsScDD8GqpXOwZGMgAWZfo64JSc117no6pCt3uGDBo,113
|
@@ -233,17 +233,17 @@ meta_edc/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
|
|
233
233
|
meta_edc/management/commands/update_forms_reference.py,sha256=_DiCqhHUk8lGhDGlsjOA069EE-g7UBDlZQCH6L1xiHo,1003
|
234
234
|
meta_edc/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
235
235
|
meta_edc/settings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
236
|
-
meta_edc/settings/debug.py,sha256=
|
236
|
+
meta_edc/settings/debug.py,sha256=ys60bSDcEMbWewoTdE4HRIp2woOwy3RPjIgXMUCEJpQ,1296
|
237
237
|
meta_edc/settings/defaults.py,sha256=pUyhSJdaYlvpoEPuU0mAWB3XFUL8xjblhald4DjZ3gs,19165
|
238
238
|
meta_edc/settings/live.py,sha256=uLTlsIc3H6gdE_7pkL6vyOVa6V_74hnXFkiojqGFAYY,264
|
239
239
|
meta_edc/settings/logging.py,sha256=6qVUE37OMkf5rzwTmMq4krFsZ2jcyCpWdFtGih_Cs4U,1938
|
240
240
|
meta_edc/settings/minimal.py,sha256=3z-7GBluflnUkuSotKZlYvpL34NZ6tfFNuQNJLCyflo,592
|
241
241
|
meta_edc/settings/uat.py,sha256=P1hovGPgCnuyiVZ-RuZfoEskAEz39hkMAVGjEeP7RDM,270
|
242
242
|
meta_edc/templates/meta_edc/bootstrap3/base.html,sha256=8Agovk1eTpW-2oAgVGsYwL_DAD6zB3DNwGGpPJ2bx-g,165
|
243
|
-
meta_edc/templates/meta_edc/bootstrap3/home.html,sha256=
|
243
|
+
meta_edc/templates/meta_edc/bootstrap3/home.html,sha256=JjNhNaLXUUCMwTmUm7F5fdNOj6GdXJspfsXx3-0OV6U,4590
|
244
244
|
meta_edc/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
245
245
|
meta_edc/tests/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
246
|
-
meta_edc/tests/tests/test_endpoints.py,sha256=
|
246
|
+
meta_edc/tests/tests/test_endpoints.py,sha256=5FdIHTd1xhUIgQLBzMV-Ml3VoFrlBrLLUbNarme5raw,23541
|
247
247
|
meta_edc/views/__init__.py,sha256=TBXTih4Mpsg5Oh2jbyXqL9kH7bu3vWNRgVe93hvLCl8,32
|
248
248
|
meta_edc/views/home_view.py,sha256=a3A0DMoqCWQuLkb2MSIR-I0Su-mVU5D82FwAIC21low,1006
|
249
249
|
meta_export/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -299,13 +299,12 @@ meta_pharmacy/list_data.py,sha256=HB_TuRUEq01tG-KB1gGzT1V84m4JGYiMT9IoqJInEVc,21
|
|
299
299
|
meta_pharmacy/prepare_meta_pharmacy.py,sha256=5gNiPkmOzWwCW-_q6hgIzj_0tnPuN4Tl1lVI6FygNgs,2945
|
300
300
|
meta_pharmacy/urls.py,sha256=jncXssL_SeRhb_OJVXLdGFvPT3BqtrkSPdq-eyJnGfY,207
|
301
301
|
meta_pharmacy/admin/__init__.py,sha256=ZnYHFOt9xatSSEhPoGtWC6zCvsaygIJX3qJy7iZ9qWk,82
|
302
|
-
meta_pharmacy/admin/actions.py,sha256=wRVN7mmZDT0w8FpBLPPZhkTc72WFFd-xGxzsFpcm5Fs,1314
|
303
302
|
meta_pharmacy/admin/rx_admin.py,sha256=SQGsugSnhbU3YUk_ssSTMmCH6no8ZkHoqLLkbZbBbk0,1851
|
304
303
|
meta_pharmacy/admin/substitutions_admin.py,sha256=N2WcuC4REAEX0zrNqQHsPbZI82I4T5UM7EP-ohDOSSI,1934
|
305
304
|
meta_pharmacy/forms/__init__.py,sha256=5d28GOPegzZ9ptI-tVx_E19yPTrJ_wQh16xr9ivmS6M,78
|
306
305
|
meta_pharmacy/forms/rx_form.py,sha256=zqt45XGAv2Zj4p7k-CDGUHF0LKoeYnncHJBZ3MmN4qI,319
|
307
306
|
meta_pharmacy/forms/substitutions_form.py,sha256=f37xagh6D00w3iu6zvh45UWX_L9oD0FsW_0fTsB7540,1894
|
308
|
-
meta_pharmacy/labels/__init__.py,sha256=
|
307
|
+
meta_pharmacy/labels/__init__.py,sha256=k1LKzruteQ1jUmPkh0vzzzmi4kjOANJhborPRLc8Mcw,228
|
309
308
|
meta_pharmacy/labels/draw_label_for_subject_with_barcode.py,sha256=RWJDIoiHZQp8e5N2LEW2Mu8qwI6qAkxfOPALf52TlZI,2155
|
310
309
|
meta_pharmacy/labels/draw_label_for_subject_with_code128.py,sha256=dK1F_N91Fhw8rtKi3GWRjbYw5V-XfOjzpF2UDBsE65M,459
|
311
310
|
meta_pharmacy/labels/draw_label_with_test_data.py,sha256=KQeQZEka3-2FL1hLIr7Sn9XQX6eXLOOJUlbS612AORA,1188
|
@@ -1127,11 +1126,11 @@ meta_subject/tests/tests/test_fixes.py,sha256=2jOB0lcEonJft5rWEbrDEtGCuGLaaUN8zA
|
|
1127
1126
|
meta_subject/tests/tests/test_followup.py,sha256=rembohm-ecEp9rGFdjc2CkvXGfYZ8A8BOX0MdBBZSF0,1871
|
1128
1127
|
meta_subject/tests/tests/test_manager_order.py,sha256=wmVxMd85mJ6HGAL_3Z_mSp_mqeNQvK7MW_6mvQPDeO8,454
|
1129
1128
|
meta_subject/tests/tests/test_medication_adherence.py,sha256=o-4vTFx4GdYBS_lWiKpycA8IOce9nTB1_7vAl4HAKhI,2517
|
1130
|
-
meta_subject/tests/tests/test_metadata_rules.py,sha256=
|
1129
|
+
meta_subject/tests/tests/test_metadata_rules.py,sha256=4mSQVXf4EteDUUjrRkpKhOzDukEBC1M9IXkyg0MEAOA,5712
|
1131
1130
|
meta_subject/tests/tests/test_mnsi.py,sha256=wAXHGupWJh-7vSNyeYyT1F4n6JNZFCIfDKs-M_XuPzQ,13585
|
1132
1131
|
meta_subject/tests/tests/test_patient_history_form.py,sha256=JzqCx_-g2jeknngGl94FhZNVCl0CfnWIAZ9R11y7-wY,2827
|
1133
1132
|
meta_subject/tests/tests/test_physical_exam.py,sha256=U3TKOPWTVu8iXxsS8LGgJJEY8e2sKJ5iTBcIWIHKCAo,2947
|
1134
|
-
meta_subject/tests/tests/test_sf12.py,sha256=
|
1133
|
+
meta_subject/tests/tests/test_sf12.py,sha256=5Daf-R4EeLjfDpsC5PZELfPIqY--joGzrj8nPVUiatI,6837
|
1135
1134
|
meta_subject/tests/tests/test_study_medication.py,sha256=EFvAvjxJ1c0Bk-vi6S8ejf9Q5UsQ8c0PSTw9l-1iHvo,10161
|
1136
1135
|
meta_visit_schedule/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1137
1136
|
meta_visit_schedule/apps.py,sha256=Uy3glJJ3-yCcXZ_MvhDEzxVxQbBuCTsZxLNmd5p1DHw,164
|
@@ -1164,9 +1163,9 @@ tests/etc/user-rsa-restricted-private.pem,sha256=CUcHW9bznWdmmASN00hCzvxFPAFl4N2
|
|
1164
1163
|
tests/etc/user-rsa-restricted-public.pem,sha256=mt84djoL-uHw6Wc5SJh0zml6VzXulnf8eQSFg7-fheg,450
|
1165
1164
|
tests/etc/user-salt-local.key,sha256=x5anBw9fvbHurczouT3CjrkWb_xs7Ypm1htIJsgiuiw,256
|
1166
1165
|
tests/etc/user-salt-restricted.key,sha256=pxmpcfBRNB-4C6wTvHXz-9fOfJgKIFOjaAF8ZFfa4q4,256
|
1167
|
-
meta_edc-0.3.
|
1168
|
-
meta_edc-0.3.
|
1169
|
-
meta_edc-0.3.
|
1170
|
-
meta_edc-0.3.
|
1171
|
-
meta_edc-0.3.
|
1172
|
-
meta_edc-0.3.
|
1166
|
+
meta_edc-0.3.40.dist-info/AUTHORS,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1167
|
+
meta_edc-0.3.40.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
1168
|
+
meta_edc-0.3.40.dist-info/METADATA,sha256=VQe8G_-Y-Iy0xli87MoKXUZxDcROe4qyFGljtnm0Ooo,43529
|
1169
|
+
meta_edc-0.3.40.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
1170
|
+
meta_edc-0.3.40.dist-info/top_level.txt,sha256=RkzjNXwRq2kg_uZ_1bDwPUntijSXoY2YBqtByDwvvrc,244
|
1171
|
+
meta_edc-0.3.40.dist-info/RECORD,,
|
meta_pharmacy/labels/__init__.py
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
from .draw_label_for_subject_with_code128 import draw_label_for_subject_with_code128
|
2
2
|
from .draw_label_with_test_data import draw_label_with_test_data
|
3
|
-
|
4
|
-
from .
|
3
|
+
|
4
|
+
# from .label_data import LabelData
|
5
|
+
# from .print_sheets import print_sheets
|
@@ -99,8 +99,8 @@ class TestMetadataRules(MetaTestCaseMixin, TestCase):
|
|
99
99
|
subject_screening=subject_screening,
|
100
100
|
subject_consent=subject_consent,
|
101
101
|
)
|
102
|
-
self.
|
103
|
-
|
102
|
+
self.assertIn(
|
103
|
+
"meta_subject.delivery",
|
104
104
|
[obj.model for obj in self.get_crf_metadata(subject_visit)],
|
105
105
|
)
|
106
106
|
|
@@ -9,7 +9,6 @@ from django.test import TestCase
|
|
9
9
|
from edc_constants.constants import COMPLETE, YES
|
10
10
|
from edc_metadata import KEYED, NOT_REQUIRED, REQUIRED
|
11
11
|
from edc_metadata.metadata import CrfMetadataGetter
|
12
|
-
from edc_metadata.metadata_handler import MetadataHandlerError
|
13
12
|
from edc_qol.constants import ALL_OF_THE_TIME, NONE_OF_THE_TIME, SOME_OF_THE_TIME
|
14
13
|
from edc_visit_schedule.constants import MONTH1, MONTH3, WEEK2
|
15
14
|
|
@@ -42,17 +41,6 @@ class TestSf12(MetaTestCaseMixin, TestCase):
|
|
42
41
|
site=Site.objects.get(id=settings.SITE_ID),
|
43
42
|
)
|
44
43
|
|
45
|
-
def test_baseline_not_required(self):
|
46
|
-
form = Sf12Form(data=self.data)
|
47
|
-
form.is_valid()
|
48
|
-
self.assertEqual({}, form._errors)
|
49
|
-
self.assertRaises(MetadataHandlerError, form.save)
|
50
|
-
|
51
|
-
crf_metadata_getter = CrfMetadataGetter(appointment=self.subject_visit.appointment)
|
52
|
-
self.assertFalse(
|
53
|
-
crf_metadata_getter.metadata_objects.filter(model="meta_subject.sf12").exists()
|
54
|
-
)
|
55
|
-
|
56
44
|
def test_1005_required(self):
|
57
45
|
subject_visit = self.get_next_subject_visit(self.subject_visit)
|
58
46
|
self.assertEqual(subject_visit.visit_code, WEEK2)
|
meta_pharmacy/admin/actions.py
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
import random
|
2
|
-
|
3
|
-
from django.contrib import messages
|
4
|
-
from django.http import FileResponse
|
5
|
-
from django.utils.translation import gettext as _
|
6
|
-
from django_pylabels.models import LabelSpecification
|
7
|
-
from edc_utils import get_utcnow
|
8
|
-
from pylabels import Sheet, Specification
|
9
|
-
|
10
|
-
from ..labels import draw_label_with_code39
|
11
|
-
from ..models import LabelData
|
12
|
-
|
13
|
-
random.seed(7825541)
|
14
|
-
|
15
|
-
|
16
|
-
def print_label_sheet(modeladmin, request, queryset):
|
17
|
-
label_data = [obj for obj in queryset]
|
18
|
-
obj = LabelSpecification.objects.get(name="meta3")
|
19
|
-
specs = Specification(**obj.as_dict)
|
20
|
-
sheet = Sheet(specs, draw_label_with_code39, border=obj.border)
|
21
|
-
sheet.add_labels(label_data)
|
22
|
-
buffer = sheet.save_to_buffer()
|
23
|
-
now = get_utcnow()
|
24
|
-
queryset.update(printed=True, printed_datetime=now)
|
25
|
-
return FileResponse(
|
26
|
-
buffer, as_attachment=True, filename=f"{obj.name}_{now.strftime("%Y-%m-%d %H:%M")}.pdf"
|
27
|
-
)
|
28
|
-
|
29
|
-
|
30
|
-
def print_label_sheet_from_batch(modeladmin, request, queryset):
|
31
|
-
if queryset.count() > 1 or queryset.count() == 0:
|
32
|
-
messages.add_message(
|
33
|
-
request,
|
34
|
-
messages.ERROR,
|
35
|
-
_("Select one and only one existing label specification"),
|
36
|
-
)
|
37
|
-
queryset = LabelData.objects.filter(label_batch=queryset.first())
|
38
|
-
return print_label_sheet(modeladmin, request, queryset)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|