.
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
# Generated by Django 3.2.8 on 2021-12-14 18:03
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('generic', '0018_auto_20211214_1745'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='cidusergroup',
|
||||
name='archive',
|
||||
field=models.BooleanField(default=False),
|
||||
),
|
||||
]
|
||||
@@ -230,6 +230,7 @@ class CidUserExam(models.Model):
|
||||
|
||||
class CidUserGroup(models.Model):
|
||||
name = models.CharField(blank=True, max_length=50)
|
||||
archive = models.BooleanField(default=False)
|
||||
|
||||
def __str__(self) -> str:
|
||||
return str(self.name)
|
||||
|
||||
@@ -46,5 +46,7 @@ class CidUserTable(tables.Table):
|
||||
"cid",
|
||||
"passcode",
|
||||
"active",
|
||||
"group"
|
||||
"internal"
|
||||
)
|
||||
# sequence = ("view")
|
||||
|
||||
@@ -74,6 +74,16 @@
|
||||
</span>
|
||||
|
||||
|
||||
</div>
|
||||
<div>
|
||||
Groups<br/>
|
||||
<select id="cid-groups" multiple="multiple">
|
||||
{% for name, id in cid_user_groups %}
|
||||
<option value="{{id}}">{{name}}</option>
|
||||
{% endfor %}
|
||||
|
||||
</select>
|
||||
<button id="add-group">Add Group to users</button>
|
||||
</div>
|
||||
<button id="add-new-cids">Add New Users</button>
|
||||
<input type="number" id="add-number" value="number to add">
|
||||
@@ -121,6 +131,7 @@
|
||||
sba_exams: JSON.stringify($("#sbas-exams").val()),
|
||||
longs_exams: JSON.stringify($("#longs-exams").val()),
|
||||
anatomy_exams: JSON.stringify($("#anatomy-exams").val()),
|
||||
cid_groups: JSON.stringify($("#cid-groups").val()),
|
||||
delete: false,
|
||||
number_to_create: 0,
|
||||
activate: false,
|
||||
@@ -132,6 +143,11 @@
|
||||
}
|
||||
|
||||
$(document).ready(function () {
|
||||
$("#add-group").click((evt) => {
|
||||
data = getGenericData();
|
||||
data["add_group"] = true;
|
||||
postAjax(data);
|
||||
});
|
||||
$("#add-exams-selected-cids").click((evt) => {
|
||||
data = getGenericData();
|
||||
data["add_exams"] = true;
|
||||
|
||||
+17
-7
@@ -34,7 +34,7 @@ from .forms import (
|
||||
ExaminationForm,
|
||||
)
|
||||
|
||||
from .models import CidUser, Examination, QuestionNote
|
||||
from .models import CidUser, CidUserGroup, Examination, QuestionNote
|
||||
|
||||
from rapids.models import Rapid as RapidQuestion
|
||||
from rapids.models import Exam as RapidExam
|
||||
@@ -432,11 +432,7 @@ class ExamViews(View, LoginRequiredMixin):
|
||||
return render(
|
||||
request,
|
||||
"{}/exam_cids.html".format(self.app_name),
|
||||
{
|
||||
"exam": exam,
|
||||
"cid_users": cid_users,
|
||||
"cid_user_count": cid_user_count
|
||||
},
|
||||
{"exam": exam, "cid_users": cid_users, "cid_user_count": cid_user_count},
|
||||
)
|
||||
|
||||
# @method_decorator(login_required)
|
||||
@@ -980,11 +976,16 @@ class CidUserView(LoginRequiredMixin, SingleTableMixin, FilterView):
|
||||
(i.name, i.pk) for i in AnatomyExam.objects.filter(archive=False)
|
||||
]
|
||||
|
||||
cid_user_groups = [
|
||||
(i.name, i.pk) for i in CidUserGroup.objects.filter(archive=False)
|
||||
]
|
||||
|
||||
context["physics_exams"] = physics_exams
|
||||
context["rapid_exams"] = rapid_exams
|
||||
context["sba_exams"] = sba_exams
|
||||
context["longs_exams"] = longs_exams
|
||||
context["anatomy_exams"] = anatomy_exams
|
||||
context["cid_user_groups"] = cid_user_groups
|
||||
return context
|
||||
|
||||
|
||||
@@ -997,17 +998,27 @@ def manage_cid_users(request):
|
||||
sba_exams = json.loads(request.POST.get("sba_exams"))
|
||||
longs_exams = json.loads(request.POST.get("longs_exams"))
|
||||
anatomy_exams = json.loads(request.POST.get("anatomy_exams"))
|
||||
cid_groups = json.loads(request.POST.get("cid_groups"))
|
||||
|
||||
selected_cids = json.loads(request.POST.get("selected_cids"))
|
||||
|
||||
number_to_create = int(request.POST.get("number_to_create"))
|
||||
|
||||
add_group = request.POST.get("add_group")
|
||||
delete = request.POST.get("delete")
|
||||
activate = request.POST.get("activate")
|
||||
deactivate = request.POST.get("deactivate")
|
||||
add_exams = request.POST.get("add_exams")
|
||||
clear_exams = request.POST.get("clear_exams")
|
||||
|
||||
if add_group == "true":
|
||||
cids = CidUser.objects.filter(pk__in=selected_cids)
|
||||
for c in cids:
|
||||
c.group_id = cid_groups[0]
|
||||
c.save()
|
||||
return JsonResponse({"status": "success"})
|
||||
|
||||
|
||||
if delete == "true":
|
||||
cids = CidUser.objects.filter(pk__in=selected_cids).delete()
|
||||
return JsonResponse({"status": "success"})
|
||||
@@ -1037,7 +1048,6 @@ def manage_cid_users(request):
|
||||
return JsonResponse({"status": "success"})
|
||||
|
||||
if add_exams == "true":
|
||||
print("ADD EXAMS", selected_cids)
|
||||
cids = CidUser.objects.filter(pk__in=selected_cids)
|
||||
for c in cids:
|
||||
if physics_exams:
|
||||
|
||||
Reference in New Issue
Block a user