Python django.shortcuts.redirect() Examples
The following are 30
code examples of django.shortcuts.redirect().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
django.shortcuts
, or try the search function
.
Example #1
Source File: views.py From django-classified with MIT License | 7 votes |
def dispatch(self, *args, **kwargs): profile = Profile.get_or_create_for_user(self.request.user) if not profile.allow_add_item(): messages.error(self.request, _('You have reached the limit!')) return redirect(reverse('django_classified:user-items')) return super(ItemCreateView, self).dispatch(*args, **kwargs)
Example #2
Source File: views.py From django-classified with MIT License | 7 votes |
def get(self, request): area_slug = request.GET.get('area_slug') if area_slug: area = get_object_or_404(Area, slug=area_slug) area.set_for_request(request) else: Area.delete_for_request(request) next_url = self.request.GET.get('next') or reverse_lazy('django_classified:index') return redirect(next_url)
Example #3
Source File: shipments.py From Servo with BSD 2-Clause "Simplified" License | 7 votes |
def add_to_return(request, pk, part=None): """ Adds a part to a bulk return """ data = {'action': request.path} if pk and part: shipment = get_object_or_404(Shipment, pk=pk) part = get_object_or_404(ServicePart, pk=part) shipment.servicepart_set.add(part) messages.success(request, _(u"Part %s added to return") % part.part_number) return redirect(edit_bulk_return) if request.method == "POST": query = request.POST.get('q') results = ServicePart.objects.filter(return_order=query) data = {'shipment': pk, 'results': results} return render(request, "shipments/add_to_return-results.html", data) return render(request, "shipments/add_to_return.html", data)
Example #4
Source File: product.py From Servo with BSD 2-Clause "Simplified" License | 7 votes |
def delete_product(request, pk, group): from django.db.models import ProtectedError product = get_object_or_404(Product, pk=pk) if request.method == 'POST': try: product.delete() Inventory.objects.filter(product=product).delete() messages.success(request, _("Product deleted")) except ProtectedError: messages.error(request, _('Cannot delete product')) return redirect(list_products, group) action = request.path return render(request, 'products/remove.html', locals())
Example #5
Source File: order.py From Servo with BSD 2-Clause "Simplified" License | 7 votes |
def remove_product(request, pk, item_id): order = get_object_or_404(Order, pk=pk) # The following is to help those who hit Back after removing a product try: item = ServiceOrderItem.objects.get(pk=item_id) except ServiceOrderItem.DoesNotExist: messages.error(request, _("Order item does not exist")) return redirect(order) if request.method == 'POST': msg = order.remove_product(item, request.user) messages.info(request, msg) return redirect(order) return render(request, 'orders/remove_product.html', locals())
Example #6
Source File: device.py From Servo with BSD 2-Clause "Simplified" License | 6 votes |
def delete_device(request, product_line, model, pk): dev = get_object_or_404(Device, pk=pk) if request.method == 'POST': from django.db.models import ProtectedError try: dev.delete() messages.success(request, _("Device deleted")) except ProtectedError: messages.error(request, _("Cannot delete device with GSX repairs")) return redirect(dev) return redirect(index) data = {'action': request.path} data['device'] = dev return render(request, "devices/remove.html", data)
Example #7
Source File: customer.py From Servo with BSD 2-Clause "Simplified" License | 6 votes |
def edit_group(request, group='all'): if group == 'all': group = CustomerGroup() else: group = CustomerGroup.objects.get(slug=group) title = group.name form = GroupForm(instance=group) if request.method == "POST": form = GroupForm(request.POST, instance=group) if form.is_valid(): group = form.save() messages.success(request, _(u'%s saved') % group.name) return redirect(index, group.slug) messages.error(request, form.errors['name'][0]) return redirect(index) return render(request, "customers/edit_group.html", locals())
Example #8
Source File: product.py From Servo with BSD 2-Clause "Simplified" License | 6 votes |
def upload_gsx_parts(request, group=None): from servo.forms.product import PartsImportForm form = PartsImportForm() data = {'action': request.path} if request.method == "POST": form = PartsImportForm(request.POST, request.FILES) if form.is_valid(): data = form.cleaned_data filename = "servo/uploads/products/partsdb.csv" destination = open(filename, "wb+") for chunk in data['partsdb'].chunks(): destination.write(chunk) messages.success(request, _("Parts database uploaded for processing")) return redirect(list_products) data['form'] = form return render(request, "products/upload_gsx_parts.html", data)
Example #9
Source File: customer.py From Servo with BSD 2-Clause "Simplified" License | 6 votes |
def move(request, pk, new_parent=None): """ Moves a customer under another customer """ customer = get_object_or_404(Customer, pk=pk) if new_parent is not None: if int(new_parent) == 0: new_parent = None msg = _(u"Customer %s moved to top level") % customer else: new_parent = Customer.objects.get(pk=new_parent) d = {'customer': customer, 'target': new_parent} msg = _(u"Customer %(customer)s moved to %(target)s") % d try: customer.move_to(new_parent) customer.save() # To update fullname messages.success(request, msg) except Exception as e: messages.error(request, e) return redirect(customer) return render(request, "customers/move.html", locals())
Example #10
Source File: account.py From Servo with BSD 2-Clause "Simplified" License | 6 votes |
def edit_calendar(request, pk=None, view="week"): from servo.models.calendar import CalendarForm calendar = Calendar(user=request.user) if pk: calendar = get_object_or_404(Calendar, pk=pk) if not calendar.user == request.user: messages.error(request, _('You can only edit your own calendar')) return redirect(calendars) if request.method == "POST": form = CalendarForm(request.POST, instance=calendar) if form.is_valid(): calendar = form.save() messages.success(request, _("Calendar saved")) return redirect(view_calendar, calendar.pk, 'week') form = CalendarForm(instance=calendar) data = {'title': calendar.title} data['form'] = form data['action'] = request.path return render(request, "accounts/calendar_form.html", data)
Example #11
Source File: account.py From Servo with BSD 2-Clause "Simplified" License | 6 votes |
def register(request): """ New user applying for access """ form = RegistrationForm() data = {'title': _("Register")} if request.method == 'POST': form = RegistrationForm(request.POST) if form.is_valid(): user = User(is_active=False) user.email = form.cleaned_data['email'] user.last_name = form.cleaned_data['last_name'] user.first_name = form.cleaned_data['first_name'] user.set_password(form.cleaned_data['password']) user.save() messages.success(request, _(u'Your registration is now pending approval.')) return redirect(login) data['form'] = form return render(request, 'accounts/register.html', data)
Example #12
Source File: order.py From Servo with BSD 2-Clause "Simplified" License | 6 votes |
def remove_user(request, pk, user_id): """ Removes this user from the follower list, unsets assignee """ order = get_object_or_404(Order, pk=pk) user = get_object_or_404(User, pk=user_id) try: order.remove_follower(user) if user == order.user: order.set_user(None, request.user) msg = _('User %s removed from followers') % user order.notify("unset_user", msg, request.user) except Exception as e: messages.error(request, e) return redirect(order)
Example #13
Source File: device.py From Servo with BSD 2-Clause "Simplified" License | 6 votes |
def update_gsx_details(request, pk): """ Updates devices GSX warranty details """ device = get_object_or_404(Device, pk=pk) try: GsxAccount.default(request.user) device.update_gsx_details() messages.success(request, _("Warranty status updated successfully")) except Exception as e: messages.error(request, e) if request.session.get('return_to'): return redirect(request.session['return_to']) return redirect(device)
Example #14
Source File: views.py From django-classified with MIT License | 6 votes |
def form_valid(self, form, formset): self.object = form.save() formset.instance = self.object formset.save() if hasattr(self, 'get_success_message'): self.get_success_message(form) return redirect(self.object.get_absolute_url())
Example #15
Source File: gsx.py From Servo with BSD 2-Clause "Simplified" License | 6 votes |
def delete_repair(request, pk): """Delete this unsubmitted GSX repair.""" repair = get_object_or_404(Repair, pk=pk) if repair.is_submitted(): messages.error(request, _('Submitted repairs cannot be deleted')) return redirect(repair.order) if request.method == 'POST': order = repair.order repair.delete() messages.success(request, _('GSX repair deleted')) return redirect(order) context = {'action': request.path} return render(request, 'repairs/delete_repair.html', context)
Example #16
Source File: gsx.py From Servo with BSD 2-Clause "Simplified" License | 6 votes |
def add_part(request, repair, part): """ Adds this part to this GSX repair """ rep = get_object_or_404(Repair, pk=repair) soi = rep.order.serviceorderitem_set.get(pk=part) if request.method == "POST": try: part = rep.add_part(soi, request.user) data = {'part': part.part_number, 'repair': rep.confirmation} msg = _("Part %(part)s added to repair %(repair)s") % data messages.success(request, msg) except gsxws.GsxError, e: messages.error(request, e) return redirect(rep.order)
Example #17
Source File: gsx.py From Servo with BSD 2-Clause "Simplified" License | 6 votes |
def import_repair(request, order_pk, device_pk): from servo.models import Device order = get_object_or_404(Order, pk=order_pk) device = get_object_or_404(Device, pk=device_pk) action = request.path form = ImportForm() if request.method == 'POST': form = ImportForm(request.POST) if form.is_valid(): confirmation = form.cleaned_data['confirmation'] try: repair = Repair.create_from_gsx(confirmation, order, device, request.user) messages.success(request, _('GSX repair %s imported successfully' % confirmation)) return redirect(repair) except Exception as e: messages.error(request, e) return redirect(order) return render(request, "repairs/import_repair.html", locals())
Example #18
Source File: note.py From Servo with BSD 2-Clause "Simplified" License | 6 votes |
def delete_note(request, pk): """ Deletes a note """ note = get_object_or_404(Note, pk=pk) if request.method == 'POST': note.delete() messages.success(request, _("Note deleted")) if request.session.get('return_to'): url = request.session.get('return_to') del(request.session['return_to']) elif note.order_id: url = note.order.get_absolute_url() return redirect(url) return render(request, 'notes/remove.html', {'note': note})
Example #19
Source File: note.py From Servo with BSD 2-Clause "Simplified" License | 6 votes |
def copy(request, pk): """Copy a note with its attachments and labels.""" note = get_object_or_404(Note, pk=pk) new_note = Note(created_by=request.user) new_note.body = note.body new_note.order = note.order new_note.subject = note.subject new_note.save() new_note.labels = note.labels.all() for a in note.attachments.all(): # also copy the attachments a.pk = None a.content_object = new_note a.save() new_note.attachments.add(a) return redirect(edit, pk=new_note.pk, order_id=note.order_id)
Example #20
Source File: order.py From Servo with BSD 2-Clause "Simplified" License | 6 votes |
def device_from_product(request, pk, item_id): """ Turns a SOI into a device and attaches it to this order """ order = get_object_or_404(Order, pk=pk) soi = ServiceOrderItem.objects.get(pk=item_id) try: GsxAccount.default(request.user, order.queue) device = Device.from_gsx(soi.sn, user=request.user) device.save() event = order.add_device(device, request.user) messages.success(request, event) except Exception as e: messages.error(request, e) return redirect(order)
Example #21
Source File: order.py From Servo with BSD 2-Clause "Simplified" License | 6 votes |
def close(request, pk): """Close this Service Order.""" order = get_object_or_404(Order, pk=pk) if request.method == 'POST': try: order.close(request.user) except Exception as e: messages.error(request, e) return redirect(order) if request.session.get("current_order_id"): del(request.session['current_order_id']) del(request.session['current_order_code']) del(request.session['current_order_customer']) messages.success(request, _('Order %s closed') % order.code) return redirect(order) data = {'order': order, 'action': reverse(close, args=[pk])} return render(request, "orders/close.html", data)
Example #22
Source File: note.py From Servo with BSD 2-Clause "Simplified" License | 5 votes |
def toggle_tag(request, pk, tag_id): note = get_object_or_404(Note, pk=pk) tag = get_object_or_404(Tag, pk=tag_id) if tag in note.labels.all(): note.labels.remove(tag) else: note.labels.add(tag) if note.order: return redirect(note.order) return HttpResponse(_('OK'))
Example #23
Source File: gsx.py From Servo with BSD 2-Clause "Simplified" License | 5 votes |
def return_label(request, repair, part): """ Returns the return label PDF for this repair and part """ repair = get_object_or_404(Repair, pk=repair) try: repair.connect_gsx(request.user) label_data = repair.get_return_label(part) return HttpResponse(label_data, content_type="application/pdf") except gsxws.GsxError as e: messages.error(request, e) return redirect(repair.order)
Example #24
Source File: product.py From Servo with BSD 2-Clause "Simplified" License | 5 votes |
def delete_category(request, slug): category = get_object_or_404(ProductCategory, slug=slug) if request.method == "POST": category.delete() messages.success(request, _("Category deleted")) return redirect(list_products) data = {'category': category} data['action'] = request.path return render(request, 'products/delete_category.html', data)
Example #25
Source File: gsx.py From Servo with BSD 2-Clause "Simplified" License | 5 votes |
def register_return(request, part_id): part = get_object_or_404(ServicePart, pk=part_id) try: part.register_for_return(request.user) messages.success(request, _(u"Part %s updated") % part.order_item.code) except Exception as e: messages.error(request, e) return redirect(part.repair.order)
Example #26
Source File: search.py From Servo with BSD 2-Clause "Simplified" License | 5 votes |
def spotlight(request): """ Searches for anything and redirects to the "closest" result view. GSX searches are done separately. To give good results, we must first "classify" the search query. Some strings are easy to classify: - serial numbers, repair confirmations, part numbers Others, not so much: - customer names, notes """ hint = request.GET.get('hint') if hint == 'orders': return orders(request) if hint == 'customers': return customers(request) if hint == 'devices': return devices(request) if hint == 'notes': return notes(request) if hint == 'products': return products(request) messages.error(request, _('No search query provided')) return redirect(reverse('orders-index'))
Example #27
Source File: search.py From Servo with BSD 2-Clause "Simplified" License | 5 votes |
def orders(request): """ Searches local service orders """ query = request.GET.get("q") if not query or len(query) < 3: messages.error(request, _('Search query is too short')) return redirect(reverse('orders-index')) request.session['search_query'] = query # Redirect Order ID:s to the order try: order = Order.objects.get(code__iexact=query) return redirect(order) except Order.DoesNotExist: pass orders = Order.objects.filter( Q(code=query) | Q(devices__sn__contains=query) | Q(customer__fullname__icontains=query) | Q(customer__phone__contains=query) | Q(repair__confirmation=query) | Q(repair__reference=query) ) data = { 'title': _('Orders'), 'subtitle': _(u'%d results for "%s"') % (orders.count(), query) } page = request.GET.get('page') data['orders'] = paginate(orders.distinct(), page, 100) return render(request, "orders/index.html", data)
Example #28
Source File: purchases.py From Servo with BSD 2-Clause "Simplified" License | 5 votes |
def add_to_po(request, pk, product_id): po = get_object_or_404(PurchaseOrder, pk=pk) product = get_object_or_404(Product, pk=product_id) po.add_product(product, 1, request.user) messages.success(request, _(u"Product %s added" % product.code)) return redirect(edit_po, po.pk)
Example #29
Source File: purchases.py From Servo with BSD 2-Clause "Simplified" License | 5 votes |
def order_stock(request, po_id): """ Submits the PO as a GSX Stocking Order Using the default GSX account. """ po = get_object_or_404(PurchaseOrder, pk=po_id) if request.method == "POST": if po.submitted_at: msg = _(u'Purchase Order %s has already been submitted') % po.pk messages.error(request, msg) return list_pos(request) act = GsxAccount.default(request.user) stock_order = gsxws.StockingOrder( shipToCode=act.ship_to, purchaseOrderNumber=po.id ) for i in po.purchaseorderitem_set.all(): stock_order.add_part(i.code, i.amount) try: result = stock_order.submit() po.supplier = "Apple" po.confirmation = result.confirmationNumber po.submit(request.user) msg = _("Products ordered with confirmation %s" % po.confirmation) messages.success(request, msg) except gsxws.GsxError as e: messages.error(request, e) return redirect(list_pos) data = {'action': request.path} return render(request, "purchases/order_stock.html", data)
Example #30
Source File: purchases.py From Servo with BSD 2-Clause "Simplified" License | 5 votes |
def delete_po(request, po_id): po = get_object_or_404(PurchaseOrder, pk=po_id) try: po.delete() messages.success(request, _("Purchase Order %s deleted" % po_id)) except Exception as e: messages.error(request, e) return redirect(list_pos)