Esempio n. 1
0
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)
Esempio n. 2
0
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("")
Esempio n. 3
0
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)
Esempio n. 4
0
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)
Esempio n. 5
0
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))
Esempio n. 6
0
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
                  })
Esempio n. 7
0
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)
Esempio n. 8
0
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)
Esempio n. 9
0
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)
Esempio n. 10
0
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)
Esempio n. 11
0
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)
Esempio n. 12
0
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)
Esempio n. 13
0
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)
Esempio n. 14
0
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)
Esempio n. 15
0
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)
Esempio n. 16
0
def login(request):
    c = {}
    c.update(csrf(request))
    return render_to_response('login.html', c)
Esempio n. 17
0
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})
Esempio n. 18
0
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)
Esempio n. 19
0
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
            })
Esempio n. 20
0
def adminLogout(request):
    logout(request)
    context = RequestContext(request)
    c = {'loginForm':loginForm}
    c.update(csrf(request))
    return render(request, 'sportsadmin/sportsAdminLogin.html',c)