def gmap(request, pid): prod = get_object_or_404(Product, id=pid) if request.user.is_staff or request.user in prod.authorized_users.all(): pass # user is authorized for this product else: raise PermissionDenied form = ScanSettingsForm() if request.method == 'POST': form = ScanSettingsForm(data=request.POST) if form.is_valid(): new_scan = form.save(commit=False) new_scan.product = prod new_scan.user = request.user new_scan.save() messages.add_message(request, messages.SUCCESS, 'Scan settings saved.', extra_tags='alert-success') return HttpResponseRedirect(reverse('view_product', args=(pid,))) else: messages.add_message(request, messages.ERROR, 'Scan settings not saved.', extra_tags='alert-danger') add_breadcrumb(title="Scan", top_level=False, request=request) return render(request, 'dojo/gmap.html', {'form': form, 'pid': pid})
def edit_scan_settings(request, pid, sid): old_scan = ScanSettings.objects.get(id=sid) pid = old_scan.product.id user = request.user if user.is_staff or user in old_scan.product.authorized_users.all(): pass else: raise PermissionDenied if request.method == 'POST': if request.POST.get('edit'): form = ScanSettingsForm(data=request.POST, instance=old_scan) if form.is_valid(): form.save() messages.add_message(request, messages.SUCCESS, 'Scan settings saved.', extra_tags='alert-success') return HttpResponseRedirect( reverse('view_scan_settings', args=( old_scan.product.id, sid, ))) else: messages.add_message(request, messages.ERROR, 'Scan settings not saved.', extra_tags='alert-danger') add_breadcrumb(parent=old_scan, top_level=False, request=request) return render(request, 'dojo/edit_scan_settings.html', { 'form': form, 'sid': sid, 'pid': pid }) elif request.POST.get('delete'): pid = old_scan.product.id old_scan.delete() messages.add_message(request, messages.SUCCESS, 'Scan settings deleted.', extra_tags='alert-success') return HttpResponseRedirect(reverse('view_product', args=(pid, ))) try: form = ScanSettingsForm(instance=old_scan) except: form = ScanSettingsForm() add_breadcrumb(parent=old_scan, top_level=False, request=request) return render(request, 'dojo/edit_scan_settings.html', { 'form': form, 'sid': sid, 'pid': pid })
def gmap(request, pid): prod = get_object_or_404(Product, id=pid) if request.user.is_staff or request.user in prod.authorized_users.all(): pass # user is authorized for this product else: raise PermissionDenied form = ScanSettingsForm() if request.method == 'POST': form = ScanSettingsForm(data=request.POST) if form.is_valid(): new_scan = form.save(commit=False) new_scan.product = prod new_scan.user = request.user new_scan.save() messages.add_message(request, messages.SUCCESS, 'Scan settings saved.', extra_tags='alert-success') return HttpResponseRedirect(reverse('view_product', args=(pid, ))) else: messages.add_message(request, messages.ERROR, 'Scan settings not saved.', extra_tags='alert-danger') add_breadcrumb(title="Scan", top_level=False, request=request) return render(request, 'dojo/gmap.html', {'form': form, 'pid': pid})
def edit_scan_settings(request, pid, sid): old_scan = ScanSettings.objects.get(id=sid) pid = old_scan.product.id user = request.user if user.is_staff or user in old_scan.product.authorized_users.all(): pass else: raise PermissionDenied if request.method == 'POST': if request.POST.get('edit'): form = ScanSettingsForm(data=request.POST, instance=old_scan) if form.is_valid(): form.save() messages.add_message(request, messages.SUCCESS, 'Scan settings saved.', extra_tags='alert-success') return HttpResponseRedirect(reverse('view_scan_settings', args=(old_scan.product.id, sid,))) else: messages.add_message(request, messages.ERROR, 'Scan settings not saved.', extra_tags='alert-danger') add_breadcrumb(parent=old_scan, top_level=False, request=request) return render(request, 'dojo/edit_scan_settings.html', {'form': form, 'sid': sid, 'pid': pid}) elif request.POST.get('delete'): pid = old_scan.product.id old_scan.delete() messages.add_message(request, messages.SUCCESS, 'Scan settings deleted.', extra_tags='alert-success') return HttpResponseRedirect(reverse('view_product', args=(pid,))) try: form = ScanSettingsForm(instance=old_scan) except: form = ScanSettingsForm() add_breadcrumb(parent=old_scan, top_level=False, request=request) return render(request, 'dojo/edit_scan_settings.html', {'form': form, 'sid': sid, 'pid': pid})