diff --git a/semantics/static/js/semantics_frames.js b/semantics/static/js/semantics_frames.js index a61b8e5..cc88b0d 100644 --- a/semantics/static/js/semantics_frames.js +++ b/semantics/static/js/semantics_frames.js @@ -24,10 +24,12 @@ function getFrames(frames_display){ var frames = frames_display[i].frames; var visible = frames_display[i].visible; var local = frames_display[i].local; + var locked = frames_display[i].locked; for (j = 0; j < frames.length; j++) { frame_content[frames[j].frame_id] = frames[j]; frame_content[frames[j].frame_id]['visible'] = visible; frame_content[frames[j].frame_id]['local'] = local; + frame_content[frames[j].frame_id]['locked'] = locked; frame_localization[frames[j].frame_id] = {"units": i, "position": j}; lexical_units_frames[i].push(frames[j].frame_id); } @@ -64,7 +66,11 @@ function getDisplay(visibility, checkboxes) { display += '<div>'; if (checkboxes) { var frame_id = frame_content[lexical_units_frames[i][0]].frame_id; - display += '<input type="checkbox" name= "frames" value="' + frame_id + '">'; + display += '<input type="checkbox" name= "frames" value="' + frame_id + '"'; + if (frame_content[lexical_units_frames[i][0]].locked) { + display += " disabled" + } + display += '>'; } var units = []; diff --git a/semantics/views.py b/semantics/views.py index 5a39fa4..524f5c8 100644 --- a/semantics/views.py +++ b/semantics/views.py @@ -119,7 +119,7 @@ def create_frames_context(lemma_id, user): for t in k: # for t in type_frames: - frame_display = {"lexical_units": [], "frames": [], "visible": False, "local": None} + frame_display = {"lexical_units": [], "frames": [], "visible": False, "local": False, "locked": False} for lu in list(t): frame_display["lexical_units"].append({"id": str(lu.id), "base": lu.base, "sense": str(lu.sense)}) lu_entry = lu.entry @@ -134,7 +134,9 @@ def create_frames_context(lemma_id, user): frame_display["local"] = True frame_display["visible"] = True else: - frame_display["local"] = False + min_priority = [x.priority for x in Lemma_Status.objects.all() if x.status == "(S) sprawdzone"][0] + if frame_entry.actual_lemma().status.priority < min_priority: + frame_display["locked"] = True # frame_complements = Complement.objects.filter(frame=frame) # frame_complements = frame.complements.all() @@ -246,7 +248,6 @@ def create_frames_context(lemma_id, user): alternations[frame.id][schema.id] = alternation # alternations[frame.id] = {} - frames_display.append(frame_display) # ala["ma"] = "kot"