Advertisement
Guest User

Untitled

a guest
Nov 14th, 2019
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.28 KB | None | 0 0
  1. class PartnerManageView(generic.UpdateView):
  2. """
  3. This multi-purpose view renders out a form to edit the partner's details,
  4. the associated address and a list of all associated users.
  5. """
  6. template_name = 'dashboard/partners/partner_manage.html'
  7. form_class = PartnerAddressForm
  8. success_url = reverse_lazy('dashboard:partner-list')
  9.  
  10. def get_object(self, queryset=None):
  11. self.partner = get_object_or_404(Partner, pk=self.kwargs['pk'])
  12. address = self.partner.primary_address
  13. if address is None:
  14. address = self.partner.addresses.model(partner=self.partner)
  15. return address
  16.  
  17. def get_initial(self):
  18. return {'name': self.partner.name}
  19.  
  20. def get_context_data(self, **kwargs):
  21. ctx = super(PartnerManageView, self).get_context_data(**kwargs)
  22. ctx['partner'] = self.partner
  23. ctx['title'] = self.partner.name
  24. ctx['users'] = self.partner.users.all()
  25. return ctx
  26.  
  27. def form_valid(self, form):
  28. messages.success(
  29. self.request, _("Partner '%s' was updated successfully.") %
  30. self.partner.name)
  31. self.partner.name = form.cleaned_data['name']
  32. self.partner.save()
  33. return super(PartnerManageView, self).form_valid(form)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement