Пример #1
0
 def post(self, request, *args, **kwargs):
     print request.POST
     if request.POST['etype']=='subject':
         form=SubjectForm(request.POST)
         sub = form.save(commit=False)
         sub.save()
         return HttpResponseRedirect('/admin/subject')
     if request.POST['etype']=='map':
         form=SubjectMapForm(request.POST)
         _map = form.save(commit=False)
         _map.save()
         return HttpResponseRedirect('/admin/subject/')
Пример #2
0
 def post(self, request, *args, **kwargs):
     try:
         instance = Subject.objects.get(id=request.POST['sid'])
         form=SubjectForm(request.POST,instance=instance)
         sub = form.save(commit=False)
         #user = User.objects.create_user(student.admission_no,student.email, 'johnpassword')
         #user.first_name=student.name
         #user.save()
         sub.save()
         msg="Record saved"
     except:
         msg="Unable to process, Please check all values are present"
     return HttpResponse(json.dumps(dict(result=msg)), content_type="application/json")
Пример #3
0
def find():
    user = g.user
    subjectform = SubjectForm()
    if subjectform.validate_on_submit():
        semtmp = re.search('^\d+', subjectform.semesters.data).group(0)
        subjects = list(
            filter(
                lambda x: semtmp in x.semesters,
                Subject.query.filter_by(name=subjectform.name.data.lower())))
        if len(subjects) != 0:
            if subjects[0] is not None:
                return redirect(
                    url_for('subjectpage',
                            name=subjects[0].name,
                            semester=semtmp))
        flash("No subject with this parameters")
        subjectform.name.data = ""
        subjectform.semesters.data = ""
    return render_template("find.html", form=subjectform, user=user)
Пример #4
0
def subjects():
    available_rooms = Rooms.query.all()
    room_list = [(-1,'No Preference')]
    for room in available_rooms:
        room_list.append((room.room_id, room.location))
    form = SubjectForm()
    
    if form.add_more_component.data:
        print("came here instead")
        form.component.append_entry(u'default value')
    for entry in form.component.entries:
        entry.classroom.choices = room_list

    if form.validate_on_submit():
        print("came here")
        if form.term_no.data == '-1' or form.pillar.data == '-1' or form.subject_type.data == '-1':
            print("Please choose an option for term, pillar and subject type")
        else:
            subjectname = form.subject_name.data
            subjectid = form.subject_id.data
            termno = dict(form.terms).get(form.term_no.data)
            subjecttype = dict(form.subject_types).get(form.subject_type.data)
            pillar = form.pillar.data
            cohort_num = form.cohort_num.data
            total_enrollment = form.total_enrollment.data
            session_nums = len(form.component.entries)
            components = []
            for each_entry in form.component.entries:
                temp  = {"duration":each_entry.data['duration'],"sessionType": int(each_entry.data['session']),"classroom":each_entry.data['classroom'], 'cohorts':[]}
                if int(each_entry.data['session']) == -1:
                    print("Please choose an option for session type")
                    return render_template('subjects.html',form=form)
                if int(each_entry.data['session']) == 1:
                    for i in range(cohort_num):
                        temp['cohorts'].append(i)
                components.append(temp)
                print(temp)
            Subjects.insertSubject(subjectid,termno,subjecttype,subjectname, str(components), pillar, cohort_num, total_enrollment, session_nums)
            return redirect(url_for('subjectsTable'))
            
        
    return render_template('subjects.html',form=form)
Пример #5
0
def refactor(name, semester):
    subject = Subject.query.filter_by(name=name).first()
    if subject is not None and semester in subject.semesters:
        if (g.user.role == ROLE_ADMIN) | (g.user.nickname
                                          in subject.allowed_users):
            ref_form = RefactorForm()
            subj_form = SubjectForm()
            att_number = {1: ref_form.att1, 2: ref_form.att2, 3: ref_form.att3}
            if ref_form.validate_on_submit():
                for att in subject.attestations:
                    if att.semester == semester:
                        att.themes = att_number[att.number].data
                subject.last_change = datetime.datetime.now()
                subject.allowed_users += ' ' + ref_form.users_to_add.data.lower(
                )
                for nick in ref_form.users_to_delete.data.lower().split(' '):
                    subject.allowed_users = subject.allowed_users.replace(
                        nick, "").rstrip()
                subject.name = subj_form.name.data.lower()
                subject.semesters = subj_form.semesters.data.lower()
                db.session.add(subject)
                db.session.commit()
                return redirect(
                    url_for('subjectpage',
                            name=subject.name,
                            semester=semester))
            else:
                subj_form.name.data = str(subject.name)
                subj_form.semesters.data = str(subject.semesters)
                for att in subject.attestations:
                    if att.semester == semester:
                        att_number[att.number].data = att.themes
                return render_template('refactor.html',
                                       subject=subject,
                                       user=g.user,
                                       semester=semester,
                                       ref_form=ref_form,
                                       subj_form=subj_form)
        else:
            flash('No permission to change themes')
            return redirect(
                url_for('subjects.html',
                        subject=subject,
                        user=g.user,
                        semester=semester))
    else:
        flash('No subjects with such parameters')
        return redirect(url_for('find'))