def viewBugs(request): """ Renders a page allowing users to see all the bugs. If user is an admin, passes along extra details to allow administration of the bugs. """ if request.method != 'GET': return HttpResponse("TODO: 404 here.", status=404) nbar = NavigationBar() context = nbar.generateNavBar(request) context.update({'title':"View bug reports"}) context.update(csrf(request)) # add cross-site request forgery protection context.update({'csrfTokenValue':csrf(request)['csrf_token']}) # add the token a second way # extra content will be rendered if the user is an admin if getUserLevel(request.user.id, "") == 3 : context.update({'user_is_admin':True}) context.update({'openBugs': models.BugReport.objects.filter(active__exact=True).filter(status__exact="O").order_by('dateModified')}) context.update({'deletedBugs': models.BugReport.objects.filter(active__exact=False)}) context.update({'numDeletedBugs': models.BugReport.objects.filter(active__exact=False).count()}) # add the list of all bugs to the context context.update({'allBugs': models.BugReport.objects.filter(active__exact=True)}) context.update({'bugStati':[('O', 'Open'), ('RF','Resolved - Fixed'), ('RD','Resolved - Duplicate'), ('RI','Resolved - Invalid'),('RW','Resolved - Will Not Fix'),('C','Closed')]}) return render_to_response("viewBugs.html", context)
def bugDetails(request): """ Displays the details for a bug, with the bug id indicated by the GET data. """ if request.method == 'GET': # we should render the page try: nbar = NavigationBar() context = nbar.generateNavBar(request) context.update({'title':"Bug Details"}) # the basic title context.update(csrf(request)) # add cross-site request forgery protection context.update({'csrfTokenValue':csrf(request)['csrf_token']}) # add the token a second way if getUserLevel(request.user.id, ""): context.update({'user_is_admin':True}) # try to get the bug to render theBug = models.BugReport.objects.get(id__exact=int(request.GET['id'])) context.update({'bug': theBug}) if not theBug.status == "O": context.update({'resolveMessageDefault': theBug.resolvedText}) context.update({'title':"Bug " + str(theBug.id) + " - " + theBug.summary}) # change the title return render_to_response("bug.html", context) except Exception as e: return HttpResponse("Error fetching bug report -- " + str(e) + "<br>TODO: replace this with a 404?", status=400) elif request.method == 'POST': try: theBug = models.BugReport.objects.get(id__exact=int(request.POST['id'])) theBug.status=request.POST['newStatus'] theBug.resolvedText=request.POST['resolutionMessage'] print request.POST['active'] # handle a request to disable the bug if request.POST['active'] == 'false': theBug.active = False else: theBug.active = True theBug.save() return HttpResponse("", status=200) except Exception as e: return HttpResponse("Error modifying bug report - " + str(e), status=400) return HttpResponse("")
def PlayerList(request): print "start of PlayerList" context = RequestContext(request) qs=request.user.groups.values_list("name",flat=True) querySet=None querySet1=None player=None #Query to get coaches for particular Academy login if not qs: # admin login player = PlayerTable(PlayerOnboarding.objects.all()) elif qs[1] and qs[0]!="common": print "academy login" #academy login print qs[0] queryset=AcademyOnboarding.objects.filter(name=qs[0]) print queryset player = PlayerTable(PlayerOnboarding.objects.filter(acd_reg=queryset[0].acd_reg_id)) print player elif qs[0]=='common' and qs[1]: # province login print "province login" querySet=Province.objects.filter(province_name=qs[1]) querySet1=Address.objects.filter(province=querySet[0].province_id) player = PlayerTable(PlayerOnboarding.objects.filter(address__in =querySet1)) playerform=PlayerOnBoardingForm() addressform=AddressForm() c = {'PlayerList':player,'playerform':playerform,'addressform':addressform} c.update(csrf(request)) return render_to_response("sportsadmin/PlayerList.html",c)
def CoachList(request): print "start of CoachList" qs=request.user.groups.values_list("name",flat=True) querySet=None querySet1=None coach=None #Query to get coaches for particular Academy login if not qs: # admin login coach = CoachTable(CoachOnboarding.objects.all()) elif qs[0]=='common' and qs[1]: #province login print qs[0] print "province login" querySet=Province.objects.filter(province_name=qs[1]) querySet1=Address.objects.filter(province=querySet[0].province_id) coach = CoachTable(CoachOnboarding.objects.filter(address__in =querySet1)) elif qs[1] and qs[0]!="common": print "academy login" queryset=AcademyOnboarding.objects.filter(name=qs[0]) coach = CoachTable(CoachOnboarding.objects.filter(acd_reg=queryset[0].acd_reg_id)) coachform=CoachOnBoardingForm() addressform=AddressForm() print coach c = {'CoachList':coach,'coachform':coachform,'addressform':addressform} c.update(csrf(request)) return render_to_response("sportsadmin/CoachList.html",c)
def failure(request): c = {} c.update(csrf(request)) status = request.POST["status"] firstname = request.POST["firstname"] amount = request.POST["amount"] txnid = request.POST["txnid"] posted_hash = request.POST["hash"] key = request.POST["key"] productinfo = request.POST["productinfo"] email = request.POST["email"] salt = "GQs7yium" try: additionalCharges = request.POST["additionalCharges"] retHashSeq = additionalCharges + '|' + salt + '|' + status + '|||||||||||' + email + '|' + firstname + '|' + productinfo + '|' + amount + '|' + txnid + '|' + key except Exception: retHashSeq = salt + '|' + status + '|||||||||||' + email + '|' + firstname + '|' + productinfo + '|' + amount + '|' + txnid + '|' + key hashh = hashlib.sha512(retHashSeq).hexdigest().lower() if (hashh != posted_hash): print "Invalid Transaction. Please try again" else: print "Thank You. Your order status is ", status print "Your Transaction ID for this transaction is ", txnid print "We have received a payment of Rs. ", amount, ". Your order will soon be shipped." return render_to_response("poster/Failure.html", RequestContext(request, c))
def success(request): c = {} c.update(csrf(request)) status = request.POST["status"] firstname = request.POST["firstname"] amount = request.POST["amount"] txnid = request.POST["txnid"] posted_hash = request.POST["hash"] key = request.POST["key"] productinfo = request.POST["productinfo"] email = request.POST["email"] salt = "GQs7yium" try: additionalCharges = request.POST["additionalCharges"] retHashSeq = additionalCharges + '|' + salt + '|' + status + '|||||||||||' + email + '|' + firstname + '|' + productinfo + '|' + amount + '|' + txnid + '|' + key except Exception: retHashSeq = salt + '|' + status + '|||||||||||' + email + '|' + firstname + '|' + productinfo + '|' + amount + '|' + txnid + '|' + key hashh = hashlib.sha512(retHashSeq).hexdigest().lower() if (hashh != posted_hash): print("Invalid Transaction. Please try again") else: print("Thank You. Your order status is ", status) print("Your Transaction ID for this transaction is ", txnid) print("We have received a payment of Rs. ", amount, ". Your order will soon be shipped.") return render(request, 'payment/sucess.html', context={ "txnid": txnid, "status": status, "amount": amount })
def VideoList(request): context = RequestContext(request) videos= Carousel_video_video.objects.all() video = CarouselVideoTable(Carousel_video_video.objects.all()) videoform=CarouselVideoForm() c = {'VideoList':video,'videoform':videoform} c.update(csrf(request)) return render_to_response("sportsadmin/VideoList.html",c)
def article(request, article_id=1): comment_forms = CommentForm args = {} args.update(csrf(request)) args['article'] = Article.objects.get(id=article_id) args['comments'] = Comments.objects.filter(comments_article_id=article_id) args['form'] = comment_forms args['username'] = auth.get_user(request).username return render_to_response('article.html', args)
def PictureList(request): context = RequestContext(request) pictures= Carousel_Picture.objects.all() picture = CarouselPictureTable(Carousel_Picture.objects.all()) pictureform=CarouselPictureForm() c = {'PictureList':picture,'pictureform':pictureform} c.update(csrf(request)) return render_to_response("sportsadmin/PictureList.html",c)
def deletedBugs(request): """ Renders a page showing the inactive bugs... but note that the template filters so it only displays for users with proper permissions. """ if request.method != 'GET': return HttpResponse("TODO: 404 here.", status=404) nbar = NavigationBar() context = nbar.generateNavBar(request) context.update({'title':"View Inactive Bugs"}) context.update(csrf(request)) # add cross-site request forgery protection context.update({'csrfTokenValue':csrf(request)['csrf_token']}) # add the token a second way # extra content will be rendered if the user is an admin if getUserLevel(request.user.id, "") == 3 : context.update({'user_is_admin':True}) # add the list of all bugs to the context -- inactive bugs only! context.update({'allBugs': models.BugReport.objects.filter(active__exact=False)}) return render_to_response("deletedBugs.html", context)
def submit(request): """ Renders the page and handles POST requests for creating a new BugReport """ if request.method == 'GET': # we should render the page nbar = NavigationBar() context = nbar.generateNavBar(request) context.update({'title':"Write a bug report"}) context.update(csrf(request)) # add cross-site request forgery protection context.update({'csrfTokenValue':csrf(request)['csrf_token']}) # add the token a second way # decode the GET data we'll want as default values... which URL are we coming from? try: href = request.GET['href'] except Exception: href = "" # add default data to context context.update({ 'href': href, 'bugTypeChoices': models.BugReport.BUG_TYPE_CHOICES} ) return render_to_response("submit.html", context) elif request.method == 'POST': # try to decode the POST data to get our information try: # create the new object! newBug = models.BugReport( user = request.user, webBrowserData = request.POST['webBrowserData'], hipercicVersion = request.POST['hipercicVersion'], sourceUrl = request.POST['sourceUrl'], summary = request.POST['summary'], reportText = request.POST['reportText'], bugType = request.POST['bugType'], ) newBug.save() print "bugs/submit: saved new bug id " + str(newBug.id) return HttpResponse("",status=200) except Exception as e: print "bugs/submit: Error: " + str(e) return HttpResponse("Error creating bug object - " + str(e), status=400) return HttpResponse("Badly formed Http Request to " + str(request.path),status=403)
def login(request): args = {} args.update(csrf(request)) if request.POST: username = request.POST.get('username', '') password = request.POST.get('password', '') user = auth.authenticate(username=username, password=password) if user is not None: auth.login(request, user) return redirect('/') else: args['login_error'] = 'Пользователь не найден' return render_to_response('login.html', args)
def register_user(request): if request.method == 'POST': form = UserCreationForm(request.POST) if form.is_valid(): form.save() return HttpResponseRedirect('/accounts/register_success') args = {} args.update(csrf(request)) args['form'] = UserCreationForm() print args return render_to_response('register.html', args)
def register( request): args = {} args.update(csrf(request)) args['form']= UserCreationForm() if request.POST: newuser_form= UserCreationForm(request.POST) if newuser_form.is_valid(): newuser_form.save() newuser = auth.authenticate(username=newuser_form.cleaned_data['username'], password=newuser_form.cleaned_data['password2']) auth.login(request,newuser) return redirect('/') else: args['form'] = newuser_form return render_to_response ('registration/regis.html', args)
def adminAuthenticate(request): context = RequestContext(request) c = {'loginForm':loginForm} c.update(csrf(request)) username = request.POST.get('username') password = request.POST.get('password') user = authenticate(username=username, password=password) if user is not None: # the password verified for the user if user.is_active: login(request, user) messages.success(request,"Welcome to the Academy System."); return render(request, 'sportsadmin/sportsadminpage.html') else: messages.error(request,"The password is valid, but the account has been disabled!"); else: # the authentication system was unable to verify the username and password messages.error(request, "The username and password were incorrect."); return render(request, 'sportsadmin/sportsAdminLogin.html',c)
def login(request): c = {} c.update(csrf(request)) return render_to_response('login.html', c)
def Signup(request): next = None if request.GET.get('next'): next = request.META['QUERY_STRING'].split('next=')[1] if request.GET.get('next'): if request.GET.get('next')[0] != '/': return redirect('/u/signup/') else: nextpath = request.GET.get('next').split('?')[0] if nextpath[0] != '/' or nextpath in [ '', '/', '/u/login/', '/u/signup/' ]: return redirect('/u/signup/') if request.user.is_authenticated: if request.GET.get('type') == 'json': content = {'status': 'success'} return jsonp(request, content) if next: return redirect(next) else: return redirect('/') if request.method == 'GET': if request.GET.get('type') == 'json': content = {'csrf_token': unicode(csrf(request)['csrf_token'])} return jsonp(request, content) return render(request, 'user/signup.html', {}) if request.method == 'POST': form = UserCreationForm(request.POST) if form.is_valid(): newuser = form.save(commit=False) newuser.last_login = timezone.now() newuser.save() email = form.cleaned_data['email'] username = form.cleaned_data['username'] password = form.cleaned_data['password1'] = form.cleaned_data[ 'password2'] user = User.objects.get(username=username) userprofile = UserProfile(user=user) userprofile.save() user = authenticate(username=username, password=password) login(request, user) if request.GET.get('type') == 'json': content = {'status': 'success'} return jsonp(request, content) if next: return redirect('/u/settings/?prev=signup&next=' + next) else: return redirect('/u/settings/?prev=signup') else: if request.GET.get('type') == 'json': content = { 'status': 'error', 'csrf_token': unicode(csrf(request)['csrf_token']), 'errors': [(k, map(unicode, v)) for k, v in form.errors.items()] } return jsonp(request, content) return render(request, 'user/signup.html', {'form': form})
def Settings(request): prev = None if request.GET.get('prev'): prev = request.GET.get('prev') next = None if request.GET.get('next'): next = request.META['QUERY_STRING'].split('next=')[1] nextpath = request.GET.get('next').split('?')[0] if prev and next and (nextpath[0] != '/' or nextpath in ['', '/u/login/', '/u/signup/']): return redirect('/u/settings/?prev=' + prev) if request.user.is_authenticated: if request.method == 'GET': if request.GET.get('type') == 'json': content = { 'csrf_token': unicode(csrf(request)['csrf_token']), 'prev': prev, 'next': next } return jsonp(request, content) content = {'prev': prev, 'next': next} return render(request, 'user/settings.html', content) if request.method == 'POST': userprofile = UserProfile.objects.get(user=request.user) form = UserProfileForm(request.POST, request.FILES, instance=userprofile) if form.is_valid(): userprofile = form.save() if userprofile.avatar and checkmodule('PIL'): from PIL import Image avatar_file = os.path.join( settings.MEDIA_ROOT, 'avatar', str(request.user.username) + '.png') if os.path.isfile(avatar_file): avatar = Image.open(avatar_file) max_size = 64 if avatar.size[0] > avatar.size[1]: size = (max_size, int(max_size * avatar.size[1] / avatar.size[0])) else: size = (int(max_size * avatar.size[0] / avatar.size[1]), max_size) avatar.thumbnail(size, Image.ANTIALIAS) def resize_avatar(avatar, p): avatar_size = os.path.getsize(avatar_file) if avatar_size > 5 * 1024 and avatar.size[ 0] > 1 and avatar.size[1] > 1: p = p * 0.75 avatar.thumbnail( [int(p * s) for s in avatar.size], Image.ANTIALIAS) avatar = avatar.resize(size) avatar.save(avatar_file, optimize=True) if os.path.getsize(avatar_file) >= avatar_size: resize_avatar(avatar, p) resize_avatar(avatar, 1) if request.GET.get('type') == 'json': content = {'status': 'success'} return jsonp(request, content) if next: return redirect(next) else: return redirect(Main) else: if request.GET.get('type') == 'json': content = { 'status': 'error', 'csrf_token': unicode(csrf(request)['csrf_token']), 'errors': [(k, map(unicode, v)) for k, v in form.errors.items()] } return jsonp(request, content) content = {'prev': prev, 'next': next, 'form': form} return render(request, 'user/settings.html', content) else: if request.GET.get('type') == 'json': content = {'status': 'error'} return jsonp(request, content) return redirectlogin(request)
def Login(request): next = None if request.GET.get('next'): if request.GET.get('next')[0] != '/': return redirect('/u/login/') else: nextpath = request.GET.get('next').split('?')[0] if nextpath[0] != '/' or nextpath in [ '', '/', '/a/', '/u/login/', '/u/signup/' ]: return redirect('/u/login/') if request.user.is_authenticated: if request.GET.get('type') == 'json': content = {'status': 'success'} return jsonp(request, content) if next: return redirect(next) else: return redirect('/') if request.method == 'GET': if request.GET.get('type') == 'json': content = {'csrf_token': unicode(csrf(request)['csrf_token'])} return jsonp(request, content) return render(request, 'registration/login.html', {'next': next}) if request.method == 'POST': form = AuthenticationForm(data=request.POST) if form.is_valid(): username = form.cleaned_data['username'] password = form.cleaned_data['password'] user = authenticate(username=username, password=password) if user is not None: if user.is_active: login(request, user) if request.GET.get('type') == 'json': content = {'status': 'success'} return jsonp(request, content) if next: return redirect(next) else: return redirect('/') else: if request.GET.get('type') == 'json': content = { 'status': 'error', 'csrf_token': unicode(csrf(request)['csrf_token']), 'errors': [(k, map(unicode, v)) for k, v in form.errors.items()] } return jsonp(request, content) return render(request, 'registration/login.html', { 'form': form, 'next': next }) else: if request.GET.get('type') == 'json': content = { 'status': 'error', 'csrf_token': unicode(csrf(request)['csrf_token']), 'errors': [(k, map(unicode, v)) for k, v in form.errors.items()] } return jsonp(request, content) return render(request, 'registration/login.html', { 'form': form, 'next': next }) else: if request.GET.get('type') == 'json': content = { 'status': 'error', 'csrf_token': unicode(csrf(request)['csrf_token']), 'errors': [(k, map(unicode, v)) for k, v in form.errors.items()] } return jsonp(request, content) return render(request, 'registration/login.html', { 'form': form, 'next': next })
def adminLogout(request): logout(request) context = RequestContext(request) c = {'loginForm':loginForm} c.update(csrf(request)) return render(request, 'sportsadmin/sportsAdminLogin.html',c)