def post(self, request): package = request.POST.get('package', None) emails = request.POST.getlist('email', None) if not package or not emails: raise Http404 # Check whether the logged in user is associated with the given emails users_emails = [e.email for e in request.user.emails.all()] for email in emails: if email not in users_emails: return HttpResponseForbidden() # Create the subscriptions for email in emails: Subscription.objects.create_for( package_name=package, email=email) if request.is_ajax(): return render_to_json_response({ 'status': 'ok', }) else: next = request.POST.get('next', None) if not next: return redirect('pts-package-page', package_name=package) return redirect(next)
def post(self, request): if 'package' not in request.POST: raise Http404 package = request.POST['package'] user = request.user if 'email' not in request.POST: # Unsubscribe all the user's emails from the package qs = Subscription.objects.filter( email_user__in=user.emails.all(), package__name=package) else: # Unsubscribe only the given email from the package qs = Subscription.objects.filter( email_user__user_email__email=request.POST['email'], package__name=package) qs.delete() if request.is_ajax(): return render_to_json_response({ 'status': 'ok', }) else: if 'next' in request.POST: return redirect(request.POST['next']) else: return redirect('pts-package-page', package_name=package)
def render_response(self): if self.request.is_ajax(): return render_to_json_response({ 'status': 'ok', }) if 'next' in self.request.POST: return redirect(self.request.POST['next']) else: return redirect(self.team)
def post(self, request): user = request.user if 'email' not in request.POST: emails = user.emails.all() else: emails = user.emails.filter(email__in=request.POST.getlist('email')) # Remove all the subscriptions Subscription.objects.filter(email_user__in=emails).delete() if request.is_ajax(): return render_to_json_response({ 'status': 'ok', }) else: if 'next' in request.POST: return redirect(request.POST['next']) else: return redirect('pts-index')
def get(self, request): if 'q' not in request.GET: raise Http404 query_string = request.GET['q'] package_type = request.GET.get('package_type', None) MANAGERS = { 'pseudo': PseudoPackageName.objects, 'source': SourcePackageName.objects, } # When no package type is given include both pseudo and source packages filtered = MANAGERS.get( package_type, PackageName.objects.exclude( source=False, binary=False, pseudo=False) ) filtered = filtered.filter(name__istartswith=query_string) # Extract only the name of the package. filtered = filtered.values('name') # Limit the number of packages returned from the autocomplete AUTOCOMPLETE_ITEMS_LIMIT = 10 filtered = filtered[:AUTOCOMPLETE_ITEMS_LIMIT] return render_to_json_response([package['name'] for package in filtered])
def get(self, request): user = request.user return render_to_json_response([ email.email for email in user.emails.all() ])
def get(self, request): return render_to_json_response([ keyword.name for keyword in Keyword.objects.order_by('name').all() ])
def get(self, request, item_pk): item = get_object_or_404(ActionItem, pk=item_pk) return render_to_json_response(item.to_dict())