diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000..6673a8093 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,65 @@ +name: Build Container Image +on: + workflow_dispatch: + push: + branches: + - main + tags: + - "*" + +jobs: + build: + name: Build + + runs-on: ubuntu-latest + + strategy: + matrix: + arch: [amd64, arm64] + + steps: + - name: Checkout Entire Repository + uses: actions/checkout@v4 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + with: + platforms: linux/${{ matrix.arch }} + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Set Branch + run: | + export APPS_JSON='[{"url": "https://github.com/frappe/helpdesk","branch": "main"}]' + echo "APPS_JSON_BASE64=$(echo $APPS_JSON | base64 -w 0)" >> $GITHUB_ENV + echo "FRAPPE_BRANCH=version-15" >> $GITHUB_ENV + + - name: Set Image Tag + run: | + echo "IMAGE_TAG=stable" >> $GITHUB_ENV + + - uses: actions/checkout@v4 + with: + repository: frappe/frappe_docker + path: builds + + - name: Build and push + uses: docker/build-push-action@v6 + with: + push: true + context: builds + file: builds/images/layered/Containerfile + tags: > + ghcr.io/${{ github.repository }}:${{ github.ref_name }}, + ghcr.io/${{ github.repository }}:${{ env.IMAGE_TAG }} + build-args: | + "FRAPPE_BRANCH=${{ env.FRAPPE_BRANCH }}" + "APPS_JSON_BASE64=${{ env.APPS_JSON_BASE64 }}" \ No newline at end of file diff --git a/.gitignore b/.gitignore index 5ddfafbda..5e52f71c0 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ __pycache__/ *.log tags node_modules +.vscode # Distribution / packaging .Python diff --git a/desk/src/components/BrandLogo.vue b/desk/src/components/BrandLogo.vue index 632c0fdac..7aa2f4a12 100644 --- a/desk/src/components/BrandLogo.vue +++ b/desk/src/components/BrandLogo.vue @@ -1,5 +1,10 @@ diff --git a/desk/src/components/CommentTextEditor.vue b/desk/src/components/CommentTextEditor.vue index aef0a6583..57979441f 100644 --- a/desk/src/components/CommentTextEditor.vue +++ b/desk/src/components/CommentTextEditor.vue @@ -104,6 +104,7 @@ import { AttachmentItem } from "@/components/"; import { useAgentStore } from "@/stores/agent"; import { useStorage } from "@vueuse/core"; import { PreserveVideoControls } from "@/tiptap-extensions"; +import { textEditorMenuButtons } from "@/utils"; const { agents: agentsList } = useAgentStore(); @@ -163,42 +164,4 @@ async function submitComment() { comment.submit(); } - -const textEditorMenuButtons = [ - "Paragraph", - ["Heading 2", "Heading 3", "Heading 4", "Heading 5", "Heading 6"], - "Separator", - "Bold", - "Italic", - "Separator", - "Bullet List", - "Numbered List", - "Separator", - "Align Left", - "Align Center", - "Align Right", - "FontColor", - "Separator", - "Image", - "Video", - "Link", - "Blockquote", - "Code", - "Horizontal Rule", - [ - "InsertTable", - "AddColumnBefore", - "AddColumnAfter", - "DeleteColumn", - "AddRowBefore", - "AddRowAfter", - "DeleteRow", - "MergeCells", - "SplitCell", - "ToggleHeaderColumn", - "ToggleHeaderRow", - "ToggleHeaderCell", - "DeleteTable", - ], -]; diff --git a/desk/src/components/DiscardButton.vue b/desk/src/components/DiscardButton.vue new file mode 100644 index 000000000..c74a8f53d --- /dev/null +++ b/desk/src/components/DiscardButton.vue @@ -0,0 +1,40 @@ + + + + + diff --git a/desk/src/components/EmailEditor.vue b/desk/src/components/EmailEditor.vue index 184729346..a672eda80 100644 --- a/desk/src/components/EmailEditor.vue +++ b/desk/src/components/EmailEditor.vue @@ -157,7 +157,7 @@ import { TextEditorFixedMenu, createResource, } from "frappe-ui"; -import { createToast, validateEmail } from "@/utils"; +import { createToast, validateEmail, textEditorMenuButtons } from "@/utils"; import { MultiSelectInput, AttachmentItem, @@ -298,44 +298,6 @@ function addToReply( .run(); } -const textEditorMenuButtons = [ - "Paragraph", - ["Heading 2", "Heading 3", "Heading 4", "Heading 5", "Heading 6"], - "Separator", - "Bold", - "Italic", - "Separator", - "Bullet List", - "Numbered List", - "Separator", - "Align Left", - "Align Center", - "Align Right", - "FontColor", - "Separator", - "Image", - "Video", - "Link", - "Blockquote", - "Code", - "Horizontal Rule", - [ - "InsertTable", - "AddColumnBefore", - "AddColumnAfter", - "DeleteColumn", - "AddRowBefore", - "AddRowAfter", - "DeleteRow", - "MergeCells", - "SplitCell", - "ToggleHeaderColumn", - "ToggleHeaderRow", - "ToggleHeaderCell", - "DeleteTable", - ], -]; - const editor = computed(() => { return editorRef.value.editor; }); diff --git a/desk/src/components/ListRows.vue b/desk/src/components/ListRows.vue new file mode 100644 index 000000000..afcd843aa --- /dev/null +++ b/desk/src/components/ListRows.vue @@ -0,0 +1,120 @@ + + + + + diff --git a/desk/src/components/ListViewBuilder.vue b/desk/src/components/ListViewBuilder.vue index 427ed2350..d42f224de 100644 --- a/desk/src/components/ListViewBuilder.vue +++ b/desk/src/components/ListViewBuilder.vue @@ -1,9 +1,8 @@ - - diff --git a/desk/src/components/knowledge-base-v2/KnowledgeBaseSidebar.vue b/desk/src/components/knowledge-base-v2/KnowledgeBaseSidebar.vue deleted file mode 100644 index f65a7a3f9..000000000 --- a/desk/src/components/knowledge-base-v2/KnowledgeBaseSidebar.vue +++ /dev/null @@ -1,61 +0,0 @@ - - - - - diff --git a/desk/src/components/knowledge-base-v2/ArticleCard.vue b/desk/src/components/knowledge-base/ArticleCard.vue similarity index 96% rename from desk/src/components/knowledge-base-v2/ArticleCard.vue rename to desk/src/components/knowledge-base/ArticleCard.vue index ea7c97e39..51e2e5317 100644 --- a/desk/src/components/knowledge-base-v2/ArticleCard.vue +++ b/desk/src/components/knowledge-base/ArticleCard.vue @@ -7,7 +7,7 @@
-
+
{{ article.title }}
diff --git a/desk/src/components/knowledge-base/CategoryFolder.vue b/desk/src/components/knowledge-base/CategoryFolder.vue new file mode 100644 index 000000000..0d4a5b077 --- /dev/null +++ b/desk/src/components/knowledge-base/CategoryFolder.vue @@ -0,0 +1,41 @@ + + + + + diff --git a/desk/src/components/knowledge-base/CategoryFolderContainer.vue b/desk/src/components/knowledge-base/CategoryFolderContainer.vue new file mode 100644 index 000000000..8346d0d5a --- /dev/null +++ b/desk/src/components/knowledge-base/CategoryFolderContainer.vue @@ -0,0 +1,18 @@ + + + + + diff --git a/desk/src/components/knowledge-base/CategoryModal.vue b/desk/src/components/knowledge-base/CategoryModal.vue new file mode 100644 index 000000000..b9088b4e6 --- /dev/null +++ b/desk/src/components/knowledge-base/CategoryModal.vue @@ -0,0 +1,87 @@ +