Exemple #1
0
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))
Exemple #4
0
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))
Exemple #7
0
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)
Exemple #8
0
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)
Exemple #9
0
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) )
Exemple #12
0
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))
Exemple #14
0
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')