Esempio n. 1
0
def student_show_applications(request):
    username = session.get_username(request)
    applications = backend.get_applications_by_user(username)

    return render_ajax(request, 'student/show_applications.html', {
        'applications': applications,
    }, 'my-applications-item')
Esempio n. 2
0
def student_modify_application(request):
    dic = request.POST.dict()
    method = dic['method']
    username = session.get_username(request)
    dic['user_submit'] = username
    dic['status'] = get_application_status_from_method(method)
    backend.student_modify_application(dic)
Esempio n. 3
0
def get_realname(request):
    username = session.get_username(request)
    identity = session.get_identity(request)
    if identity == 'student':
        realname = backend.get_student_by_id(username).real_name
    else:
        realname = username
    return realname
Esempio n. 4
0
def change_info(request):
    username = session.get_username(request)
    student = backend.get_student_by_id(username)
    return render(request, 'student/info.html', {
        'type': 'change',
        'username': student.real_name,
        'student': student,
    })
Esempio n. 5
0
def student_add_applications(request):
    username = session.get_username(request)
    student = backend.get_student_by_id(username)
    return render_ajax(
        request, 'student/modify_applications.html', {
            'student': student,
            'student_id': username,
            'username': student.real_name,
        }, 'add-application-item')
Esempio n. 6
0
def student_change_info(request):
    username = session.get_username(request)
    student = backend.get_student_by_id(username)
    return render(
        request, 'student/info.html', {
            'type': 'change',
            'username': student.real_name,
            'student': student,
            'unprocessed_category': MessageCategory.ToStudent,
        })
Esempio n. 7
0
def admin_show_applications_list(request, type):
    if type == 'pending':
        applications = backend.get_pending_applications()
    elif type == 'processed':
        username = session.get_username(request)
        applications = backend.get_applications_by_admin(username)
    elif type == 'all':
        applications = backend.get_applications().exclude(
            status='not_submitted')
    else:
        applications = []
    return render_sortable(request, applications,
                           'admin/applications/applications_content.html',
                           {'type': type})
Esempio n. 8
0
def student_modify_applications(request, id):
    username = session.get_username(request)
    student = backend.get_student_by_id(username)
    app = backend.get_application_by_id(id)
    print 'in student_modify_applications..'
    print 'real_name is:', student.real_name
    return render_ajax(
        request, 'student/modify_applications.html', {
            'student': student,
            'student_id': username,
            'username': student.real_name,
            'app': app,
            'modify_app': 'true',
        })
Esempio n. 9
0
def render_ajax(request, url, params, item_id=''):
    if request.is_ajax():
        url = '.'.join(url.split('.')[:-1]) + '.ajax.html'
    else:
        identity = session.get_identity(request)
        name = get_realname(request)
        params['username'] = name
        if item_id != '':
            params['active_item'] = item_id
        if identity == 'admin':
            params['pending_applications_count'] = len(
                backend.get_pending_applications())
        elif identity == 'student':
            username = session.get_username(request)
            applications = backend.get_applications_by_user(username)
            official_accounts = applications.filter(status__exact='approved')
            params['official_accounts'] = official_accounts

    return render(request, url, params)
Esempio n. 10
0
def message_detail_student(request, id):
    account = backend.get_official_account_by_id(id)
    owner = account.application.manager_student_id
    username = session.get_username(request)
    if owner != username:
        return HttpResponseForbidden()
    category = MessageCategory.ToAdmin
    messages = backend.get_messages(official_account_id=id)
    try:
        official_account = backend.get_official_account_by_id(id)
    except:
        return to_notfound(request)

    return render_ajax(
        request, 'message/message.html', {
            'account': official_account,
            'messages': messages,
            'category': category,
            'official_account_id': id,
            'processed': check_processed(messages, category),
            'MessageCategory': MessageCategory,
            'locate': 'student/index.html'
        }, 'message-detail-' + str(id))
Esempio n. 11
0
def student_badge_pending_count(request):
    username = session.get_username(request)
    applications = backend.get_applications_by_user(username)
    pending_count = applications.filter(status__exact='pending').count()
    return HttpResponse(pending_count)
Esempio n. 12
0
 def wrapper(request, *args, **kw):
     student_id = session.get_username(request)
     if not backend.check_student_information_filled(student_id):
         return student_fill_info(request)
     return func(request, *args, **kw)
Esempio n. 13
0
def add_message(request):
    dic = request.POST.dict()
    username = session.get_username(request)
    backend.add_message(dic['category'], dic['official_account_id'],
                        dic['content'], username)
Esempio n. 14
0
def modify_application(request):
    dic = request.POST.dict()
    username = session.get_username(request)
    dic['operator_admin'] = username
    backend.modify_application(dic)
Esempio n. 15
0
def submit_student_info(request):
    dic = request.POST.dict()
    username = session.get_username(request)
    backend.set_student_information(username, dic)