class RegistrationService():
    def __init__(self):
        self._notification_service = NotificationService()
        self._appuser_service = AppUserService()
        self._user_service = UserService()

    def create(self, **kwargs):
        with transaction.atomic():
            cellphone = kwargs.get('cellphone')
            user = self._user_service.create(**kwargs.get('user'))
            app_user = self._appuser_service.create(**{ 
                'user_id': user.id, 
                'cellphone':  cellphone,
                'accepted_terms': True
            })

            grp = Group.objects.get(name = 'Customer')
            grp.user_set.add(user)

            verification_code = 1234

            self._notification_service.send_sms(
                to = cellphone,
                msg = f'Your FoodACup verification code: {verification_code}'
            )

            return app_user
class Customer(permissions.BasePermission):
    def __init__(self):
        self.__appuser_service = AppUserService()
        
    def has_permission(self, request, view):
        if request.user and request.user.groups.filter(name='Customer'):
            appuser_id = self.__appuser_service.get_appuser_id_by_user_id(request.user.id)
            if not appuser_id:
                return False
            request.appuser_id = appuser_id
            return True
        return False
class ChangeCategory(permissions.BasePermission):
    def __init__(self):
        self.__category_service = CategoryService()
        self.__appuser_service = AppUserService()

    def has_permission(self, request, view):
        category_id = view.kwargs.get('id')
        if category_id == None:
            return False

        if not request.user:
            return False

        appuser_id = self.__appuser_service.get_appuser_id_by_user_id(
            request.user.id)
        if not appuser_id:
            return False

        is_admin = self.__category_service.is_appuser_admin(
            appuser_id, int(category_id))

        return is_admin
 def __init__(self):
     self.__appuser_service = AppUserService()
示例#5
0
 def __init__(self):
     self._restaurants_service = RestaurantsService()
     self._appuser_service = AppUserService()
 def __init__(self):
     self.__option_category_service = OptionCategoryService()
     self.__appuser_service = AppUserService()
 def __init__(self):
     self.__category_service = CategoryService()
     self.__appuser_service = AppUserService()
 def __init__(self):
     self._notification_service = NotificationService()
     self._appuser_service = AppUserService()
     self._user_service = UserService()