def EditInfo(request, userid): user = get_object_or_404(User, pk=userid) if (request.user == user) or is_admin(request.user): userprofile = user.get_profile() if request.method == 'POST': uf = EUserForm(request.POST, prefix='user', instance=user) upf = EUserProfileForm(request.POST, request.FILES, prefix="userprofile", instance=userprofile) if uf.is_valid() * upf.is_valid(): user = uf.save() userprofile = upf.save(commit=False) userprofile.user = user userprofile.save() return redirect('philosopher.views.user.UserInfo', userid=userid) else: uf = EUserForm(prefix='user', instance=user) upf = EUserProfileForm(prefix='userprofile', instance=userprofile) else: redirect('/philosopher') return render_to_response('templates/philosopher/edituserinfo.html', { 'userform': uf, 'userprofileform': upf }, context_instance=RequestContext(request))
def SearchActivity(request): limit = 6 isOrganizer = False isAdmin = False if request.user.is_anonymous() == False: isOrganizer = is_organizer(request.user) isAdmin = is_admin(request.user) q = request.GET['q'] activities = Activity.objects.filter(publishdate__isnull=False).filter( atstatus=0).filter( Q(atname__icontains=q) | Q(atorganizer__username__icontains=q)).order_by('-publishdate') paginator = Paginator(activities, limit) page = request.GET.get('page') try: activities = paginator.page(page) except PageNotAnInteger: activities = paginator.page(1) except EmptyPage: activities = paginator.page(paginator.num_pages) return render_to_response('templates/philosopher/homepage.html', { "activities": activities, "isOrganizer": isOrganizer, "isAdmin": isAdmin, 'queryValue': q }, context_instance=RequestContext(request))
def ActivityDetail(request, activityid): isOrganizer = False isAdmin = False isStudent = False has_right = False activity = get_object_or_404(Activity, pk = activityid) #newTen = Activity.objects.filter(publishdate__isnull = False).filter(atstatus=0).order_by('-publishdate')[:9] if request.user.is_anonymous() == False: isOrganizer = is_organizer(request.user) isAdmin = is_admin(request.user) isStudent = is_student(request.user) if ( isOrganizer and activity.atorganizer.id == request.user.id ) or isAdmin: has_right = True isApplied = False myApplicationId = -1 if isStudent: if request.user.application_set.filter(activityid = activityid).exists(): isApplied = True myApplication = request.user.application_set.get(activityid = activityid) myApplicationId = myApplication.id passApplications = activity.application_set.filter(apstatus = 0) waitApplications = activity.application_set.filter(apstatus = 2) rejectApplications = activity.application_set.filter(apstatus= 1) finishApplications = activity.application_set.filter(apstatus = 3) failApplications = activity.application_set.filter(apstatus = 4) return render_to_response('templates/philosopher/activitydetail.html', {"activity": activity, "isAdmin":isAdmin, "isStudent":isStudent, "isApplied":isApplied, "has_right": has_right, 'myApplicationId':myApplicationId, "passApplications":passApplications, "waitApplications":waitApplications, "rejectApplications":rejectApplications, "finishApplications":finishApplications, "failApplications":failApplications }, context_instance = RequestContext(request))
def ApplicationDetail(request, applicationid): application = get_object_or_404(Application, pk = applicationid) activity = application.activity student = application.student isOwner = False if (student == request.user ) or is_admin(request.user): isOwner = True organizer = activity.atorganizer isAdmin = is_admin(request.user) has_right = False if (organizer.id == request.user.id ) or isAdmin: has_right = True return render_to_response('templates/philosopher/applicationdetail.html', {"application": application, "has_right":has_right, "activity":activity, "student":student, "isOwner":isOwner }, context_instance = RequestContext(request))
def ApplicationDetail(request, applicationid): application = get_object_or_404(Application, pk=applicationid) activity = application.activity student = application.student isOwner = False if (student == request.user) or is_admin(request.user): isOwner = True organizer = activity.atorganizer isAdmin = is_admin(request.user) has_right = False if (organizer.id == request.user.id) or isAdmin: has_right = True return render_to_response('templates/philosopher/applicationdetail.html', { "application": application, "has_right": has_right, "activity": activity, "student": student, "isOwner": isOwner }, context_instance=RequestContext(request))
def ToggleBlack(request, userid): if is_admin(request.user): getUser = get_object_or_404(User, pk=userid) getProfile = getUser.get_profile() if getUser.is_active: getUser.is_active = False getProfile.status = 'b' else: getUser.is_active = True getProfile.status = 'n' getUser.save() getProfile.save() return redirect('philosopher.views.user.UserInfo', userid=userid)
def ToggleBlack(request, userid): if is_admin(request.user): getUser = get_object_or_404(User, pk = userid) getProfile = getUser.get_profile() if getUser.is_active: getUser.is_active = False getProfile.status = 'b' else: getUser.is_active = True getProfile.status = 'n' getUser.save() getProfile.save() return redirect('philosopher.views.user.UserInfo', userid = userid)
def UserInfo(request, userid): nowuser = get_object_or_404(User, pk = userid) nowuserprofile = nowuser.get_profile() isAdmin = is_admin(request.user) has_right = False if (request.user == nowuser ) or isAdmin: has_right = True #for student if nowuserprofile.role == "s": #0:pass; 1:reject; 2: wait; 3: finish; 4: failed applyApplication = nowuser.application_set.filter(apstatus = 2) rejectApplication = nowuser.application_set.filter(apstatus = 1) doingApplication = nowuser.application_set.filter(apstatus = 0) finishApplication = nowuser.application_set.filter(apstatus = 3) unfinishApplication = nowuser.application_set.filter(apstatus = 4) return render_to_response('templates/philosopher/studentinfo.html', {"nowuser": nowuser, "nowuserprofile": nowuserprofile, "isAdmin":isAdmin, "applyApplication": applyApplication, "rejectApplication": rejectApplication, "doingApplication":doingApplication, "finishApplication":finishApplication, "unfinishApplication": unfinishApplication, "has_right": has_right, }, context_instance = RequestContext(request)) #for organizer elif nowuserprofile.role == "o": activities = nowuser.activity_set.all() return render_to_response('templates/philosopher/organizerinfo.html', {"isAdmin": isAdmin, "activities":activities, "nowuser":nowuser, "has_right":has_right, "nowuserprofile":nowuserprofile}, context_instance = RequestContext(request)) #for administrator elif nowuserprofile.role == "a": nstudents = UserProfile.objects.filter(role = 's').filter(status = 'n') norganizers = UserProfile.objects.filter(role = 'o').filter(status = 'n') bstudents = UserProfile.objects.filter(role = 's').filter(status = 'b') borganizers = UserProfile.objects.filter(role = 'o').filter(status = 'b') worganizers = UserProfile.objects.filter(role = 'o').filter(status = 'w') nadmins = UserProfile.objects.filter(role = 'a') activities = Activity.objects.all() return render_to_response('templates/philosopher/admininfo.html', {"nstudents": nstudents, "norganizers": norganizers, "bstudents": bstudents, "borganizers":borganizers, "worganizers":worganizers, "nadmins": nadmins, "activities": activities, "has_right":has_right, "nowuser":nowuser, "nowuserprofile":nowuserprofile }, context_instance = RequestContext(request)) else: return redirect('/philosopher')
def ApplicationEdit(request, applicationid): application= get_object_or_404(Application, pk = applicationid) activity = application.activity nowuser = application.student if (nowuser == request.user ) or is_admin(request.user): if request.method == "POST": form = ApplicationApplyForm(request.POST, instance=application) if form.is_valid(): application = form.save(commit = False) application.save() return redirect('philosopher.views.application.ApplicationDetail', applicationid = application.id ) else: form = ApplicationApplyForm(instance=application) else: return redirect('/philosopher') return render_to_response('templates/philosopher/applicationedit.html', {'form' : form, 'nowuser':nowuser, 'activity':activity }, context_instance = RequestContext(request) )
def Homepage(request): limit = 6 isOrganizer = False isAdmin = False if request.user.is_anonymous() == False: isOrganizer = is_organizer(request.user) isAdmin = is_admin(request.user) activities = Activity.objects.filter(publishdate__isnull = False).filter(atstatus=0).order_by('-publishdate') paginator = Paginator(activities, limit) page = request.GET.get('page') try: activities = paginator.page(page) except PageNotAnInteger: activities = paginator.page(1) except EmptyPage: activities = paginator.page(paginator.num_pages) return render_to_response('templates/philosopher/homepage.html', {"activities": activities, "isOrganizer":isOrganizer, "isAdmin":isAdmin}, context_instance = RequestContext(request) )
def EditInfo(request, userid): user = get_object_or_404(User, pk = userid) if (request.user == user) or is_admin(request.user): userprofile = user.get_profile() if request.method == 'POST': uf = EUserForm(request.POST, prefix='user', instance = user) upf = EUserProfileForm(request.POST, request.FILES, prefix="userprofile", instance = userprofile) if uf.is_valid() * upf.is_valid(): user = uf.save() userprofile = upf.save(commit = False) userprofile.user = user userprofile.save() return redirect('philosopher.views.user.UserInfo', userid = userid) else: uf = EUserForm(prefix='user', instance = user) upf = EUserProfileForm(prefix='userprofile', instance = userprofile) else: redirect('/philosopher') return render_to_response('templates/philosopher/edituserinfo.html', {'userform' : uf, 'userprofileform': upf}, context_instance = RequestContext(request) )
def ApplicationEdit(request, applicationid): application = get_object_or_404(Application, pk=applicationid) activity = application.activity nowuser = application.student if (nowuser == request.user) or is_admin(request.user): if request.method == "POST": form = ApplicationApplyForm(request.POST, instance=application) if form.is_valid(): application = form.save(commit=False) application.save() return redirect( 'philosopher.views.application.ApplicationDetail', applicationid=application.id) else: form = ApplicationApplyForm(instance=application) else: return redirect('/philosopher') return render_to_response('templates/philosopher/applicationedit.html', { 'form': form, 'nowuser': nowuser, 'activity': activity }, context_instance=RequestContext(request))
def UserInfo(request, userid): nowuser = get_object_or_404(User, pk=userid) nowuserprofile = nowuser.get_profile() isAdmin = is_admin(request.user) has_right = False if (request.user == nowuser) or isAdmin: has_right = True #for student if nowuserprofile.role == "s": #0:pass; 1:reject; 2: wait; 3: finish; 4: failed applyApplication = nowuser.application_set.filter(apstatus=2) rejectApplication = nowuser.application_set.filter(apstatus=1) doingApplication = nowuser.application_set.filter(apstatus=0) finishApplication = nowuser.application_set.filter(apstatus=3) unfinishApplication = nowuser.application_set.filter(apstatus=4) return render_to_response('templates/philosopher/studentinfo.html', { "nowuser": nowuser, "nowuserprofile": nowuserprofile, "isAdmin": isAdmin, "applyApplication": applyApplication, "rejectApplication": rejectApplication, "doingApplication": doingApplication, "finishApplication": finishApplication, "unfinishApplication": unfinishApplication, "has_right": has_right, }, context_instance=RequestContext(request)) #for organizer elif nowuserprofile.role == "o": activities = nowuser.activity_set.all() return render_to_response('templates/philosopher/organizerinfo.html', { "isAdmin": isAdmin, "activities": activities, "nowuser": nowuser, "has_right": has_right, "nowuserprofile": nowuserprofile }, context_instance=RequestContext(request)) #for administrator elif nowuserprofile.role == "a": nstudents = UserProfile.objects.filter(role='s').filter(status='n') norganizers = UserProfile.objects.filter(role='o').filter(status='n') bstudents = UserProfile.objects.filter(role='s').filter(status='b') borganizers = UserProfile.objects.filter(role='o').filter(status='b') worganizers = UserProfile.objects.filter(role='o').filter(status='w') nadmins = UserProfile.objects.filter(role='a') activities = Activity.objects.all() return render_to_response('templates/philosopher/admininfo.html', { "nstudents": nstudents, "norganizers": norganizers, "bstudents": bstudents, "borganizers": borganizers, "worganizers": worganizers, "nadmins": nadmins, "activities": activities, "has_right": has_right, "nowuser": nowuser, "nowuserprofile": nowuserprofile }, context_instance=RequestContext(request)) else: return redirect('/philosopher')