def wrap(request, *args, **kwargs): expiration_time = 5 * 60 if request.user.is_authenticated(): request.temp_user = request.user return function(request, *args, **kwargs) User = get_user_model() rfid = request.POST.get('rfid', None) user = get_or_none(User, rfid__number=rfid or 'notavalidrfid') email = request.POST.get("email", None) or "notavaildemail" if rfid and rfid == "0000000000" and settings.DEBUG: user = User.objects.get(pk=1) if not user and email and 'password' in request.POST: user = User.objects.get_from_anything(email) if user and not user.check_password(request.POST['password']): return JsonResponse( { 'errors': { 'non_field_error': 'Username and password do not match, please try again' } }, status=401) if user: request.temp_user = user return function(request, *args, **kwargs) if rfid: return JsonResponse({'next': "new-rfid", 'new_rfid': rfid}) return JsonResponse( { 'errors': { 'non_field_error': 'Unable to find user. Contact the staff' } }, status=401)
def document_json(request, document_pk): #! TODO do we want to allow annonymous documents? document = get_object_or_404(Document, pk=document_pk) signature = None if document.editable: signature = get_or_none(Signature, document_id=document_pk, user=request.temp_user) form = SignatureForm(request.POST or None, request.FILES or None, document=document, instance=signature) if form.is_valid(): signature = form.save(commit=False) if request.temp_user.is_authenticated(): signature.user = request.temp_user signature.save() m = "%s signed by %s" % (document, signature.user) document_json = document.get_json_for_user(request.temp_user) #signature.delete() #! TODO this is only to help debugging! return JsonResponse({ "messages": [{ "level": 'success', 'body': m }], 'document': document_json }) out = "Please correct the following error(s):" for i in form.errors.items(): out += "<br/>%s: %s" % i return JsonResponse({'errors': {'non_field_error': out}})
def join_us(request): values = { 'groups': Group.objects.all(), 'flatpage':lambda:FlatPage.objects.get(url='/join-us/'), 'canceled_subscription': get_or_none(Subscription,pk=request.GET.get("canceled",0)), 'now': datetime.datetime.now() } return TemplateResponse(request,"membership/memberships.html",values)
def index(request): d_ids = getattr(settings,"REQUIRED_DOCUMENT_IDS",[]) documents = Document.objects.filter(id__in=d_ids) values = { 'documents_signatures': [(d,get_or_none(Signature,document_id=d.id,user=request.user)) for d in documents], 'next': request.path, } return TemplateResponse(request,"redtape/index.html",values)
def get_subscription(params,sender): subscr_id = params.get('subscr_id',None) or params.get('recurring_payment_id',None) if not subscr_id: mail_admins("Bad IPN","no subscr_id in IPN #%s"%sender.pk) return subscription = get_or_none(Subscription,subscr_id=subscr_id) if not subscription: return return subscription
def get_subscription(params, sender): subscr_id = params.get('subscr_id', None) or params.get( 'recurring_payment_id', None) if not subscr_id: mail_admins("Bad IPN", "no subscr_id in IPN #%s" % sender.pk) return subscription = get_or_none(Subscription, subscr_id=subscr_id) if not subscription: return return subscription
def index(request): d_ids = getattr(settings, "REQUIRED_DOCUMENT_IDS", []) documents = Document.objects.filter(id__in=d_ids) values = { 'documents_signatures': [(d, get_or_none(Signature, document_id=d.id, user=request.user)) for d in documents], 'next': request.path, } return TemplateResponse(request, "redtape/index.html", values)
def detail(request,pk,slug): course = get_object_or_404(Course,pk=pk) enrollment = None follow = None if request.user.is_authenticated(): _e = Enrollment.objects.filter(session__course=course,user=request.user) enrollment = (_e or [None])[0] follow = get_or_none(Follow,user=request.user,content_type=get_contenttype(course),object_id=course.id) kwargs = dict(active=True,subjects__in=course.subjects.all()) related_courses = Course.objects.filter(**kwargs).exclude(id=course.id) values = { 'course': course, 'enrollment': enrollment, 'related_courses': related_courses, 'follow': follow, } return TemplateResponse(request,"course/detail.html",values)
def document_json(request,document_pk): #! TODO do we want to allow annonymous documents? document = get_object_or_404(Document,pk=document_pk) signature = None if document.editable: signature = get_or_none(Signature,document_id=document_pk,user=request.temp_user) form = SignatureForm(request.POST or None,request.FILES or None,document=document,instance=signature) if form.is_valid(): signature = form.save(commit=False) if request.temp_user.is_authenticated(): signature.user = request.temp_user signature.save() m = "%s signed by %s"%(document,signature.user) document_json = document.get_json_for_user(request.temp_user) #signature.delete() #! TODO this is only to help debugging! return JsonResponse({"messages":[{"level": 'success','body': m}], 'document': document_json}) out = "Please correct the following error(s):" for i in form.errors.items(): out += "<br/>%s: %s"%i return JsonResponse({'errors': {'non_field_error': out}})
def document_detail(request,document_pk,slug=None): #ze slug does notzing! document = get_object_or_404(Document,pk=document_pk) if document.login_required and not request.user.is_authenticated(): return login_required(document_detail)(request,document_pk) signature = None if request.user.is_authenticated() and document.editable: signature = get_or_none(Signature,document_id=document_pk,user=request.user) form = SignatureForm(request.POST or None,request.FILES or None,document=document,instance=signature) if form.is_valid(): signature = form.save(commit=False) if request.user.is_authenticated(): signature.user = request.user signature.save() messages.success(request,"%s signed by %s"%(document,signature.user)) return HttpResponseRedirect(request.POST.get('next',"")) values = { 'form': form, 'document': document, 'signature': signature } return TemplateResponse(request,"redtape/document.html",values)
def document_detail(request, document_pk, slug=None): #ze slug does notzing! document = get_object_or_404(Document, pk=document_pk) if document.login_required and not request.user.is_authenticated(): return login_required(document_detail)(request, document_pk) signature = None if request.user.is_authenticated() and document.editable: signature = get_or_none(Signature, document_id=document_pk, user=request.user) form = SignatureForm(request.POST or None, request.FILES or None, document=document, instance=signature) if form.is_valid(): signature = form.save(commit=False) if request.user.is_authenticated(): signature.user = request.user signature.save() messages.success(request, "%s signed by %s" % (document, signature.user)) return HttpResponseRedirect(request.POST.get('next', "")) values = {'form': form, 'document': document, 'signature': signature} return TemplateResponse(request, "redtape/document.html", values)
def wrap(request,*args,**kwargs): expiration_time = 5*60 if request.user.is_authenticated(): request.temp_user = request.user return function(request,*args,**kwargs) User = get_user_model() rfid = request.POST.get('rfid',None) user = get_or_none(User,rfid__number=rfid or 'notavalidrfid') email = request.POST.get("email",None) or "notavaildemail" if rfid and rfid == "0000000000" and settings.DEBUG: user = User.objects.get(pk=1) if not user and email and 'password' in request.POST: user = User.objects.get_from_anything(email) if user and not user.check_password(request.POST['password']): return JsonResponse({'errors': {'non_field_error': 'Username and password do not match, please try again'}}, status=401) if user: request.temp_user = user return function(request,*args,**kwargs) if rfid: return JsonResponse({'next': "new-rfid", 'new_rfid': rfid}) return JsonResponse({'errors': {'non_field_error': 'Unable to find user. Contact the staff'}}, status=401)