예제 #1
0
파일: __init__.py 프로젝트: xpanta/enhydris
    def add_row_perm(self, instance, perm):
        """
        Add permission 'perm' to user 'self' for object(s) instance.
 
        instance variable may be an object or a queryset.
        """

        if type(instance).__name__ == 'QuerySet':
            for object in instance:
                if self.has_row_perm(object, perm, True):
                    pass
                permission = Permission()
                permission.content_object = object
                permission.user = self
                permission.name = perm
                permission.save()
        else:

            if self.has_row_perm(instance, perm, True):
                return False
            permission = Permission()
            permission.content_object = instance
            permission.user = self
            permission.name = perm
            permission.save()

        return True
예제 #2
0
 def create(self, validated_data):
     slug = validated_data['name'].lower().replace('-','_').strip()
     slug = slug.replace(' ','_')
     new_permission = Permission(name=validated_data['name'],slug = slug)
     new_permission.save()
     # add permission
     return new_permission
예제 #3
0
파일: __init__.py 프로젝트: xpanta/enhydris
    def add_row_perm(self, instance, perm):
        """
        Add permission 'perm' to user 'self' for object(s) instance.
 
        instance variable may be an object or a queryset.
        """

        if type(instance).__name__ == 'QuerySet':
            for object in instance:
                if self.has_row_perm(object, perm, True):
                    pass
                permission = Permission()
                permission.content_object = object
                permission.user = self
                permission.name = perm
                permission.save()
        else:

            if self.has_row_perm(instance, perm, True):
                return False
            permission = Permission()
            permission.content_object = instance
            permission.user = self
            permission.name = perm
            permission.save()

        return True
 def add_row_perm(self, instance, perm):
     if self.has_row_perm(instance, perm):
         return False
     permission = Permission()
     permission.content_object = instance
     permission.group = self
     permission.name = perm
     permission.save()
     return True
예제 #5
0
    def add_row_perm(self, instance, perm):
        from models import Permission

        if self.has_row_perm(instance, perm, True):
            return False
        permission = Permission()
        permission.content_object = instance
        permission.user = self
        permission.name = perm
        permission.save()
        return True
예제 #6
0
    def add_row_perm(self, instance, perm):
        from models import Permission

        if self.has_row_perm(instance, perm, True):
            return False
        permission = Permission()
        permission.content_object = instance
        permission.user = self
        permission.name = perm
        permission.save()
        return True
예제 #7
0
    def add_row_perm(self, instance, perm):
        
# 20100118 RL
# Bug in this app's code - one can fail to have perms both because you don't nhave them, and
# because your account isn't active. If the latter, we definitely shouldn't be putting duplicate rows in.
# Short of copying/pasting code, the easiest thing to do is to skip the active test - implemented by
# modifying has_row_perm to take another param.        
    
        if self.has_row_perm(instance, perm, True, False):
            return False
        
        permission = Permission()
        permission.content_object = instance
        permission.user = self
        permission.name = perm
        permission.save()
        return True
예제 #8
0
파일: __init__.py 프로젝트: xpanta/enhydris
    def add_row_perm(self, instance, perm):

        if type(instance).__name__ == 'QuerySet':
            for object in instance:
                if self.has_row_perm(object, perm):
                    pass
                permission = Permission()
                permission.content_object = object
                permission.user = self
                permission.name = perm
                permission.save()
        else:
            if self.has_row_perm(instance, perm):
                return False
            permission = Permission()
            permission.content_object = instance
            permission.group = self
            permission.name = perm
            permission.save()
        return True
예제 #9
0
파일: __init__.py 프로젝트: xpanta/enhydris
    def add_row_perm(self, instance, perm):

        if type(instance).__name__ == 'QuerySet':
            for object in instance:
                if self.has_row_perm(object, perm):
                    pass
                permission = Permission()
                permission.content_object = object
                permission.user = self
                permission.name = perm
                permission.save()
        else:
            if self.has_row_perm(instance, perm):
                return False
            permission = Permission()
            permission.content_object = instance
            permission.group = self
            permission.name = perm
            permission.save()
        return True
예제 #10
0
def public_save(request):
    user_id = request.POST.get("user_id", "")
    user_name = request.POST.get("user_name", "")
    user_real_name = request.POST.get("user_real_name", "")
    user_email = request.POST.get("user_email", "")
    user_password = request.POST.get("user_password", "")
    user_re_password = request.POST.get("user_re_password", "")
    user_is_admin = request.POST.get("user_is_admin", 0)
    permission_list = request.POST.get("permission_list", "")
    if user_is_admin == 1 or user_is_admin == "1":
        user_is_admin = True
    else:
        user_is_admin = False
    result = {}
    head = {}
    if user_name == "":
        error_code = 100015
    elif user_password == "" or user_re_password == "":
        error_code = 100021
    elif user_password != user_re_password:
        error_code = 100019
    elif len(user_password) < 6:
        error_code = 100020
    else:
        new_user_id = ""
        if user_id == "":
            if User.objects.filter(username=user_name, is_active=1):
                error_code = 100017
            else:
                add_user = User(username=user_name,
                                first_name=user_real_name,
                                is_superuser=user_is_admin,
                                email=user_email)
                try:
                    add_user.set_password(user_password)
                    add_user.save()
                    new_user_id = add_user.id
                    error_code = 0
                except Exception as ex:
                    head["exceptions"] = ex
                    error_code = 110000
        else:
            if User.objects.filter(username=user_name,
                                   is_active=1).exclude(id=user_id):
                error_code = 100017
            else:
                edit_user = get_object_or_404(User, id=user_id)
                try:
                    edit_user.username = user_name
                    edit_user.first_name = user_real_name
                    edit_user.email = user_email
                    if user_password != edit_user.password:
                        edit_user.set_password(user_password)
                    edit_user.is_superuser = user_is_admin
                    edit_user.save()
                    new_user_id = user_id
                    error_code = 0
                except Exception as ex:
                    head["exceptions"] = ex
                    error_code = 110000
        # 保存权限
        if new_user_id != "":
            permissions = Permission.objects.filter(user_id=new_user_id)
            if permissions:
                for pers in permissions:
                    pers.delete()
            if permission_list != "":
                permission_list = permission_list.encode("utf8")
                permission_list = permission_list.split(",")
                for permission_id in permission_list:
                    permission_info = Permission.objects.filter(
                        user_id=new_user_id, project_id=permission_id)
                    if permission_info:
                        pass
                    else:
                        new_permission = Permission(user_id=new_user_id,
                                                    project_id=permission_id)
                        new_permission.save()
    head["code"] = error_code
    head["message"] = errorinfo.change_to_message(error_code)
    result["heads"] = head
    return result
예제 #11
0
파일: user.py 프로젝트: yangjing1989/API
def public_save(request):
    user_id = request.POST.get("user_id", "")
    user_name = request.POST.get("user_name", "")
    user_real_name = request.POST.get("user_real_name", "")
    user_email = request.POST.get("user_email", "")
    user_password = request.POST.get("user_password", "")
    user_re_password = request.POST.get("user_re_password", "")
    user_is_admin = request.POST.get("user_is_admin", 0)
    permission_list = request.POST.get("permission_list", "")
    if user_is_admin == 1 or user_is_admin == "1":
        user_is_admin = True
    else:
        user_is_admin = False
    result = {}
    head = {}
    if user_name == "":
        error_code = 100015
    elif user_password == "" or user_re_password == "":
        error_code = 100021
    elif user_password != user_re_password:
        error_code = 100019
    elif len(user_password) < 6:
        error_code = 100020
    else:
        new_user_id = ""
        if user_id == "":
            if User.objects.filter(username=user_name, is_active=1):
                error_code = 100017
            else:
                add_user = User(username=user_name, first_name=user_real_name, is_superuser=user_is_admin, email=user_email)
                try:
                    add_user.set_password(user_password)
                    add_user.save()
                    new_user_id = add_user.id
                    error_code = 0
                except Exception as ex:
                    head["exceptions"] = ex
                    error_code = 110000
        else:
            if User.objects.filter(username=user_name, is_active=1).exclude(id=user_id):
                error_code = 100017
            else:
                edit_user = get_object_or_404(User, id=user_id)
                try:
                    edit_user.username = user_name
                    edit_user.first_name = user_real_name
                    edit_user.email = user_email
                    if user_password != edit_user.password:
                        edit_user.set_password(user_password)
                    edit_user.is_superuser = user_is_admin
                    edit_user.save()
                    new_user_id = user_id
                    error_code = 0
                except Exception as ex:
                    head["exceptions"] = ex
                    error_code = 110000
        # 保存权限
        if new_user_id != "":
            permissions = Permission.objects.filter(user_id=new_user_id)
            if permissions:
                for pers in permissions:
                    pers.delete()
            if permission_list != "":
                permission_list = permission_list.encode("utf8")
                permission_list = permission_list.split(",")
                for permission_id in permission_list:
                    permission_info = Permission.objects.filter(user_id=new_user_id, project_id=permission_id)
                    if permission_info:
                        pass
                    else:
                        new_permission = Permission(user_id=new_user_id, project_id=permission_id)
                        new_permission.save()
    head["code"] = error_code
    head["message"] = errorinfo.change_to_message(error_code)
    result["heads"] = head
    return result
예제 #12
0
    return HttpResponse(str(0), content_type='text/plain')

  if not bc.user.subscribed:
    # needs to be subscribed to be a maintainer
    return HttpResponse(str(0), content_type='text/plain')

  try:
    # does the permission already exist?
    p = Permission.objects.get(user=tc.user, tool=t)
    # if so just report success.
    return HttpResponse(str(1), content_type='text/plain')
  except ObjectDoesNotExist, e:
    pass

  np = Permission(user=tc.user, permission=1, tool=t, addedby=bc.user)
  np.save()

  return HttpResponse(str(1), content_type='text/plain')

@check_secret
@check_ip
@csrf_exempt
@require_POST
def settoolstatus(request, tool_id, status, card_id):
  try:
    t = Tool.objects.get(pk=tool_id)
  except ObjectDoesNotExist, e:
    return HttpResponse('-1', content_type='text/plain')

  try:
    c = Card.objects.get(card_id=card_id)