def upload_bucket(request): """Upload bucket. Args: request: Returns: """ assets = { "js": [{ "path": 'core_main_app/common/js/backtoprevious.js', "is_raw": True }] } context = {'object_name': 'Bucket'} if request.method == 'POST': form = BucketForm(request.POST) if form.is_valid(): bucket_label = request.POST['label'] bucket = Bucket(label=bucket_label) try: bucket_api.upsert(bucket) return redirect(reverse('admin:core_composer_app_buckets')) except NotUniqueError: context[ 'errors'] = "A bucket with the same name already exists." except Exception, e: context['errors'] = e.message
def _save(self, form): # Save treatment. try: self.object.label = form.cleaned_data.get("label") bucket_api.upsert(self.object) except exceptions.NotUniqueError: form.add_error( None, "A bucket with the same label already exists. Please choose another label.", ) except Exception as e: form.add_error(None, str(e))
def test_upsert_bucket_returns_bucket(self, mock_save, mock_get_colors): bucket = _create_bucket() mock_save.return_value = bucket mock_get_colors.return_value = [] result = bucket_api.upsert(bucket) self.assertIsInstance(result, Bucket)
def create(self, validated_data): """ Create and return a new `Bucket` instance, given the validated data. """ # Create data bucket = Bucket(label=validated_data["label"], types=validated_data.get("types", None)) # Save the data return bucket_api.upsert(bucket)
def upload_bucket(request): """Upload bucket. Args: request: Returns: """ assets = { "js": [{ "path": "core_main_app/common/js/backtoprevious.js", "is_raw": True }] } context = {"object_name": "Bucket"} if request.method == "POST": form = BucketForm(request.POST) if form.is_valid(): bucket_label = request.POST["label"] bucket = Bucket(label=bucket_label) try: bucket_api.upsert(bucket) return redirect(reverse("admin:core_composer_app_buckets")) except NotUniqueError: context[ "errors"] = "A bucket with the same name already exists." except Exception as e: context["errors"] = str(e) else: form = BucketForm() context["form"] = form return admin_render( request, "core_composer_app/admin/buckets/add.html", context=context, assets=assets, )
def update(self, instance, validated_data): """ Update and return an existing `Bucket` instance, given the validated data. """ instance.label = validated_data.get("label", instance.label) return bucket_api.upsert(instance)