示例#1
0
 def __init__(self, article, request, *args, **kwargs):
     self.article = article
     self.user = request.user
     self.request = request
     kwargs['instance'] = article
     kwargs['initial'] = {'locked': article.current_revision.locked}
     super(PermissionsForm, self).__init__(*args, **kwargs)
     
     self.can_change_groups = False
     self.can_assign = False
     
     if permissions.can_assign(article, request.user):
         self.can_assign = True
         self.fields['group'].queryset = models.Group.objects.all()
     elif permissions.can_assign_owner(article, request.user):
         self.fields['group'].queryset = models.Group.objects.filter(user=request.user)
         self.can_change_groups = True
     else:
         self.fields['group'].widget = forms.HiddenInput()
         self.fields['group_read'].widget = forms.HiddenInput()
         self.fields['group_write'].widget = forms.HiddenInput()
         
     if not self.can_assign:
         self.fields['owner_username'].widget = forms.HiddenInput()
         self.fields['recursive'].widget = forms.HiddenInput()
         self.fields['locked'].widget = forms.HiddenInput()
     
     self.fields['owner_username'].initial = article.owner.username if article.owner else ""
示例#2
0
    def __init__(self, article, request, *args, **kwargs):
        self.article = article
        self.user = request.user
        self.request = request
        kwargs['instance'] = article
        kwargs['initial'] = {'locked': article.current_revision.locked}
        super(PermissionsForm, self).__init__(*args, **kwargs)

        self.can_change_groups = False
        self.can_assign = False

        print "checking can_assing", permissions.can_assign(
            article, request.user), request.user.is_staff
        if permissions.can_assign(article, request.user):
            self.can_assign = True
            self.fields['group'].queryset = models.Group.objects.all()
        elif permissions.can_assign_owner(article, request.user):
            self.fields['group'].queryset = models.Group.objects.filter(
                user=request.user)
            self.can_change_groups = True
        else:
            self.fields['group'].widget = forms.HiddenInput()
            self.fields['group_read'].widget = forms.HiddenInput()
            self.fields['group_write'].widget = forms.HiddenInput()

        if not self.can_assign:
            self.fields['owner_username'].widget = forms.HiddenInput()
            self.fields['recursive'].widget = forms.HiddenInput()
            self.fields['locked'].widget = forms.HiddenInput()

        self.fields[
            'owner_username'].initial = article.owner.username if article.owner else ""
示例#3
0
文件: forms.py 项目: GbalsaC/bitnamiP
    def __init__(self, article, request, *args, **kwargs):
        self.article = article
        self.user = request.user
        self.request = request
        kwargs["instance"] = article
        kwargs["initial"] = {"locked": article.current_revision.locked}
        super(PermissionsForm, self).__init__(*args, **kwargs)

        self.can_change_groups = False
        self.can_assign = False

        print "checking can_assing", permissions.can_assign(article, request.user), request.user.is_staff
        if permissions.can_assign(article, request.user):
            self.can_assign = True
            self.fields["group"].queryset = models.Group.objects.all()
        elif permissions.can_assign_owner(article, request.user):
            self.fields["group"].queryset = models.Group.objects.filter(user=request.user)
            self.can_change_groups = True
        else:
            self.fields["group"].widget = forms.HiddenInput()
            self.fields["group_read"].widget = forms.HiddenInput()
            self.fields["group_write"].widget = forms.HiddenInput()

        if not self.can_assign:
            self.fields["owner_username"].widget = forms.HiddenInput()
            self.fields["recursive"].widget = forms.HiddenInput()
            self.fields["locked"].widget = forms.HiddenInput()

        self.fields["owner_username"].initial = article.owner.username if article.owner else ""
示例#4
0
    def __init__(self, article, request, *args, **kwargs):
        self.article = article
        self.user = request.user
        self.request = request
        kwargs['instance'] = article
        kwargs['initial'] = {'locked': article.current_revision.locked}

        super(PermissionsForm, self).__init__(*args, **kwargs)

        self.can_change_groups = False
        self.can_assign = False

        if permissions.can_assign(article, request.user):
            self.can_assign = True
            self.can_change_groups = True
            self.fields['group'].queryset = models.Group.objects.all()
        elif permissions.can_assign_owner(article, request.user):
            self.fields['group'].queryset = models.Group.objects.filter(
                user=request.user)
            self.can_change_groups = True
        else:
            # Quick-fix...
            # Set the group dropdown to readonly and with the current
            # group as only selectable option
            self.fields['group'] = forms.ModelChoiceField(
                queryset=models.Group.objects.filter(
                    id=self.instance.group.id)
                if self.instance.group else models.Group.objects.none(),
                empty_label=_('(none)'),
                required=False, widget=SelectWidgetBootstrap(
                    disabled=True)
                if settings.USE_BOOTSTRAP_SELECT_WIDGET else forms.Select(
                    attrs={'disabled': True}))
            self.fields['group_read'].widget = forms.HiddenInput()
            self.fields['group_write'].widget = forms.HiddenInput()

        if not self.can_assign:
            self.fields['owner_username'].widget = forms.TextInput(
                attrs={
                    'readonly': 'true'})
            self.fields['recursive'].widget = forms.HiddenInput()
            self.fields['recursive_group'].widget = forms.HiddenInput()
            self.fields['recursive_owner'].widget = forms.HiddenInput()
            self.fields['locked'].widget = forms.HiddenInput()

        self.fields['owner_username'].initial = getattr(
            article.owner,
            User.USERNAME_FIELD) if article.owner else ""
示例#5
0
文件: forms.py 项目: biwoom/obn
    def __init__(self, article, request, *args, **kwargs):
        self.article = article
        self.user = request.user
        self.request = request
        kwargs['instance'] = article
        kwargs['initial'] = {'locked': article.current_revision.locked}

        super(PermissionsForm, self).__init__(*args, **kwargs)

        self.can_change_groups = False
        self.can_assign = False

        if permissions.can_assign(article, request.user):
            self.can_assign = True
            self.can_change_groups = True
            self.fields['group'].queryset = Group.objects.all()
        elif permissions.can_assign_owner(article, request.user):
            self.fields['group'].queryset = Group.objects.filter(
                user=request.user)
            self.can_change_groups = True
        else:
            # Quick-fix...
            # Set the group dropdown to readonly and with the current
            # group as only selectable option
            self.fields['group'] = forms.ModelChoiceField(
                queryset=Group.objects.filter(
                    id=self.instance.group.id)
                if self.instance.group else Group.objects.none(),
                empty_label=_('(none)'),
                required=False, widget=SelectWidgetBootstrap(
                    disabled=True)
                if settings.USE_BOOTSTRAP_SELECT_WIDGET else forms.Select(
                    attrs={'disabled': True}))
            self.fields['group_read'].widget = forms.HiddenInput()
            self.fields['group_write'].widget = forms.HiddenInput()

        if not self.can_assign:
            self.fields['owner_username'].widget = forms.TextInput(
                attrs={
                    'readonly': 'true'})
            self.fields['recursive'].widget = forms.HiddenInput()
            self.fields['recursive_group'].widget = forms.HiddenInput()
            self.fields['recursive_owner'].widget = forms.HiddenInput()
            self.fields['locked'].widget = forms.HiddenInput()

        self.fields['owner_username'].initial = getattr(
            article.owner,
            User.USERNAME_FIELD) if article.owner else ""