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)
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 })
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)
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)
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
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")
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)
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)
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")
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})
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)
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})
def get_quota(self, user): """ Returns quota value for a given user """ quotas = get_user_quota(user) return quotas.get(self.get_code(), None)
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)
def get_quota(self, user): quotas = get_user_quota(user) return quotas.get(self.code, None)
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)