Exemplo n.º 1
0
 def draw_prize_winners(request):
     currentEvent = viewutil.get_selected_event(request)
     params = {'feed': 'todraw'}
     if currentEvent is not None:
         params['event'] = currentEvent.id
     prizes = search_filters.run_model_query('prize',
                                             params,
                                             user=request.user)
     if request.method == 'POST':
         form = forms.DrawPrizeWinnersForm(prizes=prizes, data=request.POST)
         if form.is_valid():
             for prize in form.cleaned_data['prizes']:
                 status = True
                 while status and not prize.maxed_winners():
                     status, data = prizeutil.draw_prize(
                         prize, seed=form.cleaned_data['seed'])
                     prize.error = data['error'] if not status else ''
                 logutil.change(request, prize, 'Prize Drawing')
             return render(
                 request,
                 'admin/draw_prize_winners_post.html',
                 {'prizes': form.cleaned_data['prizes']},
             )
     else:
         form = forms.DrawPrizeWinnersForm(prizes=prizes)
     return render(request, 'admin/draw_prize_winners.html', {'form': form})
Exemplo n.º 2
0
 def get_queryset(self, request):
   event = viewutil.get_selected_event(request)
   params = {}
   if not request.user.has_perm('tracker.can_edit_locked_events'):
     params['locked'] = False
   if event:
     params['event'] = event.id
   return filters.run_model_query('log', params, user=request.user, mode='admin')
Exemplo n.º 3
0
 def get_queryset(self, request):
     event = viewutil.get_selected_event(request)
     params = {}
     if not request.user.has_perm('tracker.can_edit_locked_events'):
         params['locked'] = False
     if event:
         params['event'] = event.id
     return search_filters.run_model_query('run', params, user=request.user)
Exemplo n.º 4
0
def read_donations(request):
  current = viewutil.get_selected_event(request);
  params = {};
  params['feed'] = 'toread';
  if current:
    params['event'] = current.id;
  donations = filters.run_model_query('donation', params, user=request.user, mode='admin');
  edit_url = reverse("admin:edit_object");
  return render(request, 'admin/read_donations.html', { 'edit_url': edit_url, 'donations': donations }); 
Exemplo n.º 5
0
 def read_donations(request):
     currentEvent = viewutil.get_selected_event(request)
     return render(
         request,
         'admin/read_donations.html',
         {
             'currentEvent': currentEvent,
             'apiUrls': mark_safe(json.dumps(api_urls())),
         },
     )
Exemplo n.º 6
0
def select_event(request):
  current = viewutil.get_selected_event(request)
  if request.method == 'POST':
    form = forms.EventFilterForm(data=request.POST)
    if form.is_valid():
      viewutil.set_selected_event(request, form.cleaned_data['event'])
      return redirect('admin:index')
  else:
    form = forms.EventFilterForm(**{'event': current})
  return render(request, 'admin/select_event.html', { 'form': form })
Exemplo n.º 7
0
 def process_prize_submissions(request):
     currentEvent = viewutil.get_selected_event(request)
     return render(
         request,
         'admin/process_prize_submissions.html',
         {
             'currentEvent': currentEvent,
             'apiUrls': mark_safe(json.dumps(api_urls())),
         },
     )
Exemplo n.º 8
0
 def get_query(self, q, request):
     params = {'q': q}
     params.update(self.get_extra_params(request))
     event = viewutil.get_selected_event(request)
     if event and self.useEvent:
         params['event'] = event.id
     model = getattr(self, 'modelName', self.model)
     if self.useLock and not request.user.has_perm(
             'tracker.can_edit_locked_events'):
         params['locked'] = False
     return filters.run_model_query(model, params, request.user)
Exemplo n.º 9
0
 def get_query(self,q,request):
   params = {'q': q}
   event = viewutil.get_selected_event(request)
   if event and self.useEvent:
     params['event'] = event.id
   model = self.model
   if hasattr(self, 'modelName'):
     model = self.modelName
   if self.useLock and not request.user.has_perm('tracker.can_edit_locked_events'):
     params['locked'] = False
   return filters.run_model_query(model, params, user=request.user, mode='admin')
Exemplo n.º 10
0
 def select_event(self, request):
     current = viewutil.get_selected_event(request)
     if request.method == 'POST':
         form = forms.EventFilterForm(data=request.POST)
         if form.is_valid():
             viewutil.set_selected_event(request,
                                         form.cleaned_data['event'])
             return redirect('admin:index')
     else:
         form = forms.EventFilterForm(**{'event': current})
     return render(request, 'admin/select_event.html', {'form': form})
Exemplo n.º 11
0
 def process_donations(request):
     current_event = viewutil.get_selected_event(request)
     user_can_approve = (
         current_event and current_event.use_one_step_screening
     ) or request.user.has_perm('tracker.send_to_reader')
     return render(
         request,
         'admin/process_donations.html',
         {
             'user_can_approve': user_can_approve,
             'currentEvent': current_event,
             'apiUrls': mark_safe(json.dumps(api_urls())),
         },
     )
Exemplo n.º 12
0
def automail_prize_winners(request):
  currentEvent = viewutil.get_selected_event(request)
  if currentEvent == None:
    return HttpResponse("Please select an event first")
  prizewinners = prizemail.prize_winners_with_email_pending(currentEvent)
  if request.method == 'POST':
    form = forms.AutomailPrizeWinnersForm(prizewinners=prizewinners, data=request.POST)
    if form.is_valid():
      prizemail.automail_prize_winners(currentEvent, form.cleaned_data['prizewinners'], form.cleaned_data['emailtemplate'], sender=form.cleaned_data['fromaddress'], replyTo=form.cleaned_data['replyaddress'])
      viewutil.tracker_log(u'prize', u'Mailed prize notifications', event=currentEvent, user=request.user)
      return render(request, 'admin/automail_prize_winners_post.html', { 'prizewinners': form.cleaned_data['prizewinners'] })
  else:
    form = forms.AutomailPrizeWinnersForm(prizewinners=prizewinners)
  return render(request, 'admin/automail_prize_winners.html', { 'form': form })
Exemplo n.º 13
0
def show_completed_bids(request):
  current = viewutil.get_selected_event(request)
  params = {'feed': 'completed'}
  if current:
    params['event'] = current.id
  bids = filters.run_model_query('bid', params, user=request.user, mode='admin')
  bidList = list(bids)
  if request.method == 'POST':
    for bid in bidList:
      bid.state = 'CLOSED'
      bid.save()
      logutil.change(request, bid, u'Closed {0}'.format(unicode(bid)))
    return render(request, 'admin/completed_bids_post.html', { 'bids': bidList })
  return render(request, 'admin/completed_bids.html', { 'bids': bidList })
Exemplo n.º 14
0
def automail_prize_contributors(request):
  if not hasattr(settings, 'EMAIL_HOST'):
    return HttpResponse("Email not enabled on this server.")
  currentEvent = viewutil.get_selected_event(request)
  if currentEvent == None:
    return HttpResponse("Please select an event first")
  prizes = prizemail.prizes_with_submission_email_pending(currentEvent)
  if request.method == 'POST':
    form = forms.AutomailPrizeContributorsForm(prizes=prizes, data=request.POST)
    if form.is_valid():
      prizemail.automail_prize_contributors(currentEvent, form.cleaned_data['prizes'], form.cleaned_data['emailtemplate'], sender=form.cleaned_data['fromaddress'], replyTo=form.cleaned_data['replyaddress'])
      viewutil.tracker_log(u'prize', u'Mailed prize contributors', event=currentEvent, user=request.user)
      return render(request, 'admin/automail_prize_contributors_post.html', { 'prizes': form.cleaned_data['prizes'] })
  else:
    form = forms.AutomailPrizeContributorsForm(prizes=prizes)
  return render(request, 'admin/automail_prize_contributors.html', { 'form': form, 'currentEvent': currentEvent })
Exemplo n.º 15
0
def show_completed_bids(request):
  current = viewutil.get_selected_event(request);
  params = {'state': 'OPENED'};
  if current:
    params['event'] = current.id;
  bids = filters.run_model_query('allbids', params, user=request.user, mode='admin');
  bids = viewutil.get_tree_queryset_descendants(tracker.models.Bid, bids, include_self=True).annotate(**viewutil.ModelAnnotations['bid']);
  bids = viewutil.FixupBidAnnotations(bids);
  bidList = [];
  for bidK in bids:
    bid = bids[bidK];
    if bid.state == 'OPENED' and bid.goal and bid.amount > bid.goal:
      bidList.append(bid);
  if request.method == 'POST':
    for bid in bidList:
      bid.state = 'CLOSED';
      bid.save();
    return render(request, 'admin/completed_bids_post.html', { 'bids': bidList });
  return render(request, 'admin/completed_bids.html', { 'bids': bidList });
Exemplo n.º 16
0
def draw_prize_winners(request):
  currentEvent = viewutil.get_selected_event(request)
  params = { 'feed': 'todraw' }
  if currentEvent != None:
    params['event'] = currentEvent.id
  prizes = filters.run_model_query('prize', params, user=request.user, mode='admin')
  if request.method == 'POST':
    form = forms.DrawPrizeWinnersForm(prizes=prizes, data=request.POST)
    if form.is_valid():
      for prize in form.cleaned_data['prizes']:
        status = True
        while status and not prize.maxed_winners():
          status, data = prizeutil.draw_prize(prize, seed=form.cleaned_data['seed'])
          prize.error = data['error'] if not status else ''
        logutil.change(request, prize, 'Prize Drawing')
      return render(request, 'admin/draw_prize_winners_post.html', { 'prizes': form.cleaned_data['prizes'] })
  else:
    form = forms.DrawPrizeWinnersForm(prizes=prizes)
  return render(request, 'admin/draw_prize_winners.html', { 'form': form })
Exemplo n.º 17
0
def automail_prize_winners(request):
  if not hasattr(settings, 'EMAIL_HOST'):
    return HttpResponse("Email not enabled on this server.")
  currentEvent = viewutil.get_selected_event(request)
  if currentEvent == None:
    return HttpResponse("Please select an event first")
  prizewinners = prizemail.prize_winners_with_email_pending(currentEvent)
  if request.method == 'POST':
    form = forms.AutomailPrizeWinnersForm(prizewinners=prizewinners, data=request.POST)
    if form.is_valid():
      for prizeWinner in form.cleaned_data['prizewinners']:
        prizeWinner.acceptdeadline = form.cleaned_data['acceptdeadline']
        prizeWinner.save()
      prizemail.automail_prize_winners(currentEvent, form.cleaned_data['prizewinners'], form.cleaned_data['emailtemplate'], sender=form.cleaned_data['fromaddress'], replyTo=form.cleaned_data['replyaddress'])
      viewutil.tracker_log(u'prize', u'Mailed prize winner notifications', event=currentEvent, user=request.user)
      return render(request, 'admin/automail_prize_winners_post.html', { 'prizewinners': form.cleaned_data['prizewinners'] })
  else:
    form = forms.AutomailPrizeWinnersForm(prizewinners=prizewinners)
  return render(request, 'admin/automail_prize_winners.html', { 'form': form })
Exemplo n.º 18
0
 def automail_prize_contributors(request):
     if not hasattr(settings, 'EMAIL_HOST'):
         return HttpResponse('Email not enabled on this server.')
     currentEvent = viewutil.get_selected_event(request)
     if currentEvent is None:
         return HttpResponse('Please select an event first')
     prizes = prizemail.prizes_with_submission_email_pending(currentEvent)
     if request.method == 'POST':
         form = forms.AutomailPrizeContributorsForm(prizes=prizes,
                                                    data=request.POST)
         if form.is_valid():
             prizemail.automail_prize_contributors(
                 currentEvent,
                 form.cleaned_data['prizes'],
                 form.cleaned_data['emailtemplate'],
                 sender=form.cleaned_data['fromaddress'],
                 replyTo=form.cleaned_data['replyaddress'],
             )
             viewutil.tracker_log(
                 'prize',
                 'Mailed prize contributors',
                 event=currentEvent,
                 user=request.user,
             )
             return render(
                 request,
                 'admin/automail_prize_contributors_post.html',
                 {'prizes': form.cleaned_data['prizes']},
             )
     else:
         form = forms.AutomailPrizeContributorsForm(prizes=prizes)
     return render(
         request,
         'admin/automail_prize_contributors.html',
         {
             'form': form,
             'currentEvent': currentEvent
         },
     )
Exemplo n.º 19
0
 def automail_prize_winners(request):
     if not hasattr(settings, 'EMAIL_HOST'):
         return HttpResponse('Email not enabled on this server.')
     currentEvent = viewutil.get_selected_event(request)
     if currentEvent is None:
         return HttpResponse('Please select an event first')
     prizewinners = prizemail.prize_winners_with_email_pending(currentEvent)
     if request.method == 'POST':
         form = forms.AutomailPrizeWinnersForm(prizewinners=prizewinners,
                                               data=request.POST)
         if form.is_valid():
             for prizeWinner in form.cleaned_data['prizewinners']:
                 prizeWinner.acceptdeadline = form.cleaned_data[
                     'acceptdeadline']
                 prizeWinner.save()
             prizemail.automail_prize_winners(
                 currentEvent,
                 form.cleaned_data['prizewinners'],
                 form.cleaned_data['emailtemplate'],
                 sender=form.cleaned_data['fromaddress'],
                 replyTo=form.cleaned_data['replyaddress'],
             )
             viewutil.tracker_log(
                 'prize',
                 'Mailed prize winner notifications',
                 event=currentEvent,
                 user=request.user,
             )
             return render(
                 request,
                 'admin/automail_prize_winners_post.html',
                 {'prizewinners': form.cleaned_data['prizewinners']},
             )
     else:
         form = forms.AutomailPrizeWinnersForm(prizewinners=prizewinners)
     return render(request, 'admin/automail_prize_winners.html',
                   {'form': form})
Exemplo n.º 20
0
def read_donations(request):
  currentEvent = viewutil.get_selected_event(request)
  return render(request, 'admin/read_donations.html', { 'currentEvent': currentEvent })
Exemplo n.º 21
0
 def get_queryset(self, request):
   event = viewutil.get_selected_event(request)
   if event:
     return tracker.models.PostbackURL.objects.filter(event=event)
   else:
     return tracker.models.PostbackURL.objects.all()
Exemplo n.º 22
0
 def get_queryset(self, request):
     event = viewutil.get_selected_event(request)
     if event:
         return models.PostbackURL.objects.filter(event=event)
     else:
         return models.PostbackURL.objects.all()
Exemplo n.º 23
0
def process_pending_bids(request):
  currentEvent = viewutil.get_selected_event(request)
  return render(request, 'admin/process_pending_bids.html', { 'currentEvent': currentEvent })
Exemplo n.º 24
0
def process_prize_submissions(request):
  currentEvent = viewutil.get_selected_event(request)
  return render(request, 'admin/process_prize_submissions.html', { 'currentEvent': currentEvent })
Exemplo n.º 25
0
 def queryset(self, request):
   event = viewutil.get_selected_event(request);
   params = {};
   if event:
     params['event'] = event.id;
   return filters.run_model_query('run', params, user=request.user, mode='admin');
Exemplo n.º 26
0
def process_donations(request):
  currentEvent = viewutil.get_selected_event(request)
  return render(request, 'admin/process_donations.html', { 'user_can_approve': request.user.has_perm('tracker.send_to_reader'), currentEvent: currentEvent })