def save_model(self, request, object, form, change): instance = form.save(commit=False) # save the expiration method fields type_exp_method = form.cleaned_data['type_exp_method'] type_exp_method_list = type_exp_method.split(",") for i, field in enumerate(form.type_exp_method_fields): if field == 'fixed_option2_can_rollover': if type_exp_method_list[i] == '': type_exp_method_list[i] = '' else: if type_exp_method_list[i] == '': type_exp_method_list[i] = "0" setattr(instance, field, type_exp_method_list[i]) if not change: instance.creator = request.user instance.creator_username = request.user.username instance.owner = request.user instance.owner_username = request.user.username # create a group for this type group = Group() group.name = 'Membership: %s' % instance.name group.slug = slugify(group.name) # just in case, check if this slug already exists in group. # if it does, make a unique slug tmp_groups = Group.objects.filter(slug__istartswith=group.slug) if tmp_groups: t_list = [g.slug[len(group.slug):] for g in tmp_groups] num = 1 while str(num) in t_list: num += 1 group.slug = '%s%s' % (group.slug, str(num)) # group name is also a unique field group.name = '%s%s' % (group.name, str(num)) group.label = instance.name group.type = 'system_generated' group.email_recipient = request.user.email group.show_as_option = 0 group.allow_self_add = 0 group.allow_self_remove = 0 group.description = "Auto-generated with the membership type. Used for membership only" group.notes = "Auto-generated with the membership type. Used for membership only" #group.use_for_membership = 1 group.creator = request.user group.creator_username = request.user.username group.owner = request.user group.owner_username = request.user.username group.save() instance.group = group # save the object instance.save() #form.save_m2m() return instance
def save_model(self, request, object, form, change): instance = form.save(commit=False) # save the expiration method fields type_exp_method = form.cleaned_data["type_exp_method"] type_exp_method_list = type_exp_method.split(",") for i, field in enumerate(form.type_exp_method_fields): if field == "fixed_option2_can_rollover": if type_exp_method_list[i] == "": type_exp_method_list[i] = "" else: if type_exp_method_list[i] == "": type_exp_method_list[i] = "0" setattr(instance, field, type_exp_method_list[i]) if not change: instance.creator = request.user instance.creator_username = request.user.username instance.owner = request.user instance.owner_username = request.user.username # create a group for this type group = Group() group.name = "Membership: %s" % instance.name group.slug = slugify(group.name) # just in case, check if this slug already exists in group. # if it does, make a unique slug tmp_groups = Group.objects.filter(slug__istartswith=group.slug) if tmp_groups: t_list = [g.slug[len(group.slug) :] for g in tmp_groups] num = 1 while str(num) in t_list: num += 1 group.slug = "%s%s" % (group.slug, str(num)) # group name is also a unique field group.name = "%s%s" % (group.name, str(num)) group.label = instance.name group.type = "system_generated" group.email_recipient = request.user.email group.show_as_option = 0 group.allow_self_add = 0 group.allow_self_remove = 0 group.description = "Auto-generated with the membership type. Used for membership only" group.notes = "Auto-generated with the membership type. Used for membership only" # group.use_for_membership = 1 group.creator = request.user group.creator_username = request.user.username group.owner = request.user group.owner_username = request.user.username group.save() instance.group = group # save the object instance.save() # form.save_m2m() return instance