def save(self, new_data): rlp = RowLevelPermission.objects.get(pk=new_data['id']) self.original_object = rlp self.manager = rlp._default_manager self.opts = rlp._meta owner = MultipleObjSelectField.returnObject(new_data['owner']) owner_ct = ContentType.objects.get_for_model(owner) model_ct = rlp.model_ct model = model_ct.get_object_for_this_type (pk=rlp.model_id) model_id = rlp.model_id perm = Permission.objects.get(pk=new_data['perm']) field_name_list = ('owner_ct', 'owner_id', 'model_ct', 'model_id', 'permission') field_data = owner_ct.id all_data = {'owner_id': owner.id, 'model_ct_id': model_ct.id, 'model_id': model_id, 'permission_id': perm.id} manipulators.manipulator_validator_unique_together(field_name_list, self.opts, self, field_data, all_data) rlp.owner = owner rlp.permission = perm rlp.negative = new_data['negative'] rlp.save() return rlp
def save(self, new_data): owner = MultipleObjSelectField.returnObject(new_data['owner']) self.manager = RowLevelPermission._default_manager self.opts = RowLevelPermission._meta ct = ContentType.objects.get_for_model(owner) rlp_list = [] for i in new_data.getlist('perm'): perm = Permission.objects.get(pk=i) # Check that the new row level perms are unique. field_name_list = ('owner_ct', 'owner_id', 'model_ct', 'model_id', 'permission') field_data = ct.id model_id = self.obj_instance._get_pk_val() all_data = {'owner_id': owner.id, 'model_ct_id': self.ct.id, 'model_id': model_id, 'permission_id': perm.id} manipulators.manipulator_validator_unique_together(field_name_list, self.opts, self, field_data, all_data) rlp = RowLevelPermission.objects.create_row_level_permission(self.obj_instance, owner, perm, negative=new_data['negative']) rlp_list.append(rlp) return rlp_list