示例#1
0
文件: order.py 项目: frecar/focus
def participants(request, id, permission_id=None):
    order = get_object_or_404(Order, id=id)
    content_type = ContentType.objects.get_for_model(Order)

    if permission_id:
        permission = Permission.objects.get(id=permission_id)
    else:
        permission = Permission()

    if request.method == 'POST':
        form = AddParticipantToOrderForm(request.POST)

        if form.is_valid():
            user = form.cleaned_data['user']
            role = form.cleaned_data['role']

            perm = Permission()
            perm.content_type = content_type
            perm.object_id = id
            perm.user = user
            perm.role = role
            perm.save()

            request.message_success(_("Successfully add"))

    add_participant_to_group_form = AddParticipantToOrderForm()

    permissions = Permission.objects.filter(content_type=content_type, object_id=id)

    return render(request, "orders/participants.html", {'form': add_participant_to_group_form,
                                                        'order': order,
                                                        'permissions': permissions})
示例#2
0
文件: models.py 项目: bopopescu/focus
    def grant_role(self, role, object):

        object_id = 0
        if not isclass(object):
            object_id = object.id

        content_type = get_content_type_for_model(object)

        act = Role.get_by_name(role)

        perm = Permission(role=act,
                          group=self,
                          content_type=content_type,
                          object_id=object_id)

        perm.save()

        self.invalidate_permission_tree_for_members()
示例#3
0
文件: models.py 项目: frecar/focus
    def grant_role(self, role, object):
        
        object_id = 0
        if not isclass(object):
            object_id = object.id

        content_type = get_content_type_for_model(object)

        act = Role.get_by_name(role)

        perm = Permission(
            role=act,
            group=self,
            content_type=content_type,
            object_id=object_id
        )

        perm.save()

        self.invalidate_permission_tree_for_members()
示例#4
0
文件: group.py 项目: bopopescu/focus
def permissions(request, id):
    group = Group.objects.filter_current_company().get(id=id)

    #Save and set to active, require valid form
    if request.method == 'POST':
        permission_form = PermissionForm(request.POST, instance=Permission())
        if permission_form.is_valid():
            perm = permission_form.save(commit=False)
            perm.group = group
            perm.save()

    else:
        permission_form = PermissionForm(instance=Permission())

    return render(
        request, 'admin/permissions.html', {
            'title': _("Groups"),
            'group': group,
            'form': permission_form,
            'permissions': group.get_permissions(),
        })
示例#5
0
文件: models.py 项目: frecar/focus
    def grant_permissions (self, actions, object, **kwargs):
        from_date = None
        to_date = None
        negative = False

        #Set time limits, if set in func-call
        if 'from_date' in kwargs:
            from_date = kwargs['from_date']
        if 'to_date' in kwargs:
            to_date = kwargs['to_date']

        #Set negative to negative value in kwargs
        if 'negative' in kwargs:
            negative = True

        #Make it possible to set permissions for classes
        object_id = 0
        if not isclass(object):
            object_id = object.id

        #Get info about the object
        content_type = get_content_type_for_model(object)

        perm = Permission(
            group=self,
            content_type=content_type,
            object_id=object_id,
            from_date=from_date,
            to_date=to_date,
            negative=negative,
            )
        perm.save()

        for p in Action.get_list_by_names(actions):
            perm.actions.add(p)

        perm.save()

        self.invalidate_permission_tree_for_members()
示例#6
0
    def grant_role(self, role, object):
        """
        Make it possible to set permissions for classes
        """

        object_id = 0
        if not isclass(object):
            object_id = object.id

        content_type = get_content_type_for_model(object)

        act = Role.get_by_name(role)

        perm = Permission(
            role=act,
            user=self,
            content_type=content_type,
            object_id=object_id
        )
        perm.save()

        self.invalidate_permission_tree()
示例#7
0
def participants(request, id, permission_id=None):
    order = get_object_or_404(Order, id=id)
    content_type = ContentType.objects.get_for_model(Order)

    if permission_id:
        permission = Permission.objects.get(id=permission_id)
    else:
        permission = Permission()

    if request.method == 'POST':
        form = AddParticipantToOrderForm(request.POST)

        if form.is_valid():
            user = form.cleaned_data['user']
            role = form.cleaned_data['role']

            perm = Permission()
            perm.content_type = content_type
            perm.object_id = id
            perm.user = user
            perm.role = role
            perm.save()

            request.message_success(_("Successfully add"))

    add_participant_to_group_form = AddParticipantToOrderForm()

    permissions = Permission.objects.filter(content_type=content_type,
                                            object_id=id)

    return render(
        request, "orders/participants.html", {
            'form': add_participant_to_group_form,
            'order': order,
            'permissions': permissions
        })
示例#8
0
文件: models.py 项目: bopopescu/focus
    def grant_permissions(self, actions, object, **kwargs):
        from_date = None
        to_date = None
        negative = False

        #Set time limits, if set in func-call
        if 'from_date' in kwargs:
            from_date = kwargs['from_date']
        if 'to_date' in kwargs:
            to_date = kwargs['to_date']

        #Set negative to negative value in kwargs
        if 'negative' in kwargs:
            negative = True

        #Make it possible to set permissions for classes
        object_id = 0
        if not isclass(object):
            object_id = object.id

        #Get info about the object
        content_type = get_content_type_for_model(object)

        perm = Permission(
            group=self,
            content_type=content_type,
            object_id=object_id,
            from_date=from_date,
            to_date=to_date,
            negative=negative,
        )
        perm.save()

        for p in Action.get_list_by_names(actions):
            perm.actions.add(p)

        perm.save()

        self.invalidate_permission_tree_for_members()