diff --git a/apiserver/plane/api/serializers/cycle.py b/apiserver/plane/api/serializers/cycle.py index 1abd63b7f..664368033 100644 --- a/apiserver/plane/api/serializers/cycle.py +++ b/apiserver/plane/api/serializers/cycle.py @@ -14,6 +14,11 @@ from plane.db.models import Cycle, CycleIssue, CycleFavorite class CycleWriteSerializer(BaseSerializer): + def validate(self, data): + if data.get("start_date", None) is not None and data.get("end_date", None) is not None and data.get("start_date", None) > data.get("end_date", None): + raise serializers.ValidationError("Start date cannot exceed end date") + return data + class Meta: model = Cycle fields = "__all__" @@ -35,6 +40,11 @@ class CycleSerializer(BaseSerializer): started_estimates = serializers.IntegerField(read_only=True) workspace_detail = WorkspaceLiteSerializer(read_only=True, source="workspace") project_detail = ProjectLiteSerializer(read_only=True, source="project") + + def validate(self, data): + if data.get("start_date", None) is not None and data.get("end_date", None) is not None and data.get("start_date", None) > data.get("end_date", None): + raise serializers.ValidationError("Start date cannot exceed end date") + return data def get_assignees(self, obj): members = [ diff --git a/apiserver/plane/api/serializers/module.py b/apiserver/plane/api/serializers/module.py index a82a0f39f..aaabd4ae0 100644 --- a/apiserver/plane/api/serializers/module.py +++ b/apiserver/plane/api/serializers/module.py @@ -40,6 +40,11 @@ class ModuleWriteSerializer(BaseSerializer): "updated_at", ] + def validate(self, data): + if data.get("start_date", None) is not None and data.get("target_date", None) is not None and data.get("start_date", None) > data.get("target_date", None): + raise serializers.ValidationError("Start date cannot exceed target date") + return data + def create(self, validated_data): members = validated_data.pop("members_list", None) diff --git a/apiserver/plane/bgtasks/export_task.py b/apiserver/plane/bgtasks/export_task.py index d8cb9f0cd..22a9afe51 100644 --- a/apiserver/plane/bgtasks/export_task.py +++ b/apiserver/plane/bgtasks/export_task.py @@ -68,7 +68,7 @@ def create_zip_file(files): def upload_to_s3(zip_file, workspace_id, token_id, slug): s3 = boto3.client( "s3", - region_name="ap-south-1", + region_name=settings.AWS_REGION, aws_access_key_id=settings.AWS_ACCESS_KEY_ID, aws_secret_access_key=settings.AWS_SECRET_ACCESS_KEY, config=Config(signature_version="s3v4"), diff --git a/docker-compose-hub.yml b/docker-compose-hub.yml index 84ff8b833..fcb93c530 100644 --- a/docker-compose-hub.yml +++ b/docker-compose-hub.yml @@ -55,20 +55,6 @@ services: depends_on: - plane-api - plane-worker - - plane-deploy: - container_name: planedeploy - image: makeplane/plane-space:latest - restart: always - command: node apps/space/server.js space - env_file: - - .env - environment: - NEXT_PUBLIC_API_BASE_URL: ${NEXT_PUBLIC_API_BASE_URL} - depends_on: - - plane-api - - plane-worker - - plane-web plane-api: container_name: planebackend diff --git a/docker-compose.yml b/docker-compose.yml index 07aa79f36..f69f5be1d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -60,23 +60,6 @@ services: depends_on: - plane-api - plane-worker - plane-deploy: - container_name: planedeploy - build: - context: . - dockerfile: ./apps/space/Dockerfile.space - args: - NEXT_PUBLIC_API_BASE_URL: http://localhost:8000 - restart: always - command: /usr/local/bin/start.sh apps/space/server.js space - env_file: - - .env - environment: - NEXT_PUBLIC_API_BASE_URL: ${NEXT_PUBLIC_API_BASE_URL} - depends_on: - - plane-api - - plane-worker - - plane-web plane-api: container_name: planebackend diff --git a/nginx/nginx.conf.template b/nginx/nginx.conf.template index 796c9e10d..206c94b51 100644 --- a/nginx/nginx.conf.template +++ b/nginx/nginx.conf.template @@ -15,10 +15,6 @@ server { proxy_pass http://planefrontend:3000/; } - location /spaces/ { - proxy_pass http://planedeploy:3000/; - } - location /api/ { proxy_pass http://planebackend:8000/api/; } diff --git a/web/constants/workspace.ts b/web/constants/workspace.ts index eeb5e2730..0683e39af 100644 --- a/web/constants/workspace.ts +++ b/web/constants/workspace.ts @@ -1,9 +1,9 @@ // services images import GithubLogo from "public/services/github.png"; import JiraLogo from "public/services/jira.png"; -import CSVLogo from "public/services/csv.png"; -import ExcelLogo from "public/services/excel.png"; -import JSONLogo from "public/services/json.png"; +import CSVLogo from "public/services/csv.svg"; +import ExcelLogo from "public/services/excel.svg"; +import JSONLogo from "public/services/json.svg"; export const ROLE = { 5: "Guest", diff --git a/web/public/services/csv.svg b/web/public/services/csv.svg new file mode 100644 index 000000000..adea1ddc9 --- /dev/null +++ b/web/public/services/csv.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/web/public/services/excel.svg b/web/public/services/excel.svg new file mode 100644 index 000000000..86fb8e64b --- /dev/null +++ b/web/public/services/excel.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/web/public/services/json.svg b/web/public/services/json.svg new file mode 100644 index 000000000..4c2df2222 --- /dev/null +++ b/web/public/services/json.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + +