from django import forms


class RoleAdminBaseForm(forms.ModelForm):
    class Meta:
        exclude = ('user', )
    
    def save(self, *args, **kwargs):
        self.instance.user = self.user
        return super(RoleAdminBaseForm, self).save(*args, **kwargs)


def role_form_factory(role):
    class RoleAdminForm(RoleAdminBaseForm):
        class Meta(RoleAdminBaseForm.Meta):
            model = role.model
    return RoleAdminForm