Exemplo n.º 1
0
def faculty_canvas_quota():
    faculty_id = request.args(0)
    if (faculty_id == None):
        if (session.back):
            redirect(session.back)
        else:
            redirect(URL('faculty', 'manage_faculty'))

    current_user = Faculty.GetUsername(faculty_id)

    row = db(db.faculty_info.user_id == faculty_id).select().first()
    form = SQLFORM(db.faculty_info,
                   row,
                   showid=False,
                   fields=["faculty_canvas_quota"]).process()

    if (form.accepted):
        # Saved
        quota = request.vars.get('faculty_canvas_quota', '1')
        Canvas.SetQuota(current_user, quota)
        msg = "Settings Saved!"
        if (len(Canvas._errors) > 0):
            msg += Canvas.GetErrorString()
        response.flash = msg

    return dict(form=form, current_user=current_user)
Exemplo n.º 2
0
def faculty_toggle_laptop_logs():
    faculty_id = request.args(0)
    account_id = request.args(1)
    if (faculty_id == None or account_id == None):
        if (session.back):
            redirect(session.back)
        else:
            redirect(URL('faculty', 'manage_faculty'))

    current_user = Faculty.GetUsername(faculty_id)

    status_action = "Change Status"
    auth = current.auth  # Grab the current auth object

    # Add to the group
    if (auth.has_membership(role='Laptop Logs', user_id=account_id) == True):
        status_action = "Removing Laptop Log Rights"
        auth.del_membership(auth.id_group(role='Laptop Logs'),
                            user_id=account_id)
    else:
        status_action = "Adding Laptop Log Rights"
        auth.add_membership('Laptop Logs', user_id=account_id)
    message = status_action
    return dict(message=message,
                current_user=current_user,
                status_action=status_action)
Exemplo n.º 3
0
def faculty_toggle_enabled():
    faculty_id = request.args(0)
    if (faculty_id == None):
        if (session.back):
            redirect(session.back)
        else:
            redirect(URL('faculty', 'manage_faculty'))

    current_user = Faculty.GetUsername(faculty_id)

    status_action = "Change Status"

    faculty = db(db.faculty_info.user_id == faculty_id).select().first()
    if (faculty == None):
        message = 'Invalid Faculty!'
    else:
        if (faculty.account_enabled == True):
            # Disable
            Faculty.DisableAccount(faculty_id)
            message = "Account disabled."
            #message += AD.GetErrorString()
            status_action = 'Disable Account'
        else:
            # Enable
            Faculty.EnableAccount(faculty_id)
            message = "Account enabled."
            status_action = 'Enable Account'
    #message += Faculty.GetPassword(faculty_id)
    return dict(message=message,
                current_user=current_user,
                status_action=status_action)
Exemplo n.º 4
0
def faculty_enrollment():
    faculty_id = request.args(0)
    if (faculty_id == None):
        if (session.back):
            redirect(session.back)
        else:
            redirect(URL('faculty', 'manage_faculty'))

    current_user = Faculty.GetUsername(faculty_id)

    user = db(db.faculty_info.user_id == faculty_id).select().first()
    query = None
    if (user != None):
        query = (db.faculty_enrollment.parent_id == user['id'])

    fields = (
        db.faculty_enrollment.course_code,
        db.faculty_enrollment.enrollment_status,
        db.faculty_enrollment.enrolled_on,
    )

    #links = [dict(header=T('Enrollment'),body=lambda row: A(Student.GetEnrolledClassesString(row.user_id), _href=URL('faculty', 'student_enrollment', args=[row.user_id], user_signature=True)) ),
    #         ]

    form = SQLFORM.grid(query,
                        fields=fields,
                        orderby=db.faculty_enrollment.course_code,
                        searchable=False,
                        create=False,
                        deletable=False,
                        paginate=50,
                        csv=False,
                        details=False,
                        editable=False,
                        links=None,
                        links_placement='right',
                        links_in_grid=True)

    return dict(form=form, current_user=current_user)
Exemplo n.º 5
0
def faculty_change_password():
    faculty_id = request.args(0)
    if (faculty_id == None):
        if (session.back):
            redirect(session.back)
        else:
            redirect(URL('faculty', 'manage_faculty'))

    current_user = Faculty.GetUsername(faculty_id)

    default_pw_form = SQLFORM.factory(
        submit_button="Set Default Password",
        _name="default_pw_form").process(formname="default_pw_form")

    custom_pw_form = SQLFORM.factory(Field(
        'new_password',
        'password',
        requires=[
            IS_NOT_EMPTY(),
            IS_STRONG(
                min=6,
                special=1,
                upper=1,
                error_message=
                'minimum 6 characters, and at least 1 uppercase character, 1 lower case character, and 1 special character'
            )
        ]),
                                     Field('confirm_new_password',
                                           'password',
                                           requires=IS_EXPR(
                                               'value==%s' % repr(
                                                   request.vars.get(
                                                       'new_password', None)),
                                               error_message=
                                               "Password fields don't match")),
                                     submit_button="Set New Password",
                                     _name="custom_pw_form").process(
                                         formname="custom_pw_form")

    if (default_pw_form.accepted):
        new_pw = AppSettings.GetValue('faculty_password_pattern',
                                      'FID<user_id>#')
        # Replace the possible values in this string with real info
        new_pw = Faculty.process_config_params(faculty_id,
                                               new_pw,
                                               is_username=False,
                                               row=None)
        msg = Faculty.SetPassword(faculty_id, new_pw)
        if msg == "":
            response.flash = "Default Password Set!"
        else:
            response.flash = msg

    if (custom_pw_form.accepted):
        pw = request.vars.get('new_password', '')
        if (pw != ""):
            ret = Faculty.SetPassword(faculty_id, pw)
            if (ret != ""):
                response.flash = ret
            else:
                response.flash = "Password Changed."
    elif (custom_pw_form.errors):
        response.flash = "Unable to set new password"

    return dict(default_pw_form=default_pw_form,
                custom_pw_form=custom_pw_form,
                current_user=current_user)