Пример #1
0
def submit_vote(request):
  authenticate(request, VALID_FACTORS)
  admin = ('admin' == authenticate(request, VALID_FACTORS))
  
  if request.method != 'POST':
    raise Http404
  
  fp = get_fp()
  
  if not check_status(fp,DURING_V) and not admin:
    return HttpResponse403()
  
  d = request.POST
  query = d.copy()
  
  voter = request.user
  
  try:
    FundingPollVote.objects.save_fp_data_list(FundingPollOrganization, fp, voter, query)
  except IntegrityError:
    if not admin:
      r = HttpResponseForbidden()
      r.write('<p>Error, you may not vote twice in fundingpoll.</p>')
      return r
  
  return render_to_response('fundingpoll/voting_success.html', context_instance=RequestContext(request))
Пример #2
0
 def returned_wrapper(request, *args, **kwargs):
     try:
         if is_black_ip(get_ip(request)) == False:
             return func(request, *args, **kwargs)
         resp = HttpResponseForbidden()
         resp.write("你的IP被封禁")
         return resp
     except Exception as error:
         tools.debug("ip filter failed", request, error)
         raise Http404
Пример #3
0
def register_metaman(request):
    '''
    view function to handle the MetaMan file upload
    '''

    if request.method == 'POST':
        form = RegisterMetamanForm(request.POST, request.FILES)

        if form.is_valid():
            username = form.cleaned_data['username']
            password = form.cleaned_data['password']
            epn = form.cleaned_data['epn']

            logger.info('=== ingestion request for epn %s' % epn)

            user = authenticate(username=username, password=password)
            if user is None:
                logger.debug('authorisation failed')
                response = HttpResponseForbidden()
                response.write('authorization failed')
                return response
            elif user.is_active is False:
                logger.debug('user account %s is inactive' % user.username)
                response = HttpResponseForbidden()
                response.write('authorization failed')
                return response
            else:
                login(request, user)

                try:
                    logger.info('calling _parse_metaman for epn %s' % epn)
                    expid = _parse_metaman(request, form.cleaned_data)
                    logger.info('_parse_metaman SUCCESS,'
                                ' experiment id = %i' % expid)
                except:
                    logger.exception('exception')
                    logger.error('=== ingesting for epn %s FAILED' % epn)
                    return HttpResponseServerError()

                logger.info('=== ingestion FINISHED for epn %s' % epn)
                logout(request)

                return HttpResponse(str(expid))

        c = Context({'form': form,
                     'error': True,
                     'header': 'Register Metaman File'})
        render_to_response('tardis_portal/form_template.html', c)

    else:
        form = RegisterMetamanForm()

    c = Context({'form': form,
                 'header': 'Register Metaman File'})
    return render_to_response('tardis_portal/form_template.html', c)
Пример #4
0
def srt(request, id, layer, index=None):
    item = get_object_or_404(models.Item, itemId=id)
    if not item.access(request.user):
        response = HttpResponseForbidden()
    else:
        response = HttpResponse()
        filename = u"%s.srt" % item.get('title')
        response['Content-Disposition'] = "attachment; filename*=UTF-8''%s" % quote(filename.encode('utf-8'))
        response['Content-Type'] = 'text/x-srt'
        response.write(item.srt(layer))
    return response
def srt(request, id, layer, index=None):
    item = get_object_or_404(models.Item, itemId=id)
    if not item.access(request.user):
        response = HttpResponseForbidden()
    else:
        response = HttpResponse()
        filename = u"%s.srt" % item.get('title')
        response[
            'Content-Disposition'] = "attachment; filename*=UTF-8''%s" % quote(
                filename.encode('utf-8'))
        response['Content-Type'] = 'text/x-srt'
        response.write(item.srt(layer))
    return response