@@ -77,10 +77,7 @@ <h1>Source code for grandchallenge.reader_studies.models</h1><div class="highlig
7777< span class ="p "> )</ span >
7878< span class ="kn "> from</ span > < span class ="w "> </ span > < span class ="nn "> grandchallenge.components.schemas</ span > < span class ="w "> </ span > < span class ="kn "> import</ span > < span class ="n "> ANSWER_TYPE_SCHEMA</ span >
7979< span class ="kn "> from</ span > < span class ="w "> </ span > < span class ="nn "> grandchallenge.core.fields</ span > < span class ="w "> </ span > < span class ="kn "> import</ span > < span class ="n "> HexColorField</ span > < span class ="p "> ,</ span > < span class ="n "> RegexField</ span >
80- < span class ="kn "> from</ span > < span class ="w "> </ span > < span class ="nn "> grandchallenge.core.guardian</ span > < span class ="w "> </ span > < span class ="kn "> import</ span > < span class ="p "> (</ span >
81- < span class ="n "> NoUserPermissionsAllowed</ span > < span class ="p "> ,</ span >
82- < span class ="n "> get_objects_for_group</ span > < span class ="p "> ,</ span >
83- < span class ="p "> )</ span >
80+ < span class ="kn "> from</ span > < span class ="w "> </ span > < span class ="nn "> grandchallenge.core.guardian</ span > < span class ="w "> </ span > < span class ="kn "> import</ span > < span class ="n "> NoUserPermissionsAllowed</ span >
8481< span class ="kn "> from</ span > < span class ="w "> </ span > < span class ="nn "> grandchallenge.core.models</ span > < span class ="w "> </ span > < span class ="kn "> import</ span > < span class ="n "> RequestBase</ span > < span class ="p "> ,</ span > < span class ="n "> UUIDModel</ span >
8582< span class ="kn "> from</ span > < span class ="w "> </ span > < span class ="nn "> grandchallenge.core.storage</ span > < span class ="w "> </ span > < span class ="kn "> import</ span > < span class ="p "> (</ span >
8683 < span class ="n "> get_logo_path</ span > < span class ="p "> ,</ span >
@@ -102,11 +99,15 @@ <h1>Source code for grandchallenge.reader_studies.models</h1><div class="highlig
10299< span class ="kn "> from</ span > < span class ="w "> </ span > < span class ="nn "> grandchallenge.modalities.models</ span > < span class ="w "> </ span > < span class ="kn "> import</ span > < span class ="n "> ImagingModality</ span >
103100< span class ="kn "> from</ span > < span class ="w "> </ span > < span class ="nn "> grandchallenge.organizations.models</ span > < span class ="w "> </ span > < span class ="kn "> import</ span > < span class ="n "> Organization</ span >
104101< span class ="kn "> from</ span > < span class ="w "> </ span > < span class ="nn "> grandchallenge.publications.models</ span > < span class ="w "> </ span > < span class ="kn "> import</ span > < span class ="n "> Publication</ span >
102+ < span class ="kn "> from</ span > < span class ="w "> </ span > < span class ="nn "> grandchallenge.reader_studies.interactive_algorithms</ span > < span class ="w "> </ span > < span class ="kn "> import</ span > < span class ="p "> (</ span >
103+ < span class ="n "> InteractiveAlgorithmChoices</ span > < span class ="p "> ,</ span >
104+ < span class ="p "> )</ span >
105105< span class ="kn "> from</ span > < span class ="w "> </ span > < span class ="nn "> grandchallenge.reader_studies.metrics</ span > < span class ="w "> </ span > < span class ="kn "> import</ span > < span class ="n "> accuracy_score</ span >
106106< span class ="kn "> from</ span > < span class ="w "> </ span > < span class ="nn "> grandchallenge.subdomains.utils</ span > < span class ="w "> </ span > < span class ="kn "> import</ span > < span class ="n "> reverse</ span >
107107< span class ="kn "> from</ span > < span class ="w "> </ span > < span class ="nn "> grandchallenge.workstations.templatetags.workstations</ span > < span class ="w "> </ span > < span class ="kn "> import</ span > < span class ="p "> (</ span >
108108 < span class ="n "> get_workstation_path_and_query_string</ span > < span class ="p "> ,</ span >
109109< span class ="p "> )</ span >
110+ < span class ="kn "> from</ span > < span class ="w "> </ span > < span class ="nn "> grandchallenge.workstations.utils</ span > < span class ="w "> </ span > < span class ="kn "> import</ span > < span class ="n "> reassign_workstation_permissions</ span >
110111
111112< span class ="vm "> __doc__</ span > < span class ="o "> =</ span > < span class ="s2 "> """</ span >
112113< span class ="s2 "> A reader study enables you to have a set of readers answer a set of questions</ span >
@@ -208,20 +209,14 @@ <h1>Source code for grandchallenge.reader_studies.models</h1><div class="highlig
208209< span class ="s2 "> as for each case are displayed in the ``statistics`` view.</ span >
209210< span class ="s2 "> """</ span >
210211
212+
211213< span class ="n "> CASE_TEXT_SCHEMA</ span > < span class ="o "> =</ span > < span class ="p "> {</ span >
212214 < span class ="s2 "> "type"</ span > < span class ="p "> :</ span > < span class ="s2 "> "object"</ span > < span class ="p "> ,</ span >
213215 < span class ="s2 "> "properties"</ span > < span class ="p "> :</ span > < span class ="p "> {},</ span >
214216 < span class ="s2 "> "additionalProperties"</ span > < span class ="p "> :</ span > < span class ="p "> {</ span > < span class ="s2 "> "type"</ span > < span class ="p "> :</ span > < span class ="s2 "> "string"</ span > < span class ="p "> },</ span >
215217< span class ="p "> }</ span >
216218
217219
218- < div class ="viewcode-block " id ="InteractiveAlgorithmChoices ">
219- < a class ="viewcode-back " href ="../../../reader-studies.html#grandchallenge.reader_studies.models.InteractiveAlgorithmChoices "> [docs]</ a >
220- < span class ="k "> class</ span > < span class ="w "> </ span > < span class ="nc "> InteractiveAlgorithmChoices</ span > < span class ="p "> (</ span > < span class ="n "> models</ span > < span class ="o "> .</ span > < span class ="n "> TextChoices</ span > < span class ="p "> ):</ span >
221- < span class ="n "> ULS23_BASELINE</ span > < span class ="o "> =</ span > < span class ="s2 "> "uls23-baseline"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "ULS23 Baseline"</ span > </ div >
222-
223-
224-
225220< div class ="viewcode-block " id ="ReaderStudy ">
226221< a class ="viewcode-back " href ="../../../reader-studies.html#grandchallenge.reader_studies.models.ReaderStudy "> [docs]</ a >
227222< span class ="k "> class</ span > < span class ="w "> </ span > < span class ="nc "> ReaderStudy</ span > < span class ="p "> (</ span >
@@ -513,25 +508,6 @@ <h1>Source code for grandchallenge.reader_studies.models</h1><div class="highlig
513508 < span class ="k "> else</ span > < span class ="p "> :</ span >
514509 < span class ="n "> remove_perm</ span > < span class ="p "> (</ span > < span class ="sa "> f</ span > < span class ="s2 "> "view_</ span > < span class ="si "> {</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _meta</ span > < span class ="o "> .</ span > < span class ="n "> model_name</ span > < span class ="si "> }</ span > < span class ="s2 "> "</ span > < span class ="p "> ,</ span > < span class ="n "> reg_and_anon</ span > < span class ="p "> ,</ span > < span class ="bp "> self</ span > < span class ="p "> )</ span >
515510
516- < span class ="k "> def</ span > < span class ="w "> </ span > < span class ="nf "> assign_workstation_permissions</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> ):</ span >
517- < span class ="n "> perm</ span > < span class ="o "> =</ span > < span class ="s2 "> "workstations.view_workstation"</ span >
518-
519- < span class ="k "> for</ span > < span class ="n "> group</ span > < span class ="ow "> in</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> editors_group</ span > < span class ="p "> ,</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> readers_group</ span > < span class ="p "> ):</ span >
520- < span class ="n "> workstations</ span > < span class ="o "> =</ span > < span class ="n "> get_objects_for_group</ span > < span class ="p "> (</ span >
521- < span class ="n "> group</ span > < span class ="o "> =</ span > < span class ="n "> group</ span > < span class ="p "> ,</ span >
522- < span class ="n "> perms</ span > < span class ="o "> =</ span > < span class ="n "> perm</ span > < span class ="p "> ,</ span >
523- < span class ="p "> )</ span >
524-
525- < span class ="k "> if</ span > < span class ="p "> (</ span >
526- < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> workstation</ span > < span class ="ow "> not</ span > < span class ="ow "> in</ span > < span class ="n "> workstations</ span >
527- < span class ="p "> )</ span > < span class ="ow "> or</ span > < span class ="n "> workstations</ span > < span class ="o "> .</ span > < span class ="n "> count</ span > < span class ="p "> ()</ span > < span class ="o "> ></ span > < span class ="mi "> 1</ span > < span class ="p "> :</ span >
528- < span class ="n "> remove_perm</ span > < span class ="p "> (</ span > < span class ="n "> perm</ span > < span class ="o "> =</ span > < span class ="n "> perm</ span > < span class ="p "> ,</ span > < span class ="n "> user_or_group</ span > < span class ="o "> =</ span > < span class ="n "> group</ span > < span class ="p "> ,</ span > < span class ="n "> obj</ span > < span class ="o "> =</ span > < span class ="n "> workstations</ span > < span class ="p "> )</ span >
529-
530- < span class ="c1 "> # Allow readers to view the workstation used for this study</ span >
531- < span class ="n "> assign_perm</ span > < span class ="p "> (</ span >
532- < span class ="n "> perm</ span > < span class ="o "> =</ span > < span class ="n "> perm</ span > < span class ="p "> ,</ span > < span class ="n "> user_or_group</ span > < span class ="o "> =</ span > < span class ="n "> group</ span > < span class ="p "> ,</ span > < span class ="n "> obj</ span > < span class ="o "> =</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> workstation</ span >
533- < span class ="p "> )</ span >
534-
535511< div class ="viewcode-block " id ="ReaderStudy.clean ">
536512< a class ="viewcode-back " href ="../../../reader-studies.html#grandchallenge.reader_studies.models.ReaderStudy.clean "> [docs]</ a >
537513 < span class ="k "> def</ span > < span class ="w "> </ span > < span class ="nf "> clean</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> ):</ span >
@@ -558,7 +534,10 @@ <h1>Source code for grandchallenge.reader_studies.models</h1><div class="highlig
558534 < span class ="nb "> super</ span > < span class ="p "> ()</ span > < span class ="o "> .</ span > < span class ="n "> save</ span > < span class ="p "> (</ span > < span class ="o "> *</ span > < span class ="n "> args</ span > < span class ="p "> ,</ span > < span class ="o "> **</ span > < span class ="n "> kwargs</ span > < span class ="p "> )</ span >
559535
560536 < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> assign_permissions</ span > < span class ="p "> ()</ span >
561- < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> assign_workstation_permissions</ span > < span class ="p "> ()</ span > </ div >
537+ < span class ="n "> reassign_workstation_permissions</ span > < span class ="p "> (</ span >
538+ < span class ="n "> groups</ span > < span class ="o "> =</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> readers_group</ span > < span class ="p "> ,</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> editors_group</ span > < span class ="p "> ),</ span >
539+ < span class ="n "> workstation</ span > < span class ="o "> =</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> workstation</ span > < span class ="p "> ,</ span >
540+ < span class ="p "> )</ span > </ div >
562541
563542
564543 < span class ="k "> def</ span > < span class ="w "> </ span > < span class ="nf "> delete</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> ,</ span > < span class ="o "> *</ span > < span class ="n "> args</ span > < span class ="p "> ,</ span > < span class ="o "> **</ span > < span class ="n "> kwargs</ span > < span class ="p "> ):</ span >
0 commit comments