예제 #1
0
    def get(self, *args, **kwargs):
        session_cleared = UserService().check_session_cleared(self.request)
        if session_cleared:
            return HttpResponseRedirect('/')
        company_id = UserService().get_from_session(
            self.request,
            SessionStorageConstants.COMPANY_ID
        )
        company = CompanyService().get_company(company_id)
        user = UserService().create_user(
            self.request
        )
        address = ProfileService().create_address(
            self.request
        )
        if user and address:
            profile = ProfileService().create_profile(
                user=user,
                address=address,
                company=company
            )
            if profile:
                UserService().reset_all_session_data(self.request)
                return super().get(*args, **kwargs)

        raise HttpResponseServerError(
            "Internal Server Error. Please contact administrator")
예제 #2
0
 def clean(self):
     cleaned_data = super().clean()
     email = cleaned_data.get('email', None)
     password, re_password = cleaned_data.get('password',
                                              None), cleaned_data.get(
                                                  'retype_password', None)
     try:
         UserService().validate_email(email)
         UserService().validate_password(password, re_password)
     except Exception as ex:
         raise forms.ValidationError(str(ex))
     return cleaned_data
예제 #3
0
 def get(self, request, *args, **kwargs):
     company = UserService().get_from_session(
         self.request,
         SessionStorageConstants.COMPANY_ID
     )
     if not company:
         raise Http404("No Company found")
     data = UserService().get_form_data_in_session(
         request,
         SessionStorageConstants.SECOND_STEP_KEY
     )
     if data:
         self.initial = data
     return super().get(request, *args, **kwargs)
예제 #4
0
 def form_valid(self, form):
     """
     If the form is valid, redirect to the supplied URL.
     """
     UserService().set_form_data_in_session(
         self.request,
         SessionStorageConstants.SECOND_STEP_KEY,
         form.data
     )
     UserService().set_form_data_in_session(
         self.request,
         SessionStorageConstants.SECOND_STEP_CLEANED_DATA_KEY,
         form.cleaned_data
     )
     return HttpResponseRedirect(self.get_success_url())
예제 #5
0
 def get_context_data(self, **kwargs):
     context = super().get_context_data(**kwargs)
     context['company_id'] = UserService().get_from_session(
         self.request,
         SessionStorageConstants.COMPANY_ID
     )
     return context
예제 #6
0
 def get_context_data(self, *args, **kwargs):
     context = super().get_context_data(*args, **kwargs)
     context['form_0_data'] = UserService().get_form_data_in_session(
         self.request,
         SessionStorageConstants.FIRST_STEP_CLEANED_DATA_KEY
     )
     context['form_1_data'] = UserService().get_form_data_in_session(
         self.request,
         SessionStorageConstants.SECOND_STEP_CLEANED_DATA_KEY
     )
     company_id = UserService().get_from_session(
         self.request,
         SessionStorageConstants.COMPANY_ID
     )
     context['company'] = CompanyService().get_company(company_id)
     return context
예제 #7
0
파일: views.py 프로젝트: morfat/FalconSeed
    def on_get(self,req,resp,user_id):
        resp.status=falcon.HTTP_200 #this is default
        userService=UserService(db=self.db,url=req.uri,query_params=req.params)

        user=userService.get(user_id)
     
        resp.media=self.reply({"user":user},message="Got it")
예제 #8
0
파일: views.py 프로젝트: morfat/FalconSeed
    def on_get(self,req,resp):
        resp.status=falcon.HTTP_200 #this is default

        userService=UserService(db=self.db,url=req.uri,query_params=req.params)

        users,pagination=userService.all(pagination=True)

        resp.media=self.reply({"users":users},pagination=pagination,message="Well Done")
예제 #9
0
    def get(self, request, company_id, *args, **kwargs):
        # Setting Company ID in Session
        # Also overriding to get pre-populated data
        company = CompanyService().get_company(company_id)
        if not company:
            raise Http404("Company does not exist")
        UserService().set_in_session(
            request,
            SessionStorageConstants.COMPANY_ID,
            company.id
        )
        data = UserService().get_form_data_in_session(
            request,
            SessionStorageConstants.FIRST_STEP_KEY
        )
        if data:
            self.initial = data

        self.initial['company_id'] = company_id

        return super().get(request, *args, **kwargs)
예제 #10
0
    def validate(self, data):
        username = data.get(User.USERNAME_FIELD).lower()
        password = data.get('password')

        try:
            user = User.objects.get(username=username)
        except:
            raise serializers.ValidationError(
                messages.INVALID_CREDENTIALS_ERROR)
        data['user'] = user
        user_service = UserService()
        is_valid = user_service.verify_account(user, password)
        if not is_valid:
            raise serializers.ValidationError(messages.INACTIVE_ACCOUNT_ERROR)
        return data
예제 #11
0
    def create_address(self, request):
        """
        Create Address
        """
        data = UserService().get_form_data_in_session(
            request, SessionStorageConstants.SECOND_STEP_KEY)

        cleaned_data = self.clean_up_profile_data(data)

        try:
            return BillingAddress.objects.create(**cleaned_data)
        except Exception as ex:
            # Possible duplication error
            # Not handling multiple exceptions for now
            self.logger_error("Error: {}".format(str(ex)))

        return None
예제 #12
0
    def __init__(self, get_response):
        """

        :param get_response:
        """

        self.get_response = get_response

        self.initOk = False

        storagePath = os.path.abspath(
            os.path.dirname(__file__) + "/../media/") + "/"

        self.__dbConn = MongoConnection()
        self.__userService = UserService(self.__dbConn)
        self.__ticketService = TicketService(self.__dbConn,
                                             "http://localhost:9000/images/",
                                             storagePath)

        self.initOk = True
예제 #13
0
 def create(self, validated_data):
     user_service = UserService()
     user = user_service.create_user(**validated_data)
     user.is_active = True
     user.save()
     return user
예제 #14
0
파일: views.py 프로젝트: morfat/FalconSeed
 def on_post(self,req,resp):
     userService=UserService(self.db)
     inserted=userService.insert(req.media)
     resp.media=self.reply({"user":inserted})