def __init__(self, *args, **kwargs): self.shipment = kwargs.pop('shipment', None) super(PackageEditForm, self).__init__(*args, **kwargs) if self.instance.shipment_id is None: self.instance.shipment = self.shipment if not self.instance.code: self.instance.code = uniqid()
def save(self, *args, **kwargs): # make sure the User has a code (for QR) if not self.code: self.code = uniqid() while CtsUser.objects.filter(code=self.code).exists(): self.code = uniqid() # Make sure user is in the right groups for their role super(CtsUser, self).save(*args, **kwargs) if self.pk: current_roles = set([group.name for group in self.groups.all()]) if self.is_superuser: # All roles role_names = ROLE_PERMISSIONS.keys() self.add_roles(set(role_names) - current_roles) else: desired_roles = set([self.role]) | set(IMPLIED_ROLES.get(self.role, [])) self.add_roles(desired_roles - current_roles) self.remove_roles(current_roles - desired_roles)
def __init__(self, *args, **kwargs): if 'shipment' not in kwargs: raise ValueError("Must pass 'shipment' to NewPackageFromKitForm") self.shipment = kwargs.pop('shipment') super(NewPackageFromKitForm, self).__init__(*args, **kwargs) self.fields['name'].required = False self.fields['description'].required = False if not self.instance.code: self.instance.code = uniqid()
def save(self, *args, **kwargs): # make sure the User has a code (for QR) if not self.code: self.code = uniqid() while CtsUser.objects.filter(code=self.code).exists(): self.code = uniqid() # Make sure user is in the right groups for their role super(CtsUser, self).save(*args, **kwargs) if self.pk: current_roles = set([group.name for group in self.groups.all()]) if self.is_superuser: # All roles role_names = ROLE_PERMISSIONS.keys() self.add_roles(set(role_names) - current_roles) else: desired_roles = set([self.role]) | set( IMPLIED_ROLES.get(self.role, [])) self.add_roles(desired_roles - current_roles) self.remove_roles(current_roles - desired_roles)