예제 #1
0
 def checkuser(self, username):
     try:
         user_exists = User.objects.get(username=username)
         response = getResponse("success", "successfully got the user")
     except:
         response = getResponse("failure", "nith does not exist")
     return response
예제 #2
0
    def post(self,request):
        body_unicode=request.body.decode('utf-8')
        data=json.loads(body_unicode)
        print(data)
        final_array=[]
        try:
            comp_tg_inst=ProjectComponentsTags.objects.raw("select a.id,d.name, a.tag_id,b.component_name,c.tag_type_id,e.project_name,b.created_at,b.updated_at from project_components_tags as a INNER JOIN project_component as b on a.project_id =" +str(data["project_id"])+"&& a.is_active=1 = b.id && b.user_id="+str(request.user.id) +" INNER JOIN tags as c on a.tag_id=c.id INNER JOIN tagtype as d on c.tag_type_id=d.id INNER JOIN project as e on e.id=a.project_id")
        except ProjectComponentsTags.DoesNotExist:
            return getResponse('failure','failed to do this operation',"data not found")
        # comp_tg_inst.columns //['id','component_name','tag_id' etc.,]
        # paginator=Paginator(comp_tg_inst,count)
        # use=paginator.page(page)

        # for obj in use:
        for obj in comp_tg_inst:
            data={}
            data['id']=obj.id 
            data['component_name']=obj.component_name
            data['tag_id']=obj.tag_id
            data['tag_type']=obj.name
            data["project_name"]=obj.project_name
            
            # data["created_at"]=obj.created_at
            # data["updated_at"]=obj.updated_at
            final_array.append(data)
        
        if final_array:
            
            response=getResponse('success','successfully got component list',final_array)
        else:
            response=getResponse('failure',"data not found")
        return response
예제 #3
0
def password_reset(request):

    body_unicode = request.body.decode('utf-8')
    data = json.loads(body_unicode)
    token = data['token']
    password1 = data['password1']
    password2 = data['password2']
    try:
        pwd_rst = PasswordReset.objects.get(token=token, status=1)
        print(pwd_rst)
    except PasswordReset.DoesNotExist:
        raise Http404
    print(pwd_rst.user_id)
    try:
        user_info = User.objects.get(id=pwd_rst.user_id)
    except PasswordReset.DoesNotExist:
        raise Http404
    if password1 == password2:
        user_info.password = make_password(password2)
        user_info.save()
        pwd_rst.status = 0
        pwd_rst.save()
        response = getResponse('success', 'successfully resetted password')
    else:
        response = getResponse('failure', 'password mismatch')
    return response
예제 #4
0
    def post(self, request):
        body_unicode = request.body.decode('utf-8')
        data = json.loads(body_unicode)
        print(data)
        # cursor = connection.cursor()
        # cursor.execute('''INSERT INTO auth_group_permissions (group_id,permission_id) Values(data["group_id"],data["permission_id"])''')
        # cursor.execute(''' SELECT * FROM auth_group_permissions''')
        group_instance = Group.objects.get(id=data["role_id"])
        print("group ", group_instance)
        try:
            group_instance.permissions.clear()
        except:
            response = None
        if group_instance:

            c = []
            for i in data["selectedpermission"]:
                data = {}
                per = Permission.objects.get(id=i)
                group_instance.permissions.add(per)

            response = getResponse("success", "successfully created")
        else:
            response = getResponse("failure", "failed to do this operation")

        return response
예제 #5
0
 def post(self, request):
     body_unicode = request.body.decode('utf-8')
     data = json.loads(body_unicode)
     arr = []
     final_array = []
     try:
         unassign_tag = TagDetails.objects.exclude(pk__in=[
             i.tag_id
             for i in ProjectComponentsTags.objects.filter(is_active=1)
         ])
         for i in unassign_tag:
             arr.append(i.id)
         try:
             v = TagDetails.objects.get(pk__in=[
                 i.tag_id for i in ProjectComponentsTags.objects.filter(
                     component_id=data["component_id"], is_active=1)
             ])
             arr.append(v.id)
         except TagDetails.DoesNotExist:
             arr = arr
     except TagDetails.DoesNotExist:
         raise Http404
     for i in arr:
         data = {}
         data['tag_id'] = i
         final_array.append(data)
     if final_array:
         response = getResponse('success',
                                'successfully got the unassigned tag',
                                final_array)
     else:
         response = getResponse('failure', 'failed to do this operation')
     return response
예제 #6
0
    def post(self,request):
        if 'id' in request.data:
            library_inst                  =self.get_or_object(request.data['id'])
            try:
                notify_inst               =CompLibDigitalNotify.objects.get(Component_library=request.data['id'])
            except CompLibDigitalNotify.DoesNotExist:
                return None
            # serializers=ComponentsLibrarySerializers(Comp_tag_instance,data=data)
            response=getResponse('success','successfully updated')
        else:
            library_inst                  = ComponentsLibrary()
            notify_inst                   = CompLibDigitalNotify()
            response=getResponse('success','successfully created')
            # serializers=ComponentsLibrarySerializers(data=data)
        # try:
        #     component_inst            = TagType.objects.get(id=request["component_type_id"])
        # except TagType.DoesNotExist:
        #     raise Http404
        if library_inst:
            library_inst.name               = request.data["name"]
            library_inst.user_id            = request.user.id
            library_inst.component_type_id  = request.data["component_type_id"]
            library_inst.save()
            
            file1                           = request.FILES["default_image"]
            file2                           = request.FILES["status_on"]
            file3                           = request.FILES["status_off"]

            if file1:

                path                              = 'static/media/'+str(library_inst.id)
                fs                                = FileSystemStorage(path)
                filename                          = fs.save(file1.name,file1)
                library_inst.default_image        = path+'/'+filename

            if file2:
                path                              = 'static/media/'+str(library_inst.id)
                fs                                = FileSystemStorage(path)
                filename                          = fs.save(file2.name,file2)
                library_inst.status_on            = path+'/'+filename
            
            if file3:
                path                              = 'static/media/'+str(library_inst.id)
                fs                                = FileSystemStorage(path)
                filename                          = fs.save(file3.name,file3)
                library_inst.status_off           = path+'/'+filename
            
            library_inst.save()  
            if notify_inst:
                notify_inst.status_on_email           =request.data["status_on_email"]
                notify_inst.status_off_email          =request.data["status_off_email"]   
                notify_inst.status_on_sms             =request.data["status_on_sms"]
                notify_inst.status_off_sms            =request.data["status_off_sms"]  
                notify_inst.Component_library_id      =library_inst.id
                notify_inst.save()
            
        else:
            
            response=getResponse('failure','failed to do this operation')
        return response
예제 #7
0
    def get(self, request):
        tag_list = TagDetails.objects.all().order_by('-id')
        # if 'page' in request.GET and 'count' in request.GET:
        if set(('page', 'count')) <= request.GET.keys():
            page = request.GET.get("page")
            count = request.GET.get("count")
            paginator = Paginator(tag_list, count)
            tags = paginator.page(page)
            previous_page = ""
            next_page = ""
            if tags.has_previous():
                previous_page = str(tags.previous_page_number())
            if tags.has_next():
                next_page = str(tags.next_page_number())
            num_pages = paginator.num_pages
            serializers = TagSerializers(tags, many=True)
            if serializers:
                response = getResponse('success',
                                       'successfully got the tag details',
                                       serializers.data, previous_page,
                                       next_page, num_pages)
            else:
                response = getResponse('failure',
                                       'failed to do this operation')
        else:
            serializers = TagSerializers(tag_list, many=True)
            if serializers:
                response = getResponse('success',
                                       'successfully got the tag details',
                                       serializers.data)
            else:
                response = getResponse('failure',
                                       'failed to do this operation')

        return response
예제 #8
0
 def get(self,request):
     Project_list=ProjectDetails.objects.all().order_by('-id')
     serializers=ProjectSerializers(Project_list,many=True)
     if serializers:
         response=getResponse('success','successfully got the Project details',serializers.data)
     else:
         response=getResponse('failure','failed to do this operation')
     return response
예제 #9
0
 def get(self,request):
     Comp_tag_list=ProjectComponentsTags.objects.all().order_by('-id')
     serializers=ComponentsTagSerializers(Comp_tag_list,many=True)
     if serializers:
         response=getResponse('success','successfully got the Project Component',serializers.data)
     else:
         response=getResponse('failure','failed to do this operation')
     return response
예제 #10
0
 def post(self,request):
     body_unicode=request.body.decode('utf-8')
     data=json.loads(body_unicode)
     try:
         proj_instance=ProjectDetails.objects.get(project_name=data["project_name"])
         response=getResponse("success","successfully got the project_name")
     except ProjectDetails.DoesNotExist:
         response=getResponse("failure","failed to get the project_name")
     return response
예제 #11
0
 def post(self, request):
     try:
         group_value = Group.objects.get(id=request.data['id'])
         serializers = RoleSerializers(group_value)
         response = getResponse('success', 'successfully got the details',
                                serializers.data)
     except Group.DoesNotExist:
         response = getResponse('failure', 'failed to get the user')
     return response
예제 #12
0
 def put(self,request):
     body_unicode=request.body.decode('utf-8')
     data=json.loads(body_unicode)
     get_Project=self.get_or_object(data['id'])
     serializers=ProjectSerializers(get_Project)
     if serializers:
         response=getResponse('success','successfully got the Project',serializers.data)
     else:
         response=getResponse('failure','failed to do this operation')
     return response
예제 #13
0
 def get(self, request):
     data = request.data
     group_instance = Group.objects.all()
     serializers = RoleSerializers(group_instance, many=True)
     if group_instance:
         response = getResponse('success', 'successfully got it',
                                serializers.data)
     else:
         response = getResponse('failure', 'failed to do this operation')
     return response
예제 #14
0
 def get(self, request):
     tag_list = TagType.objects.all().order_by('-id')
     serializers = TagTypeSerializers(tag_list, many=True)
     if serializers:
         response = getResponse('success',
                                'successfully got the tag details',
                                serializers.data)
     else:
         response = getResponse('failure', 'failed to do this operation')
     return response
예제 #15
0
 def get(self, request):
     data = request.data
     permission_instance = Permission.objects.filter(content_type_id=str(7))
     serializers = ModuleSerializers(permission_instance, many=True)
     if serializers:
         response = getResponse('success', 'successfully got the details',
                                serializers.data)
     else:
         response = getResponse('failure', 'failed to do this operation')
     return response
예제 #16
0
 def delete(self, request):
     body_unicode = request.body.decode('utf-8')
     data = json.loads(body_unicode)
     delete_permission = self.get_or_object(data['id'])
     if delete_permission:
         delete_permission.delete()
         response = getResponse('success', 'successfully deleted')
     else:
         response = getResponse('failure', 'failed to do this operation')
     return response
예제 #17
0
 def get(self,request):
     final=[]
     Library_list=ComponentsLibrary.objects.all().order_by('-id')
     # for i in Library_list:
     #     k=CompLibDigitalNotify.objects.get(Component_library=i.id)
         
     serializers=ComponentsLibrarySerializers(Library_list,many=True)
     if serializers:
         response=getResponse('success','successfully got the Project Component',serializers.data)
     else:
         response=getResponse('failure','failed to do this operation')
     return response
예제 #18
0
 def post(self, request):
     data = request.data
     if 'id' in data:
         group_instance = self.get_or_object(data['id'])
         serializers = RoleSerializers(group_instance, data=data)
     else:
         serializers = RoleSerializers(data=data)
     if serializers.is_valid():
         serializers.save()
         response = getResponse('success', 'successfully created')
     else:
         response = getResponse('failure', 'failed to do this operation')
     return response
예제 #19
0
    def get(self,request):
        page=request.GET.get('page')
        count=request.GET.get('count')
        data={}
        final_array=[]
        try:
            # comp_tg_inst=ProjectComponentsTags.objects.raw("select a.id,a.project_id,a.component_id,d.name, a.tag_id,b.component_name,c.tag_type_id,e.project_name,b.created_at,b.updated_at from project_components_tags as a INNER JOIN project_component as b on a.component_id && a.is_active=1 = b.id && b.user_id="+str(request.user.id) +" INNER JOIN tags as c on a.tag_id=c.id INNER JOIN tagtype as d on c.tag_type_id=d.id INNER JOIN project as e on e.id=a.project_id")
            comp_tg_inst= ProjectComponentsTags.objects.raw("select a.id,a.tag_name,e.name,b.component_id,c.component_name,d.project_name from tags as a left join project_components_tags as b on a.id = b.tag_id && is_active=1 left join  project_component as c on  b.component_id  = c.id  left join project as d on d.id=b.project_id left join tagtype as e on e.id=a.tag_type_id")
        except ProjectComponentsTags.DoesNotExist:
            response=getResponse('failure','failed to do this operation',"data not found")
        # comp_tg_inst.columns //['id','component_name','tag_id' etc.,]
        paginator=Paginator(comp_tg_inst,count)
        use=paginator.page(page)

        for obj in use:
        # for obj in comp_tg_inst:
            data={}
            data['id']=obj.id
            if obj.component_name:
                data["component_name"]=obj.component_name
            else:
                data["component_name"]="-"
            
            data['tag_id']            =obj.id
            data['tag_name']          =obj.tag_name
            data['tag_type']          =obj.name
            if obj.project_name:
                 data["project_name"] =obj.project_name
            else:
                data["project_name"]  ="-"
           
            data["component_id"]      =obj.component_id
           
            # data["created_at"]=obj.created_at
            # data["updated_at"]=obj.updated_at
            final_array.append(data)
        if use.has_previous():
            previous_page             =use.previous_page_number() 
        else:
            previous_page             =""
        if use.has_next():
            next_page                 =use.next_page_number()
        else:
            next_page                 =""
        num_of_pages                  =paginator.num_pages
        if final_array:
            
            response=getResponse('success','successfully got component list',final_array,previous_page,next_page,num_of_pages)
        else:
            response=getResponse('failure','failed to do this operation')
        return response
예제 #20
0
def createUser(data):
    print(data)
    if 'id' not in data:
        user_details = User()
    else:
        try:
            user_details = User.objects.get(id=data['id'])
            assign_project = UserProject.objects.filter(
                user_id=user_details.id).delete()
        except User.DoesNotExist:
            response = getResponse('failure', 'detail not found')

    if user_details:
        if "first_name" in data:
            user_details.first_name = data['first_name']
        else:
            user_details.first_name = ""
        if "last_name" in data:
            user_details.last_name = data['last_name']
        if "email" in data:
            user_details.email = data['email']
        else:
            user_details.email = ""
        if "username" in data:
            user_details.username = data['username']
        else:
            user_details.username = ""
        if "password" in data:
            hash_password = make_password(data['password'])
            user_details.password = hash_password
        else:
            user_details.password = ""
        if "mobile_no" in data:
            user_details.mobile_no = data['mobile_no']
        else:
            user_details.mobile_no = ""

        user_details.admin_id = data['admin_id']
        user_details.save()

        for i in data['project_id']:
            assign_project = UserProject()
            assign_project.user_id = user_details.id
            assign_project.project_id = i
            assign_project.analog_tag = data['analog_tag']
            assign_project.digital_tag = data['digital_tag']
            assign_project.video_tag = data['video_tag']
            assign_project.audio_tag = data['audio_tag']
            assign_project.save()
        response = getResponse('success', 'successfully created')
        return response
예제 #21
0
 def post(self, request):
     data = request.data
     if 'id' in request.data:
         permission_instance = Permission.objects.get(id=request.data['id'])
         serializers = ModuleSerializers(permission_instance, data=data)
     else:
         serializers = ModuleSerializers(data=data)
     if serializers.is_valid():
         serializers.save()
         response = getResponse('success', 'successfully created',
                                serializers.data)
     else:
         response = getResponse('failure', 'failed to do this operation')
     return response
예제 #22
0
 def post(self, request):
     responseblock = {}
     if 'id' in request.data:
         try:
             user_exists = User.objects.get(id=request.data['id'])
             if user_exists.username == request.data['username']:
                 response = getResponse("failure", "failed to get the user")
             else:
                 response = self.checkuser(request.data["username"])
         except:
             response = getResponse("failure", "user does not exist")
     else:
         response = self.checkuser(request.data["username"])
     return response
예제 #23
0
def dropdownlist(request):
    try:
        final_array = []
        userGroup = Group.objects.all()
        for group in userGroup:
            data = {}
            data['id'] = group.id
            data['name'] = group.name
            final_array.append(data)
        response = getResponse("success", "successfully got the user",
                               final_array)
    except Group.DoesNotExist:
        response = getResponse("failure", "failed to get the group")
    return response
예제 #24
0
 def post(self, request):
     body_unicode = request.body.decode('utf-8')
     data = json.loads(body_unicode)
     if 'id' in data:
         tag_instance = self.get_or_object(data['id'])
         serializers = TagTypeSerializers(tag_instance, data=data)
     else:
         serializers = TagTypeSerializers(data=data)
     if serializers.is_valid():
         serializers.save()
         response = getResponse('success', 'successfully created',
                                serializers.data)
     else:
         response = getResponse('failure', 'failed to do this operation',
                                serializers.data)
     return response
예제 #25
0
 def get(self, request):
     print("welcome to role")
     if request.user.id:
         response = checkCurrentRole(request.user.id)
     else:
         response = getResponse('failure', 'something went wrong')
     return response
예제 #26
0
    def get(self, request):
        final_array = []

        page = request.GET.get("page")
        count = request.GET.get("count")
        try:

            unassign_tag = unassign_tag = TagDetails.objects.exclude(pk__in=[
                i.tag_id
                for i in ProjectComponentsTags.objects.filter(is_active=1)
            ])
            paginator = Paginator(unassign_tag, count)
            try:
                page_obj = paginator.page(page)
                for obj in page_obj:
                    data = {}
                    try:
                        tag_type_inst = TagType.objects.get(id=obj.tag_type_id)
                    except TagType.DoesNotExist:
                        raise Http404
                    data["tag_id"] = obj.id
                    data["tag_name"] = obj.tag_name
                    data["tag_type"] = tag_type_inst.name
                    data["component_name"] = "-"
                    data["project_name"] = "-"
                    final_array.append(data)
                previous_page = ""
                next_page = ""
                if page_obj.has_previous():
                    previous_page = str(page_obj.previous_page_number())
                if page_obj.has_next():
                    next_page = str(page_obj.next_page_number())
                num_of_pages = paginator.num_pages

                # final_array.append(data)

                response = getResponse('success',
                                       'successfully got the unassigned tag',
                                       final_array, previous_page, next_page,
                                       num_of_pages)
            except Exception as e:
                response = getResponse('failure',
                                       'this page does not have results', e)

        except TagDetails.DoesNotExist:
            response = getResponse('failure', 'failed to do this operation')
        return response
예제 #27
0
def checkCurrentRole(obj):
    data = {}
    if obj:
        try:
            user_details = User.objects.get(id=obj)
            try:
                role = Roles.objects.get(id=user_details.role_id)
                data["role_id"] = role.id
                data['role_name'] = role.role_name
                response = getResponse('success', 'successfully done', data)
            except Roles.DoesNotExist:
                response = getResponse('failure', 'something went wrong')
        except User.DoesNotExist:
            response = getResponse('failure', 'something went wrong')
    else:
        response = getResponse('failure', 'something went wrong')
    return response
예제 #28
0
 def post(self,request):
     body_unicode=request.body.decode('utf-8')
     data=json.loads(body_unicode)
     if 'id' in data:
         Comp_tag_instance=self.get_or_object(data['id'])
         serializers=ProjectSerializers(Comp_tag_instance,data=data)
     else:
         serializers=ProjectSerializers(data=data)
     if serializers.is_valid(raise_exception=True):
         serializers.save(user_id=request.user.id)     
         if 'id' not in data:
             response=getResponse('success','successfully updated',serializers.data)
         else:
             response=getResponse('success','successfully created',serializers.data)           
     else:
         response=getResponse('failure','failed to do this operation')
     return response
예제 #29
0
    def post(self, request):
        body_unicode = request.body.decode('utf-8')
        data = json.loads(body_unicode)
        final_array = []
        if request.method == "POST":
            per = Permission.objects.filter(group__id=data["id"])
            print(per)
            if per:
                for key in per:
                    data = {}
                    data["id"] = key.id
                    # data["code_name"]=key.codename
                    final_array.append(data)
                response = getResponse("success", "successfully done",
                                       final_array)
            else:
                response = getResponse("failure",
                                       "failed to do this operation")

        return response
예제 #30
0
def sendResetPwdEmail(request):
    print('reset')
    digits = "".join([random.choice(string.digits) for i in range(8)])
    chars = "".join([random.choice(string.ascii_letters) for i in range(15)])
    token = digits + chars
    if request.method == "POST":
        body_unicode = request.body.decode('utf-8')
        data = json.loads(body_unicode)
        email = data['email']
        print(email)

        try:
            user_check = User.objects.get(email=email)
            print(user_check)
            mail_subject = 'Reset password'
            current_site = get_current_site(request)
            pwd_rst = PasswordReset()
            pwd_rst.token = token
            pwd_rst.expires_at = datetime.datetime.now() + datetime.timedelta(
                hours=1)
            pwd_rst.user_id = user_check.id
            pwd_rst.save()
            print(token)
            message = render_to_string('password_reset_mail.html', {
                'domain': current_site.domain,
                'token': token
            })

            send_html_mail(mail_subject, message, "*****@*****.**")
            response = getResponse('success', 'successfully sent email')
        except User.DoesNotExist:
            print('not found')
            response = getResponse('failure', 'email not found')

        # email_s=EmailMessage(mail_subject, message, to=["*****@*****.**"])
        # email_s.send()

    else:
        response = getResponse('failure', 'something went wrong')

    return response