Exemple #1
0
def KLP_StudentGroup_Create(request, referKey):
    """ To Create New StudentGroup boundary/(?P<bounday>\d+)/schools/(?P<school>\d+)/class/creator/"""
    #Checking user Permissions for SG add
    KLP_user_Perm(request.user, "StudentGroup", "Add")
    buttonType = request.POST.get('form-buttonType')
    instObj = Institution.objects.get(id=referKey)
    group_typ = request.GET.get("group_typ") or request.POST.get("group_typ")
    #before StudentGroup.objects.all()
    KLP_Create_StudentGroup = KLP_StudentGroup(
        queryset=StudentGroup.objects.filter(pk=0),
        permitted_methods=('GET', 'POST'),
        responder=TemplateResponder(
            template_dir='viewtemplates',
            template_object_name='studentgroup',
            extra_context={
                'buttonType': buttonType,
                'ParentKey': referKey,
                'group_typ': group_typ,
                'sch_typ': instObj.boundary.boundary_category.boundary_category
            }),
        receiver=XMLReceiver(),
    )
    response = KLP_Create_StudentGroup.responder.create_form(
        request, form_class=StudentGroup_Form)
    return HttpResponse(response)
Exemple #2
0
def KLP_Assessment_Create(request, referKey):
    """ To Create New Assessment programme/assessment/(?P<referKey>\d+)/creator/"""
    # Checking user Permissions for Assessment add
    KLP_user_Perm(request.user, "Assessment", "Add")
    # Get Current date for to pass for calendar
    now = datetime.date.today()
    buttonType = request.POST.get('form-buttonType')
    currentMont = int(now.strftime('%m'))
    endYear = int(now.strftime('%Y'))
    if currentMont > 4:
        endYear = endYear + 1
    print referKey
    #before Assessment.objects.all()
    KLP_Create_Assessment = KLP_Assessment(
        queryset=Assessment.objects.filter(pk=0),
        permitted_methods=('GET', 'POST'),
        responder=TemplateResponder(template_dir='viewtemplates',
                                    template_object_name='assessment',
                                    extra_context={
                                        'buttonType': buttonType,
                                        'referKey': referKey,
                                        'endDate': 30,
                                        'endYear': endYear,
                                        'endMonth': 'APRIL'
                                    }),
        receiver=XMLReceiver(),
    )
    response = KLP_Create_Assessment.responder.create_form(
        request, form_class=Assessment_Form)
    print response
    return HttpResponse(response)
Exemple #3
0
def KLP_User_Delete(request, user_id):
    """ This method is used to delete(deactivate) user"""
    # get logged in user
    user = request.user
    if user.id:
        # check logged in user permissions to delete user
        KLP_user_Perm(request.user, "Users", None)
        import random
        import string
        rangeNum = 8
        # generate random string to replace existing password.
        randomStr = ''.join(
            random.choice(string.ascii_uppercase + string.digits)
            for x in range(rangeNum))
        # get user object
        userObj = User.objects.get(pk=user_id)
        userObj.is_active = 0  # deactivate user
        #		userObj.set_password(randomStr) # replace password with random string
        userObj.save()  # save user object
        return render_to_response('viewtemplates/userAction_done.html', {
            'user': request.user,
            'selUser': userObj,
            'message': 'User Deletion Successful',
            'legend': 'Karnataka Learning Partnership',
            'entry': "Add"
        },
                                  context_instance=RequestContext(request))
    else:
        # if user is not logged in redirect to login page
        return HttpResponseRedirect('/login/')
Exemple #4
0
def KLP_Staff_Create(request, referKey):
    """ To Create New Staff institution/(?P<referKey>\d+)/staff/creator/"""
    # Checking user Permissions for Staff creation
    KLP_user_Perm(request.user, "Staff", "Add")
    buttonType = request.POST.get('form-buttonType')
    url = '/institution/%s/staff/creator/' % (referKey)
    extra_dict = {'buttonType': buttonType, 'referKey': referKey, 'url': url}
    extra_dict['institution_id'] = referKey
    extra_dict['stgrps'] = StudentGroup.objects.filter(
        institution__id=referKey, active=2).order_by("name", "section")
    institutionObj = Institution.objects.get(pk=referKey)
    if institutionObj.boundary.boundary_category.boundary_category.lower(
    ) == 'circle':
        # if the boundary category is circle get anganwadi staff types.
        extra_dict['institutionType'] = 'Anganwadi'
        Staff_Types = Staff_Type.objects.filter(categoryType=2)
    else:
        # if the boundary category is not circle get Institution staff types.
        extra_dict['institutionType'] = 'Institution'
        Staff_Types = Staff_Type.objects.filter(categoryType=1)
    extra_dict['Staff_Types'] = Staff_Types
    #before Staff.objects.all()
    KLP_Create_Staff = KLP_Staff(
        queryset=Staff.objects.filter(pk=0),
        permitted_methods=('GET', 'POST'),
        responder=TemplateResponder(template_dir='viewtemplates',
                                    template_object_name='staff',
                                    extra_context=extra_dict),
        receiver=XMLReceiver(),
    )

    response = KLP_Create_Staff.responder.create_form(request,
                                                      form_class=Staff_Form)
    return HttpResponse(response)
Exemple #5
0
def KLP_Student_Create(request, studentgroup_id, counter=0):
    """ To Create New Student boundary/(?P<bounday>\d+)/schools/(?P<school>\d+)/class/creator/"""
    # Checking user Permissions for Student add
    KLP_user_Perm(request.user, "Student", "Add")

    buttonType = request.POST.get('form-buttonType')
    model = StudentGroup.objects.get(id=studentgroup_id)
    mapStudent = request.GET.get('map_Student') or request.POST.get(
        'mapStudent') or 0
    assessment_id = request.GET.get('assessment_id') or request.POST.get(
        'assessment_id') or 0
    referKey = Institution.objects.get(id=model.institution.id).boundary.id
    #before Child.objects.all()
    queryset = Child.objects.filter(pk=0)
    print queryset
    KLP_Create_Student = KLP_Student(
        queryset,
        permitted_methods=('GET', 'POST'),
        responder=TemplateResponder(template_dir='viewtemplates',
                                    template_object_name='child',
                                    extra_context={
                                        'buttonType': buttonType,
                                        'referKey': referKey,
                                        "studentgroup_id": studentgroup_id,
                                        'studentgroup': model,
                                        'modelName': "student",
                                        "mapStudent": mapStudent,
                                        'assessment_id': assessment_id,
                                        'counter': counter
                                    }),
        receiver=XMLReceiver(),
    )
    response = KLP_Create_Student.responder.create_form(request,
                                                        form_class=Child_Form)
    return HttpResponse(response)
Exemple #6
0
def KLP_ReAssign_Permissions(request, permissionType):
    """ This method is used to reassign permissions to user"""
    # check logged in user permissions
    KLP_user_Perm(request.user, "Users", None)
    #get selected users list
    userList = request.POST.getlist('userId')
    permissions = ['Acess']
    opStatus = "success"
    try:
        if permissionType == 'permissions':
            # if permissionsType is permissions assign instituions to user
            inst_list = request.POST.getlist(
                'unassignedInst')  # get selected institution list
            assignPermission(
                inst_list, userList, permissions, permissionType, None,
                True)  # call assignPermission method to assign permission
        else:
            # else assign assessments to user
            asmList = request.POST.getlist(
                'unassignedAsm')  # get selected assesment and institution list
            for asm in asmList:
                asm_list = asm.split("_")
                inst_list = [asm_list[0]]
                assessmentId = asm_list[1]
                assignPermission(
                    inst_list, userList, permissions, permissionType,
                    assessmentId
                )  # call assignPermission method to assign permission
    except:
        opStatus = "fail"
    # if reassign permission fail return response as fail else return success.
    return HttpResponse(opStatus)
Exemple #7
0
def KLP_Programme_Update(request, programme_id):
    """ To update Selected Programme programme/(?P<programme_id>\d+)/update/"""
    # Checking user Permissions for programme update
    KLP_user_Perm(request.user, "Programme", "Update")
    # Get Current date for to pass for calendar
    now = datetime.date.today()
    buttonType = request.POST.get('form-buttonType')
    currentMont = int(now.strftime('%m'))
    endYear = int(now.strftime('%Y'))
    if currentMont > 4:
        endYear = endYear + 1

#before Programme.objects.all()
    KLP_Edit_Programme = KLP_Programme(
        queryset=Programme.objects.filter(pk=programme_id),
        permitted_methods=('GET', 'POST'),
        responder=TemplateResponder(template_dir='edittemplates',
                                    template_object_name='programme',
                                    extra_context={
                                        'buttonType': buttonType,
                                        'endDate': 30,
                                        'endYear': endYear,
                                        'endMonth': 'APRIL'
                                    }),
        receiver=XMLReceiver(),
    )
    response = KLP_Edit_Programme.responder.update_form(
        request, pk=programme_id, form_class=Programme_Form)

    return HttpResponse(response)
Exemple #8
0
def KLP_StudentGroup_Update(request, studentgroup_id):
    """ To update Selected School school/(?P<school_id>\d+)/update/"""
    #Checking user Permissions for SG update
    KLP_user_Perm(request.user, "StudentGroup", "Update")
    buttonType = request.POST.get('form-buttonType')
    ParentKey = request.POST.get('form-0-institution')
    group_typ = request.GET.get("group_typ") or request.POST.get("group_typ")
    sgObj = StudentGroup.objects.get(pk=studentgroup_id)
    sch_typ = request.GET.get(
        "sch_typ") or sgObj.institution.boundary.boundary_category
    #before StudentGroup.objects.all()
    KLP_Edit_StudentGroup = KLP_StudentGroup(
        queryset=StudentGroup.objects.filter(pk=0),
        permitted_methods=('GET', 'POST'),
        responder=TemplateResponder(template_dir='edittemplates',
                                    template_object_name='studentgroup',
                                    extra_context={
                                        'buttonType': buttonType,
                                        'ParentKey': ParentKey,
                                        'group_typ': group_typ,
                                        'sch_typ': sch_typ
                                    }),
        receiver=XMLReceiver(),
    )
    response = KLP_Edit_StudentGroup.responder.update_form(
        request, pk=studentgroup_id, form_class=StudentGroup_Form)
    return HttpResponse(response)
Exemple #9
0
    def read(self, request, model_name1, referKey):
        modelDict = {
            'boundary': Boundary,
            'institution': Institution,
            'programme': Programme,
            'assessment': Assessment,
            'question': Question,
            'studentgroup': StudentGroup,
            'student': Student,
            'staff': Staff,
            'class': StudentGroup,
            'center': StudentGroup
        }
        # Checking user Permissions
        KLP_user_Perm(request.user,
                      modelDict[model_name1.lower()]._meta.module_name,
                      "Delete")
        # Get Object based on id and model to delete
        obj = modelDict[model_name1.lower()].objects.get(pk=referKey)
        if model_name1.lower() == 'student':
            Student_StudentGroupRelation.objects.filter(
                student__id=referKey).update(active=0)
        if model_name1.lower() in ['class', 'center']:
            Staff_StudentGroupRelation.objects.filter(
                student_group__id=referKey).update(active=0)

        obj.active = 0  # Change active to 0(object is deleted)
        obj.save()  # Save Data
        return HttpResponse('Deleted')
Exemple #10
0
def KLP_Revoke_Permissions(request, permissionType):
    """ This method is used to revoke user permissions"""
    # check logged in user permissions
    KLP_user_Perm(request.user, "Users", None)
    # get user id to revoke permissions
    user_id = request.POST.get('userId')
    opStatus = "success"
    try:
        if permissionType == 'permissions':
            # if permissiontype is permissions revoke institution permissions for the user
            userObj = User.objects.get(pk=user_id)
            # get institution list to revoke
            instList = request.POST.getlist('assignedInst')
            for inst_id in instList:
                instObj = Institution.objects.get(pk=inst_id)
                # revoke permission for user
                userObj.revoke('Acess', instObj)
        else:
            # else revoke assessment permissions
            assignedAsmList = request.POST.getlist('assignedAsm')
            for userAsm_id in assignedAsmList:
                # get UserAssessmentPermissions object
                permObj = UserAssessmentPermissions.objects.get(pk=userAsm_id)
                permObj.access = False  # revoke permissions
                permObj.save()
    except:
        opStatus = "fail"
    # if revoke permission fail return response as fail else return success.
    return HttpResponse(opStatus)
Exemple #11
0
def KLP_User_Permissions(request, user_id):
    """ This method is used to show tree for the selected user to show permissions"""
    # get logged in user
    user = request.user
    if user.id:
        # check logged in user permissions
        KLP_user_Perm(request.user, "Users", None)
        # get user object
        userObj = User.objects.get(pk=user_id)
        # get all boundary types
        boundType_List = Boundary_Type.objects.all()
        try:
            sessionVal = int(request.session['session_sch_typ'])
        except:
            sessionVal = 0
        # render user permissions template
        return render_to_response('viewtemplates/user_permissions.html', {
            'userId': user_id,
            'userName': userObj.username,
            'boundType_List': boundType_List,
            'home': True,
            'session_sch_typ': sessionVal,
            'entry': "Add",
            'shPerm': True,
            'title': 'KLP Permissions',
            'legend': 'Karnataka Learning Partnership'
        },
                                  context_instance=RequestContext(request))
    else:
        # if user is not logged in redirect to login page
        return HttpResponseRedirect('/login/')
Exemple #12
0
def KLP_Boundary_Create(request):
	""" To Create New Boundary boundary/creator/"""
	# Checking user Permissions
	KLP_user_Perm(request.user, "Boundary", "Add")
	buttonType = request.POST.get('form-buttonType')
        KLP_Create_Boundary =KLP_Boundary(queryset = Boundary.objects.filter(pk=0), permitted_methods = ('GET', 'POST'), responder = TemplateResponder(template_dir = 'viewtemplates', template_object_name = 'boundary', extra_context={'buttonType':buttonType}), receiver = XMLReceiver(),)
        
	response = KLP_Create_Boundary.responder.create_form(request,form_class=Boundary_Form)
	
	return HttpResponse(response)
Exemple #13
0
def KLP_Boundary_Update(request, boundary_id):
	""" To update Selected Boundary boundary/(?P<boundary_id>\d+)/update/"""
	# Checking user Permissions
        KLP_user_Perm(request.user, "Boundary", "Update")
	buttonType = request.POST.get('form-buttonType')
	referKey = request.POST.get('form-0-boundary')
	KLP_Edit_Boundary =KLP_Boundary(queryset = Boundary.objects.filter(pk=boundary_id), permitted_methods = ('GET', 'POST'), responder = TemplateResponder(template_dir = 'edittemplates', template_object_name = 'boundary', extra_context={'buttonType':buttonType, 'referKey':referKey}), receiver = XMLReceiver(),)
        
	response = KLP_Edit_Boundary.responder.update_form(request, pk=boundary_id, form_class=Boundary_Form)
	
	return HttpResponse(response)
Exemple #14
0
def KLP_audit(request):
    """ This method is used to show audit trail report for the users using fullhistory """
    user = request.user  # get logged in user
    # check user permissions to access audit trial report
    KLP_user_Perm(request.user, "Audit", None)
    # get all active(1) user to show in drop down.
    userList = User.objects.filter(is_active=1)
    respDict = {
        'userList': userList,
        'title': 'Karanataka Learning Partnership'
    }
    # check requested method
    if request.POST:
        # if request methos is post get selcted user from drop down
        selUser = request.POST.get('selUser')
        today = datetime.date.today()
        defaultDate = today.strftime("%d") + '-' + today.strftime(
            "%m") + '-' + today.strftime("%Y")
        # get start date and end date
        startDate = request.POST.get('startDate')
        endDate = request.POST.get('endDate')
        # if start date and end date are empty then default start date and end date are current date.
        if not startDate:
            startDate = defaultDate
        if not endDate:
            endDate = defaultDate
        respDict['startDate'] = startDate
        respDict['endDate'] = endDate
        respDict['selUser'] = int(selUser)
        strDate = startDate.split('-')
        enDate = endDate.split('-')
        # Query fullhistory table based on start date, end date and selected user
        fullHistoryList = FullHistory.objects.filter(
            action_time__range=(datetime.date(int(strDate[2]), int(strDate[1]),
                                              int(strDate[0])),
                                datetime.date(int(enDate[2]), int(enDate[1]),
                                              int(enDate[0]))),
            request__user_pk=selUser)
        respDict['fullHistoryList'] = fullHistoryList
        # return reponse to template
        return render_to_response('viewtemplates/auditTrial.html',
                                  respDict,
                                  context_instance=RequestContext(request))
    return render_to_response('viewtemplates/auditTrial.html',
                              respDict,
                              context_instance=RequestContext(request))
Exemple #15
0
def KLP_Staff_Update(request, staff_id):
    """ To update Selected staff staff/(?P<staff_id>\d+)/update/"""
    # Checking user Permissions for Staff update
    KLP_user_Perm(request.user, "Staff", "Update")
    buttonType = request.POST.get('form-buttonType')
    referKey = request.POST.get('form-0-boundary')
    querysetstaff = Staff.objects.filter(pk=staff_id)
    staff = querysetstaff[0]  #Staff.objects.get(pk=staff_id)
    stgrps = StudentGroup.objects.filter(institution=staff.institution,
                                         active=2)
    institutionObj = staff.institution
    if institutionObj.boundary.boundary_category.boundary_category.lower(
    ) == 'circle':
        # if the boundary category is circle get anganwadi staff types.
        institutionType = 'Anganwadi'
        Staff_Types = Staff_Type.objects.filter(categoryType=2)
    else:
        # if the boundary category is not circle get Institution staff types.
        institutionType = 'Institution'
        Staff_Types = Staff_Type.objects.filter(categoryType=1)

#before Staff.objects.all()
    KLP_Edit_Staff = KLP_Staff(
        queryset=querysetstaff,
        permitted_methods=('GET', 'POST'),
        responder=TemplateResponder(template_dir='edittemplates',
                                    template_object_name='staff',
                                    extra_context={
                                        'buttonType': buttonType,
                                        'referKey': referKey,
                                        'stgrps': stgrps,
                                        'institutionType': institutionType,
                                        'Staff_Types': Staff_Types
                                    }),
        receiver=XMLReceiver(),
    )
    response = KLP_Edit_Staff.responder.update_form(request,
                                                    pk=staff_id,
                                                    form_class=Staff_Form)
    return HttpResponse(response)
Exemple #16
0
def KLP_Institution_Create(request, referKey):
    """ To Create New Institution boundary/(?P<referKey>\d+)/institution/creator/"""
    # Checking user Permissions
    KLP_user_Perm(request.user, "Institution", "Add")
    # Get Button Type
    buttonType = request.POST.get('form-buttonType')
    selCategoryTyp = request.POST.get('form-0-cat')
    if selCategoryTyp:
        selCategoryTyp = int(selCategoryTyp)
    # get parent boundary object for institution.
    boundaryObj = Boundary.objects.get(pk=referKey)
    institutionType = 'Institution'
    categoryType = 1
    if boundaryObj.boundary_category.boundary_category.lower() == 'circle':
        # if boundary category is circle then institutionType is Anganwadi and  categoryType is 2 else institutionType is Institution and  categoryType is 1
        institutionType = 'Anganwadi'
        categoryType = 2
    # Query for Institution Category based on  categoryType
    categoryList = Institution_Category.objects.filter(
        categoryType=categoryType)
    #before Institution.objects.all()
    KLP_Create_Institution = KLP_Institution(
        queryset=Institution.objects.filter(pk=0),
        permitted_methods=('GET', 'POST'),
        responder=TemplateResponder(template_dir='viewtemplates',
                                    template_object_name='institution',
                                    extra_context={
                                        'buttonType': buttonType,
                                        'referKey': referKey,
                                        'institutionType': institutionType,
                                        'categoryList': categoryList,
                                        'selCategoryTyp': selCategoryTyp
                                    }),
        receiver=XMLReceiver(),
    )
    response = KLP_Create_Institution.responder.create_form(
        request, form_class=Institution_Form)

    return HttpResponse(response)
Exemple #17
0
def KLP_Users_list(request):
    """ This method is used to list out active(1) users other than staff and super users"""
    # get logged in user
    user = request.user
    if user.id:
        # check logged in user permissions, to get user list
        KLP_user_Perm(request.user, "Users", None)
        # get all active(1) users list other than staff and super user order by username
        user_list = User.objects.filter(is_staff=0,
                                        is_superuser=0).order_by("username")
        # render show users form with users list
        return render_to_response('viewtemplates/show_users_form.html', {
            'user_list': user_list,
            'user': user,
            'title': 'KLP Users',
            'legend': 'Karnataka Learning Partnership',
            'entry': "Add"
        },
                                  context_instance=RequestContext(request))
    else:
        # if user is not logged in redirect to login page
        return HttpResponseRedirect('/login/')
Exemple #18
0
def KLP_User_Activate(request, user_id):
    """ This method is used to (activate) user"""
    # get logged in user
    user = request.user
    if user.id:
        # check logged in user permissions to delete user
        KLP_user_Perm(request.user, "Users", None)
        userObj = User.objects.get(pk=user_id)
        userObj.is_active = 1  # activate user
        userObj.save()  # save user object
        return render_to_response('viewtemplates/userAction_done.html', {
            'user': request.user,
            'selUser': userObj,
            'message': 'User Activated Successfully',
            'legend': 'Karnataka Learning Partnership',
            'entry': "Add"
        },
                                  context_instance=RequestContext(request))

    else:
        # if user is not logged in redirect to login page
        return HttpResponseRedirect('/login/')
Exemple #19
0
def KLP_Question_Update(request, question_id):
    """ To update Selected Question question/(?P<question_id>\d+)/update/"""
    # Checking user Permissions for Question Update
    KLP_user_Perm(request.user, "Question", "Update")
    # Get Button Type
    buttonType = request.POST.get('form-buttonType')
    referKey = request.POST.get('form-0-assessment')
    #before Question.objects.all()
    KLP_Edit_Question = KLP_Question(
        queryset=Question.objects.filter(pk=question_id),
        permitted_methods=('GET', 'POST'),
        responder=TemplateResponder(template_dir='edittemplates',
                                    template_object_name='question',
                                    extra_context={
                                        'buttonType': buttonType,
                                        'referKey': referKey
                                    }),
        receiver=XMLReceiver(),
    )
    response = KLP_Edit_Question.responder.update_form(
        request, pk=question_id, form_class=Question_Form)

    return HttpResponse(response)
Exemple #20
0
def KLP_Student_Update(request, student_id, counter=0):
    """ To update Selected student student/(?P<student_id>\d+)/update/"""
    # Checking user Permissions for Student update
    KLP_user_Perm(request.user, "Student", "Update")
    buttonType = request.POST.get('form-buttonType')
    #before Child.objects.all()
    KLP_Edit_Student = KLP_Student(
        queryset=Child.objects.filter(pk=student_id),
        permitted_methods=('GET', 'POST'),
        responder=TemplateResponder(template_dir='edittemplates',
                                    template_object_name='child',
                                    extra_context={
                                        'buttonType': buttonType,
                                        'modelName': "student",
                                        'counter': counter
                                    }),
        receiver=XMLReceiver(),
    )
    response = KLP_Edit_Student.responder.update_form(request,
                                                      pk=student_id,
                                                      form_class=Child_Form)

    return HttpResponse(response)
Exemple #21
0
def KLP_Question_Create(request, referKey):
    """ To Create New Question assessment/question/(?P<referKey>\d+)/creator/"""
    # Checking user Permissions for Question add
    KLP_user_Perm(request.user, "Question", "Add")
    buttonType = request.POST.get('form-buttonType')  # Get Button Type
    # get number of questions under assessments for question order
    order = Question.objects.filter(assessment__id=referKey).count() + 1
    #before Question.objects.all()
    KLP_Create_Question = KLP_Question(
        queryset=Question.objects.filter(pk=0),
        permitted_methods=('GET', 'POST'),
        responder=TemplateResponder(template_dir='viewtemplates',
                                    template_object_name='question',
                                    extra_context={
                                        'buttonType': buttonType,
                                        'referKey': referKey,
                                        'order': order
                                    }),
        receiver=XMLReceiver(),
    )
    response = KLP_Create_Question.responder.create_form(
        request, form_class=Question_Form)

    return HttpResponse(response)
Exemple #22
0
def KLP_Institution_Update(request, institution_id):
    """ To update Selected Institution institution/(?P<institution_id>\d+)/update/"""
    # Checking user Permissions
    KLP_user_Perm(request.user, "Institution", "Update")
    buttonType = request.POST.get('form-buttonType')
    referKey = request.POST.get('form-0-boundary')
    selCategoryTyp = request.POST.get('form-0-cat')
    if selCategoryTyp:
        selCategoryTyp = int(selCategoryTyp)
    institutionObj = Institution.objects.get(id=institution_id)
    institutionType = 'Institution'
    categoryType = 1
    if institutionObj.boundary.boundary_category.boundary_category == 'Circle':
        institutionType = 'Anganwadi'
        categoryType = 2
    categoryList = Institution_Category.objects.filter(
        categoryType=categoryType)
    #before Institution.objects.all()
    KLP_Edit_Institution = KLP_Institution(
        queryset=Institution.objects.filter(pk=institution_id),
        permitted_methods=('GET', 'POST'),
        responder=TemplateResponder(template_dir='edittemplates',
                                    template_object_name='institution',
                                    extra_context={
                                        'buttonType': buttonType,
                                        'referKey': referKey,
                                        'institutionType': institutionType,
                                        'categoryList': categoryList,
                                        'selCategoryTyp': selCategoryTyp
                                    }),
        receiver=XMLReceiver(),
    )
    response = KLP_Edit_Institution.responder.update_form(
        request, pk=institution_id, form_class=Institution_Form)

    return HttpResponse(response)
Exemple #23
0
    def read(self, request, model_name1, referKey):
        modelDict = {
            'boundary': Boundary,
            'institution': Institution,
            'programme': Programme,
            'assessment': Assessment,
            'question': Question,
            'studentgroup': StudentGroup,
            'student': Student,
            'staff': Staff,
            'class': StudentGroup,
            'center': StudentGroup
        }
        # Checking user Permissions
        KLP_user_Perm(request.user,
                      modelDict[model_name1.lower()]._meta.module_name,
                      "Delete")
        # Get Object based on id and model to delete
        obj = modelDict[model_name1.lower()].objects.get(pk=referKey)
        if model_name1.lower() == 'boundary':
            flag = obj.getChild(obj.boundary_type)
        else:
            flag = obj.getChild()
        """if model_name1.lower() == 'student':
		Student_StudentGroupRelation.objects.filter(student__id = referKey).update(active=0)
        if model_name1.lower() in [ 'class','center']:
                         Staff_StudentGroupRelation.objects.filter(student_group__id = referKey).update(active=0)
        """
        if flag:
            message = model_name1.lower(
            ) + " has child objects.So can not delete it.First delete the child object,then try to delete it"
        else:
            obj.active = 0  # Change active to 0(object is deleted)
            obj.save()  # Save Data
            message = "Deleted"
        return HttpResponse(message)
Exemple #24
0
def KLP_Assign_Permissions(request):
    """ This method is used to assign permissions"""
    """ Check logged in user permissions to assign permissions"""
    KLP_user_Perm(request.user, "Users", None)
    respDict = {}
    # get selected users list to assign permissions
    deUserList = request.POST.getlist('assignToUser')
    #get selected permissions list
    permissions = request.POST.getlist('userPermission')
    # get permission type
    receiver = settings.REPORTMAIL_RECEIVER
    receiver = ','.join(str(v1) for v1 in receiver)
    message = "A mail will be sent to %s as soon as all the permissions are assigned" % (
        receiver)
    permissionType = request.POST.get('permissionType')
    # get assessment Id to assign assessment permissions
    assessmentId = request.POST.get('assessmentId')
    # get boundary category
    bound_cat = request.POST.get('bound_cat')
    # get selected institutions list
    inst_list = request.POST.getlist('instName')
    # get selected boundaries list
    bound_list = request.POST.getlist('boundaryName')
    # get assessment permission (True or False)
    assessmentPerm = request.POST.get('assessmentPerm')
    print deUserList, permissions, message, permissionType, assessmentId, bound_cat, inst_list, bound_list, assessmentPerm
    count, asmCount, assignedAsmIds = 0, 0, []
    bound_list = ','.join(str(v1) for v1 in bound_list if v1 > 0)
    permissions = ','.join(str(v1) for v1 in permissions if v1 > 0)
    deUserList = ','.join(str(v1) for v1 in deUserList if v1 > 0)
    if not deUserList:
        # If no users selected respond back with error message (Select Atleast One User)
        respDict['respMsg'] = 'Select Atleast One User'
        respDict['isSuccess'] = False
    elif not permissions:
        # if permissions not selected respond back with error message (Select Atleast One Permission)
        respDict['respMsg'] = 'Select Atleast One Permission'
        respDict['isSuccess'] = False
    elif bound_cat in ['district', 'block', 'project']:
        # if bound category in 'district', 'block', 'project' check for boundary list
        if not bound_list:
            # if boundary list is empty respond back with error message (Select Atleast One Boundary)
            respDict['respMsg'] = 'Select Atleast One Boundary'
            respDict['isSuccess'] = False
        else:
            #bound_list=','.join(str(v1) for v1 in bound_list if v1 > 0)
            Popen([
                "python", "/home/klp/production/manage.py",
                "KLP_assignPermissions",
                str(inst_list),
                str(deUserList),
                str(permissions),
                str(permissionType),
                str(assessmentId),
                str(assessmentPerm), bound_cat, bound_list,
                request.user.username
            ])
            #call(["/home/c2staging/c2staging/bin/python" ,"/home/c2staging/c2staging/c2staging/manage.py","KLP_assignPermissions",str(inst_list),str(deUserList),str(permissions),str(permissionType),str(assessmentId),str(assessmentPerm),bound_cat,bound_list])
            respDict[
                'respMsg'] = message  #'Assigned Permissions successfully for %s Institutions' %(count)
            respDict['isSuccess'] = True

            #Tosendmailteam(inst_list,deUserList,permissions,permissionType,assessmentId,assessmentPerm)

    else:
        # if bound category in 'cluste' or 'circle' check for institution list
        if not inst_list:
            # if institutions list is empty  respond back with error message (Select Atleast One Institution)
            respDict['respMsg'] = 'Select Atleast One Institution'
            respDict['isSuccess'] = False
        else:
            # get count of institutions to show count of assigned institution objects to user
            count = count + len(inst_list)
            # call assignPermission method to assign permissions
            inst_list = ','.join(str(v1) for v1 in inst_list if v1 > 0)
            print "FDFDF", bound_cat, bound_list, "HREEEEEEE"
            Popen([
                "python", "/home/klp/production/manage.py",
                "KLP_assignPermissions",
                str(inst_list),
                str(deUserList),
                str(permissions),
                str(permissionType),
                str(assessmentId),
                str(assessmentPerm), bound_cat,
                str(bound_list).strip(), request.user.username
            ])
            respDict[
                'respMsg'] = message  #'Assigned Permissions successfully for  %s Institutions' %(count)
            respDict['isSuccess'] = True

#Tosendmailteam(inst_list,deUserList,permissions,permissionType,assessmentId,assessmentPerm)
    return HttpResponse(simplejson.dumps(respDict),
                        content_type='application/json; charset=utf-8')
Exemple #25
0
def KLP_Institution_Boundary(request,
                             boundary_id,
                             permissionType,
                             assessment_id=None):
    """ To List Institutions Under Boundary to Assign Permissions to the User """
    user = request.user  # get logged in user
    # Checking user Permissions
    KLP_user_Perm(request.user, "Users", None)
    klp_UserGroups = user.groups.all()  # Get all user groups
    klp_GroupsList = ['%s' % (usergroup.name) for usergroup in klp_UserGroups]
    if user.is_superuser or 'AdminGroup' in klp_GroupsList:
        # if user is super user or in AdminGroup
        # Get all users	 in Data Entry Executive, Data Entry Operator groups
        users = User.objects.filter(
            groups__name__in=['Data Entry Executive', 'Data Entry Operator'],
            is_active=1).order_by("username")
        # get Selected boundary object
        boundaryObj = Boundary.objects.get(id=boundary_id)
        respDict = {
            'users': users,
            'boundary': boundaryObj,
            'permissionType': permissionType,
            'url': request.path
        }
        # get Selected Boundary Category.
        bound_cat = boundaryObj.boundary_category.boundary_category.lower()
        respDict['bound_cat'] = bound_cat
        if permissionType == 'permissions':
            # If permissionType is permissions do..
            if bound_cat in ['district', 'block', 'project']:
                # if bound_cat in "district, block, project" get active(2) child boundaries
                respDict['boundary_list'] = Boundary.objects.filter(
                    parent=boundaryObj, active=2).distinct()
            else:
                # else get all active(2) child Institutions
                respDict['institution_list'] = Institution.objects.filter(
                    boundary=boundaryObj, active=2).distinct()
        else:
            # If permissionType is not permissions
            # Get All active(2) Mapped Sg's
            studentgroup_list = Assessment_StudentGroup_Association.objects.filter(
                assessment__id=assessment_id,
                active=2).values_list('student_group', flat=True).distinct()
            # Get Institutions based Sg's
            map_institutions_list = StudentGroup.objects.filter(
                id__in=studentgroup_list,
                active=2).values_list('institution__id', flat=True).distinct()
            if bound_cat == 'district':
                # if bound_cat is district query block or project level  boundaries
                boundary_list = Boundary.objects.filter(
                    institution__pk__in=map_institutions_list,
                    active=2,
                    parent__parent=boundaryObj).values_list(
                        'parent__id', flat=True).distinct()
                respDict['boundary_list'] = Boundary.objects.filter(
                    id__in=boundary_list, active=2).distinct()
            elif bound_cat in ['block', 'project']:
                # if bound_cat in block or project query circle or cluster level  boundaries
                respDict['boundary_list'] = Boundary.objects.filter(
                    institution__pk__in=map_institutions_list,
                    active=2,
                    parent=boundaryObj).distinct()
            else:
                # else Query Institutions
                respDict['institution_list'] = Institution.objects.filter(
                    id__in=map_institutions_list,
                    boundary=boundaryObj,
                    active=2).distinct()
            respDict['assessmentId'] = assessment_id

        return render_to_response('viewtemplates/institution_list.html',
                                  respDict,
                                  context_instance=RequestContext(request))
    else:
        return HttpResponse('Insufficient Priviliges!')