Ejemplo n.º 1
0
    def get_quota_value(self, user, quota_dict=None):
        """
        Returns quota value for a given user
        """
        if quota_dict is None:
            quota_dict = get_user_quota(user)

        return quota_dict.get(self.code, None)
Ejemplo n.º 2
0
 def test_get_user_quota(self):
     u = User.objects.get(username='******')
     self.assertEqual(
         get_user_quota(u), {
             u'CUSTOM_WATERMARK': 1,
             u'MAX_GALLERIES_COUNT': 3,
             u'MAX_PHOTOS_PER_GALLERY': None
         })
Ejemplo n.º 3
0
    def get_quota_value(self, user, quota_dict=None):
        """
        Returns quota value for a given user
        """
        if quota_dict is None:
            quota_dict = get_user_quota(user)

        return quota_dict.get(self.code, self.default_quota_value)
Ejemplo n.º 4
0
 def delete(self, request, *args, **kwargs):
     if not get_user_quota(request.user).get('CAN_DELETE_FOO', True):
         messages.error(
             request,
             'Sorry, your plan does not allow to deletes Foo. Please upgrade!'
         )
         return redirect('foo_del', pk=self.get_object().pk)
     else:
         return super(FooDeleteView, self).delete(request, *args, **kwargs)
Ejemplo n.º 5
0
 def get_quota_value(self, user, quota_dict=None):
     """
     Returns quota value for a given user
     """
     if quota_dict is None and user.userplan.plan is not None:
         quota_dict = get_user_quota(user)
     if quota_dict is not None:
         return quota_dict.get(self.code, None)
     else:
         return None
Ejemplo n.º 6
0
    def post(self, request, *args, **kwargs):

        # TODO: should be in planet project and not fastapp
        if use_plans:
            if get_user_quota(request.user).get('MAX_BASES_PER_USER') <= request.user.bases.count():
                return HttpResponseForbidden("Too many bases for your plan.")

        base, created = Base.objects.get_or_create(name=request.POST.get('new_base_name'), user=User.objects.get(username=request.user.username))
        if not created:
            return HttpResponseBadRequest("A base with this name does already exist.")
        base.save_and_sync()
        from fastapp.api_serializers import BaseSerializer
        base_data = BaseSerializer(base)
        response_data = base_data.data
        return HttpResponse(json.dumps(response_data), content_type="application/json")
Ejemplo n.º 7
0
def account_full_validation(user):
    """
    Validates validator that represents quotas in a given system
    :param user:
    :return:
    """
    quotas = get_user_quota(user)
    validators = getattr(settings, 'PLAN_ACTIVATION_VALIDATORS', {})
    errors = []
    for quota in quotas:
        if quota in validators:
            validator = import_name(validators[quota])
            try:
                validator(user)
            except ValidationError, e:
                errors.append(e)
Ejemplo n.º 8
0
def account_full_validation(user):
    """
    Validates validator that represents quotas in a given system
    :param user:
    :return:
    """
    quotas = get_user_quota(user)
    validators = getattr(settings, 'PLAN_ACTIVATION_VALIDATORS', {})
    errors = []
    for quota in quotas:
        if validators.has_key(quota):
            validator = import_name(validators[quota])
            try:
                validator(user)
            except ValidationError, e:
                errors.append(e)
Ejemplo n.º 9
0
    def post(self, request, *args, **kwargs):

        if use_plans:
            if get_user_quota(request.user).get(
                    'MAX_BASES_PER_USER') <= request.user.bases.count():
                return HttpResponseForbidden("Too many bases for your plan.")

        base, created = Base.objects.get_or_create(
            name=request.POST.get('new_base_name'),
            user=User.objects.get(username=request.user.username))
        if not created:
            return HttpResponseBadRequest(
                "A base with this name does already exist.")
        base.save_and_sync()
        base_data = BaseSerializer(base)
        response_data = base_data.data
        return HttpResponse(json.dumps(response_data),
                            content_type="application/json")
Ejemplo n.º 10
0
 def test_get_user_quota(self):
     u = get_user_model().objects.get(username='******')
     self.assertEqual(get_user_quota(u),
                      {u'CUSTOM_WATERMARK': 1, u'MAX_GALLERIES_COUNT': 3, u'MAX_PHOTOS_PER_GALLERY': None})
Ejemplo n.º 11
0
 def test_get_user_quota_expired_free_plan(self):
     u = User.objects.get(username='******')
     u.userplan.expire = date.today() - timedelta(days=5)
     with self.assertRaises(ValidationError):
         get_user_quota(u)
Ejemplo n.º 12
0
 def test_get_user_quota(self):
     self.assertEqual(get_user_quota(self.user),
                      {u'CUSTOM_WATERMARK': 1, u'MAX_GALLERIES_COUNT': 3, u'MAX_PHOTOS_PER_GALLERY': None})
Ejemplo n.º 13
0
 def get_quota(self, user):
     """
     Returns quota value for a given user
     """
     quotas = get_user_quota(user)
     return quotas.get(self.get_code(), None)
Ejemplo n.º 14
0
 def delete(self, request, *args, **kwargs):
     if not get_user_quota(request.user).get('CAN_DELETE_FOO', True):
         messages.error(request, 'Sorry, your plan does not allow to deletes Foo. Please upgrade!')
         return redirect('foo_del', pk=self.get_object().pk)
     else:
         return super(FooDeleteView, self).delete(request, *args, **kwargs)
Ejemplo n.º 15
0
 def get_quota(self, user):
     quotas = get_user_quota(user)
     return quotas.get(self.code, None)
Ejemplo n.º 16
0
 def get_quota(self, user):
     quotas = get_user_quota(user)
     return quotas.get(self.code, None)
Ejemplo n.º 17
0
 def test_get_user_quota_expired_no_default(self):
     u = User.objects.get(username='******')
     u.customerplan.expire = date.today() - timedelta(days=5)
     Plan.get_default_plan().delete()
     with self.assertRaises(ValidationError):
         get_user_quota(u)