Esempio n. 1
0
 def delete(self, id):
     membership_plan = get_membership_plan(id)
     try:
         membership_plan.delete()
         return Response.createDeleteSuccessResponse(self, ResponseMessages.delete_success, HTTPStatus.NO_CONTENT)
     except:
         return Response.createFailResponse(self, ResponseMessages.delete_fail, HTTPStatus.NOT_ACCEPTABLE)
Esempio n. 2
0
    def put(self, id):

        args = put_parser.parse_args()
        name = args["name"]
        description =  args["description"]
        price = args["price"]
        project_limit = args["project_limit"]
        user_limit = args["user_limit"]
        plan_duration = args["plan_duration"]
        
        
        membership_plan = get_membership_plan(id)
        try:
            membership_plan.name = name
            membership_plan.description = description
            membership_plan.price = price
            membership_plan.project_limit = project_limit
            membership_plan.user_limit = user_limit
            membership_plan.plan_duration = plan_duration
            membership_plan.updated_by = get_jwt_identity()
            membership_plan.updated_at = date.today()
            membership_plan.update()
            return Response.createSuccessResponse(self,membership_plan.to_json(), ResponseMessages.update_success, HTTPStatus.CREATED)
        except:
            return Response.createFailResponse(self, ResponseMessages.update_fail, HTTPStatus.BAD_REQUEST)
Esempio n. 3
0
    def put(self, id):
        """ Update a users with a given id """
        args = put_parser.parse_args()
        first_name = args["first_name"]
        last_name = args["last_name"]
        address = args["address"]
        username = args["username"]
        mobile = args["mobile"]
        email = args["email"]

        user = get_user(id)
        try:
            user.first_name = first_name
            user.last_name = last_name
            user.address = address
            user.username = username
            user.mobile = mobile
            user.email = email
            user.updated_by = get_jwt_identity()
            user.updated_at = date.today()
            user.update()
            return Response.createSuccessResponse(
                self, user.to_json(), ResponseMessages.update_success,
                HTTPStatus.CREATED)
        except:
            return Response.createFailResponse(self,
                                               ResponseMessages.update_fail,
                                               HTTPStatus.BAD_REQUEST)
Esempio n. 4
0
    def put(self, id):
        """ Update a tenant with a given ID """
        args = put_parser.parse_args()
        mobile = args["mobile"]
        company_size = args["company_size"]
        primary_interest = args["primary_interest"]
        name = args["name"]
        email = args["email"]
        company_name = args["company_name"]
        country = args["country"]
        language = args["language"]

        tenant = get_tenant(id)
        tenant.name = name
        tenant.email = email
        tenant.company_name = company_name
        tenant.mobile = mobile
        tenant.company_size = company_size
        tenant.country = country
        tenant.language = language
        tenant.primary_interest = primary_interest
        tenant.updated_at = date.today()
        tenant.updated_by = get_jwt_identity()
        try:
            tenant.update()
            return Response.createSuccessResponse(
                self, tenant.to_json(), ResponseMessages.update_success,
                HTTPStatus.CREATED)
        except:
            return Response.createFailResponse(self,
                                               ResponseMessages.update_fail,
                                               HTTPStatus.BAD_REQUEST)
Esempio n. 5
0
 def post(self):
     """ Add a new tenant. """
     args = post_parser.parse_args()
     name = args["name"]
     email = args["email"]
     company_name = args["company_name"]
     mobile = args["mobile"]
     country = args["country"]
     language = args["language"]
     company_size = args["company_size"]
     primary_interest = args["primary_interest"]
     created_by = get_jwt_identity()
     password = name + "123"
     data = {'email': email, 'password': password}
     template = EmailTemplate.tenantEmailVerification(data)
     EmailHandler.send_email(email, "email verification", template)
     tenant = TenantModel(name=name,
                          email=email,
                          company_name=company_name,
                          mobile=mobile,
                          country=country,
                          language=language,
                          company_size=company_size,
                          primary_interest=primary_interest,
                          created_by=created_by)
     try:
         tenant.save()
         return Response.createSuccessResponse(
             self, tenant.to_json(), ResponseMessages.create_success,
             HTTPStatus.CREATED)
     except:
         return Response.createFailResponse(self,
                                            ResponseMessages.create_fail,
                                            HTTPStatus.BAD_REQUEST)
Esempio n. 6
0
 def get(self, includeDeleted):
     """ Get all tenants. """
     try:
         return Response.createSuccessResponse(self, [
             tenant.to_json() for tenant in TenantModel.all(includeDeleted)
         ], ResponseMessages.get_success, HTTPStatus.OK)
     except:
         return Response.createFailResponse(self, ResponseMessages.get_fail,
                                            HTTPStatus.NOT_FOUND)
Esempio n. 7
0
 def delete(self, id):
     tenant_subscription = get_tenant_subscription(self, id)
     if not tenant_subscription:
         return Response.createFailResponse(self,
                                            ResponseMessages.not_exist,
                                            HTTPStatus.NO_CONTENT)
     tenant_subscription.delete()
     return Response.createDeleteSuccessResponse(
         self, ResponseMessages.delete_success, HTTPStatus.NO_CONTENT)
Esempio n. 8
0
 def get(self, id):
     """ Get a tenant with a given ID """
     try:
         tenant_data = get_tenant(id).to_json()
         return Response.createSuccessResponse(self, tenant_data,
                                               ResponseMessages.get_success,
                                               HTTPStatus.OK)
     except:
         return Response.createFailResponse(self, ResponseMessages.get_fail,
                                            HTTPStatus.NOT_FOUND)
Esempio n. 9
0
 def delete(self, id):
     """ Delete a tenant with a given ID """
     tenant = get_tenant(id)
     try:
         tenant.delete()
         return Response.createDeleteSuccessResponse(
             self, ResponseMessages.delete_success, HTTPStatus.NO_CONTENT)
     except:
         return Response.createFailResponse(self,
                                            ResponseMessages.delete_fail,
                                            HTTPStatus.NOT_ACCEPTABLE)
Esempio n. 10
0
 def delete(self, id):
     """ Delete a  users with a given id """
     user = get_user(id)
     try:
         user.delete()
         return Response.createDeleteSuccessResponse(
             self, ResponseMessages.delete_success, HTTPStatus.NO_CONTENT)
     except:
         return Response.createFailResponse(self,
                                            ResponseMessages.delete_fail,
                                            HTTPStatus.NOT_ACCEPTABLE)
Esempio n. 11
0
 def get(self, id):
     membership_plan_data = get_membership_plan(id)
     try:
         membership_plan_data.created_at = Utility.date_month_year(self, membership_plan_data.created_at)
         if membership_plan_data.updated_at != None:
             membership_plan_data.updated_at = Utility.date_month_year(self, membership_plan_data.updated_at)
         else:
             membership_plan_data.updated_at = None
         return Response.createSuccessResponse(self, membership_plan_data.to_json(), ResponseMessages.get_success, HTTPStatus.OK)
     except:
         return Response.createFailResponse(self, ResponseMessages.get_fail, HTTPStatus.NOT_FOUND)
Esempio n. 12
0
 def get(self):
     try:
         data = [membership_plan for membership_plan in MembershipPlanModel.all()]
         for membership in data:
             membership.created_at = Utility.date_month_year(self, membership.created_at)
             if membership.updated_at != None:
                 membership.updated_at = Utility.date_month_year(self, membership.updated_at)
             else:
                 membership.updated_at = None
         return Response.createSuccessResponse(self, [membership_plan.to_json() for membership_plan in data], ResponseMessages.get_success, HTTPStatus.OK)
     except:
         return Response.createFailResponse(self, ResponseMessages.get_fail, HTTPStatus.NOT_FOUND)
Esempio n. 13
0
 def delete(self):
     if self.is_deleted:
         return Response.createFailResponse(self,
                                            ResponseMessages.not_exist,
                                            HTTPStatus.NO_CONTENT)
     self.is_deleted = True
     db.session.commit()
Esempio n. 14
0
    def post(self):
        args = post_parser.parse_args()
        name = args["name"]
        description =  args["description"]
        price = args["price"]
        project_limit = args["project_limit"]
        user_limit = args["user_limit"]
        plan_duration = args["plan_duration"]
        created_by = get_jwt_identity()

        try:
            membership_plan = MembershipPlanModel( name = name, description = description, price = price, project_limit = project_limit, user_limit = user_limit, plan_duration = plan_duration, created_by = created_by, created_at = date.today())
            membership_plan.save()
            return Response.createSuccessResponse(self, membership_plan.to_json(), ResponseMessages.create_success, HTTPStatus.CREATED)
        except:
            return Response.createFailResponse(self, ResponseMessages.get_fail, HTTPStatus.NOT_FOUND)
Esempio n. 15
0
 def get(self, id):
     """ Get a  users with a given id """
     user_data = get_user(id)
     try:
         user_data.created_at = Utility.date_month_year(
             self, user_data.created_at)
         if user_data.updated_at != None:
             user_data.updated_at = Utility.date_month_year(
                 self, user_data.updated_at)
         else:
             user_data.updated_at = None
         return Response.createSuccessResponse(self, user_data.to_json(),
                                               ResponseMessages.get_success,
                                               HTTPStatus.OK)
     except:
         return Response.createFailResponse(self, ResponseMessages.get_fail,
                                            HTTPStatus.NOT_FOUND)
Esempio n. 16
0
    def post(self):
        """ check the tenant email. """
        args = post_parser.parse_args()
        email = args["email"]
        password = "******"
        data = {'email': email, 'password': password}

        try:
            template = EmailTemplate.tenantEmailVerification(data)
            EmailHandler.send_email(email, "email verification", template)
            return Response.createSuccessResponse(
                self, data, ResponseMessages.email_sent,
                HTTPStatus.CREATED), HTTPStatus.OK
        except:
            return Response.createFailResponse(
                self, ResponseMessages.email_fail,
                HTTPStatus.BAD_REQUEST), HTTPStatus.BAD_REQUEST
Esempio n. 17
0
 def put(self):
     """ Update a users with a given id """
     args = put_parser.parse_args()
     temp_password = args["temp_password"]
     user_newpassword = args["user_newpassword"]
     user_confirm_password = args['user_confirm_password']
     id = args['id']
     user = get_user(id)
     
     if temp_password == user.temp_password:
         key = 'abc123'.encode()
         newpassword = encrypt(key, user_newpassword.encode("latin-1") )
         user.encrypted_password = newpassword
         user.temp_password = ''
         user.isemail_verified = True
         user.update()
         return Response.createSuccessResponse(self, user.to_json(), ResponseMessages.update_success, HTTPStatus.CREATED)
     else :
         return Response.createFailResponse( self, ResponseMessages.update_fail, HTTPStatus.BAD_REQUEST),  HTTPStatus.BAD_REQUEST
Esempio n. 18
0
 def get(self):
     search_data = request.args.get('searchData')
     """ Get all users. """
     try:
         data = usersModel.all()
         for user in data:
             user.created_at = Utility.date_month_year(
                 self, user.created_at)
             if user.updated_at != None:
                 user.updated_at = Utility.date_month_year(
                     self, user.updated_at)
             else:
                 user.updated_at = None
         if search_data:
             data = usersModel.all(search_data=search_data)
         return Response.createSuccessResponse(
             self, [users.to_json() for users in data],
             ResponseMessages.get_success, HTTPStatus.OK)
     except:
         return Response.createFailResponse(self, ResponseMessages.get_fail,
                                            HTTPStatus.NOT_FOUND)
Esempio n. 19
0
    def post(self):
        """ Add a new users. """
        args = post_parser.parse_args()
        first_name = args["first_name"]
        last_name = args["last_name"]
        address = args["address"]
        username = args["username"]
        mobile = args["mobile"]
        email = args["email"]
        created_by = get_jwt_identity()
        temp = username + str(random.randint(1000, 9999))

        emailAlreadyexist = usersModel.get_email(self, email)
        try:
            if emailAlreadyexist is None:
                data = {'email': email, 'password': temp}
                template = EmailTemplate.tenantEmailVerification(data)
                EmailHandler.send_email(email, "email verification", template)
                users = usersModel(first_name=first_name,
                                   last_name=last_name,
                                   address=address,
                                   username=username,
                                   temp_password=temp,
                                   mobile=mobile,
                                   email=email,
                                   created_by=created_by)
                users.save()
                return Response.createSuccessResponse(
                    self, users.to_json(), ResponseMessages.create_success,
                    HTTPStatus.CREATED)
            else:
                return Response.createFailResponse(
                    self, ResponseMessages.create_fail,
                    HTTPStatus.BAD_REQUEST), HTTPStatus.BAD_REQUEST
        except:
            return Response.createFailResponse(
                self, ResponseMessages.create_fail,
                HTTPStatus.BAD_REQUEST), HTTPStatus.BAD_REQUEST
Esempio n. 20
0
    def put(self, id):
        args = put_parser.parse_args()
        tenant_id = args["tenant_id"]
        membership_plan_id = args["membership_plan_id"]
        status = args["status"]
        updated_by = args["updated_by"]

        tenant_subscription = get_tenant_subscription(self, id)
        if not tenant_subscription:
            return Response.createFailResponse(self,
                                               ResponseMessages.not_exist,
                                               HTTPStatus.NO_CONTENT)
        tenant_subscription.tenant_id = tenant_id
        tenant_subscription.membership_plan_id = membership_plan_id
        tenant_subscription.status = status
        tenant_subscription.updated_by = updated_by
        tenant_subscription.updated_at = date.today()

        tenant_subscription.update()
        return Response.createSuccessResponse(self,
                                              tenant_subscription.to_json(),
                                              ResponseMessages.update_success,
                                              HTTPStatus.CREATED)
Esempio n. 21
0
 def get(self, id):
     tenant_subscription_data = get_tenant_subscription(self, id)
     tenant_subscription_data.effective_from = Utility.date_month_year(
         self, tenant_subscription_data.effective_from)
     tenant_subscription_data.effective_to = Utility.date_month_year(
         self, tenant_subscription_data.effective_to)
     tenant_subscription_data.created_at = Utility.date_month_year(
         self, tenant_subscription_data.created_at)
     if tenant_subscription_data.updated_at != None:
         tenant_subscription_data.updated_at = Utility.date_month_year(
             self, tenant_subscription_data.updated_at)
     else:
         tenant_subscription_data.updated_at = None
     return Response.createSuccessResponse(
         self, tenant_subscription_data.to_json(),
         ResponseMessages.get_success, HTTPStatus.OK)
Esempio n. 22
0
    def _authenticate_credentials(self):
        """ Authenticate a user through username/password credentials.

        Independent from DB technology as far as the model User implements
        own query to retrieve a user by providing a username.

        Expects username and password attributed in User model.

        The authentication is done by encrypting the input password
        and comparing it with the stored password.

        :return: authenticated user or None
        """
        user_model = getattr(current_app, "user_model")
        bcrypt = getattr(current_app, "bcrypt")

        if not user_model or not hasattr(user_model, "get_user"):
            logger.info(
                "User model doesn't implement get_by_username function.")
            return None

        if not bcrypt:
            logger.info("bcrypt is not set in current_app")
            return None

        args = post_parser.parse_args()
        username = args.get("username")
        password = args.get("password")
        user = user_model.get_user(username)

        if user is None:
            return Response.createFailResponse(self,
                                               ResponseMessages.not_found,
                                               HTTPStatus.NOT_FOUND)
        else:
            if user.isemail_verified == False:
                if user.temp_password == password:
                    return user

            elif user.isemail_verified == True:
                key = 'abc123'.encode()
                decrypted_password = decrypt(key, user.encrypted_password)
                if decrypted_password.decode() == password:
                    return user
        return None
Esempio n. 23
0
    def post(self):
        args = post_parser.parse_args()
        tenant_id = args["tenant_id"]
        membership_plan_id = args["membership_plan_id"]
        status = args["status"]
        created_by = args["created_by"]

        tenant_subscription = TenantSubscriptionModel(
            effective_from=date.today(),
            tenant_id=tenant_id,
            membership_plan_id=membership_plan_id,
            status=status,
            created_by=created_by,
            created_at=date.today())
        tenant_subscription.save()
        return Response.createSuccessResponse(self,
                                              tenant_subscription.to_json(),
                                              ResponseMessages.create_success,
                                              HTTPStatus.CREATED)
Esempio n. 24
0
 def get(self):
     data = [
         tenant_subscription
         for tenant_subscription in TenantSubscriptionModel.all()
     ]
     for tenant in data:
         tenant.effective_from = Utility.date_month_year(
             self, tenant.effective_from)
         tenant.effective_to = Utility.date_month_year(
             self, tenant.effective_to)
         tenant.created_at = Utility.date_month_year(
             self, tenant.created_at)
         if tenant.updated_at != None:
             tenant.updated_at = Utility.date_month_year(
                 self, tenant.updated_at)
         else:
             tenant.updated_at = None
     return Response.createSuccessResponse(
         self,
         [tenant_subscription.to_json() for tenant_subscription in data],
         ResponseMessages.get_success, HTTPStatus.OK)