Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

develop to main #1879

Closed
wants to merge 31 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
4e4214d
fix: show rating component in ticket list view
RitvikSardana Jul 18, 2024
4194412
fix: new column should be added at the last
RitvikSardana Jul 18, 2024
0e30176
chore: code cleanup
RitvikSardana Jul 18, 2024
e2857f9
Merge pull request #1869 from RitvikSardana/develop-ritvik-ticket-rating
RitvikSardana Jul 19, 2024
04ab0bc
fix(CannedResponse): title must not be unique
sumitbhanushali Jul 19, 2024
ab30754
Merge pull request #1870 from frappe/cann_res
sumitbhanushali Jul 19, 2024
92806c0
fix(KB): article breadcrumbs fixes
sumitbhanushali Jul 19, 2024
b1b6d35
Merge pull request #1871 from frappe/kb_fix
sumitbhanushali Jul 19, 2024
4fa7b2a
fix: reactivity in customer page
RitvikSardana Jul 19, 2024
8c98843
chore: eslint fix
RitvikSardana Jul 19, 2024
a0fcea1
ci: change lint.yml
RitvikSardana Jul 19, 2024
b2372c7
fix: add type for model value
RitvikSardana Jul 19, 2024
950091b
ci: linters
RitvikSardana Jul 19, 2024
2bffaa3
fix: semgrep ignore
RitvikSardana Jul 19, 2024
e3d6ab5
ci: use latest sempgrep
RitvikSardana Jul 19, 2024
e6a8a3f
fix: reactivity in update contact dialog
RitvikSardana Jul 19, 2024
a152df4
Merge pull request #1872 from RitvikSardana/develop-ritvik-customer-r…
RitvikSardana Jul 19, 2024
86ff49c
chore: add github templates
RitvikSardana Jul 21, 2024
a565759
chore: add frappe-ui workspace
RitvikSardana Jul 21, 2024
2fecdec
chore: add frappe-ui workspace to package.json
RitvikSardana Jul 21, 2024
ef662d5
Merge pull request #1874 from RitvikSardana/develop-ritvik-github-tem…
RitvikSardana Jul 21, 2024
959f0e6
Merge branch 'develop' of https://github.com/frappe/helpdesk into dev…
RitvikSardana Jul 21, 2024
514fbdb
Merge pull request #1875 from RitvikSardana/develop-ritvik-submodule-…
RitvikSardana Jul 22, 2024
fe9ef3f
chore: update author
sumitbhanushali Jul 22, 2024
26d04df
Merge pull request #1876 from frappe/author_update
sumitbhanushali Jul 22, 2024
dd6a673
fix: add telemetry for recording session in new customer ticket
RitvikSardana Jul 29, 2024
321b524
Merge pull request #1881 from RitvikSardana/develop-ritvik-telemetry-…
RitvikSardana Jul 29, 2024
ad7ad47
fix(Comment): id check for delete comment
sumitbhanushali Jul 31, 2024
e057beb
Merge pull request #1882 from frappe/fix_comment
sumitbhanushali Jul 31, 2024
5b8f821
fix: update onboarding message
michellealva Aug 1, 2024
27e45b0
Merge pull request #1890 from frappe/michellealva-patch-1
michellealva Aug 1, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 58 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
name: Bug Report
description: Report a bug encountered while using Frappe Helpdesk
labels: ["bug"]

body:
- type: markdown
attributes:
value: |
Welcome to Frappe Helpdesk issue tracker! Before creating an issue, please consider the following:

1. This tracker should only be used to report bugs and request features / enhancements to Frappe Helpdesk
- For questions and general support, checkout the [documentation](https://docs.frappe.io/helpdesk) or use the [forum](https://discuss.frappe.io) to get inputs from the open source community.
- For documentation issues, propose edit on the [documentation site](https://docs.frappe.io/helpdesk) directly.
2. When making a bug report, make sure you provide all required information. The easier it is for
maintainers to reproduce, the faster it'll be fixed.
3. If you think you know what the reason for the bug is, share it with us. Maybe put in a PR 😉

- type: textarea
id: bug-info
attributes:
label: Information about bug
description: Also tell us, what did you expect to happen? If applicable, add screenshots to help explain your problem.
placeholder: Please provide as much information as possible.
validations:
required: true

- type: textarea
id: exact-version
attributes:
label: Version
description: Share exact version number of Frappe, and Frappe Helpdesk you are using.
placeholder: |
Frappe version -
Frappe Helpdesk version -
validations:
required: true

- type: dropdown
id: install-method
attributes:
label: Installation method
options:
- docker
- easy-install
- manual install
- FrappeCloud
validations:
required: false

- type: textarea
id: logs
attributes:
label: Relevant log output / Stack trace / Full Error Message.
description: Please copy and paste any relevant log output. This will be automatically formatted.
render: shell

...
50 changes: 50 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
name: Feature Request
description: Suggest an idea to improve Frappe Helpdesk
labels: ["feature-request"]

body:
- type: markdown
attributes:
value: |
Welcome to Frappe Helpdesk issue tracker! Before submitting a request, please consider the following:

1. This tracker should only be used to report bugs and request features / enhancements to Frappe Helpdesk
- For questions and general support, checkout the [documentation](https://docs.frappe.io/helpdesk) or use the [forum](https://discuss.frappe.io) to get inputs from the open source community.
2. Use the search function before creating a new issue. Duplicates will be closed and directed to
the original discussion.
3. When making a feature request, make sure to be as verbose as possible. The better you convey your message, the greater the drive to make it happen.


Please keep in mind that we get many many requests and we can't possibly work on all of them, we prioritize development based on the goals of the product and organization. Feature requests are still welcome as it helps us in research when we do decide to work on the requested feature.

If you're in urgent need to a feature, please try the following channels to get paid developments done quickly:
1. Certified Frappe partners: https://frappe.io/partners
2. Developer community on Frappe forums: https://discuss.frappe.io/c/developers/5
3. Telegram group for Frappe Helpdesk development work: https://t.me/+eBnEZm7urwEwYTc1

- type: textarea
id: problem-info
attributes:
label: Is your feature request related to a problem? Please describe.
description: A clear and concise description of what the problem is. Eg. I'm always frustrated when [...]
placeholder: Please provide as much information as possible.

- type: textarea
id: solution-info
attributes:
label: Describe the solution you'd like
description: A clear and concise description of what you want to happen.

- type: textarea
id: alternatives-info
attributes:
label: Describe the alternatives you've considered
description: A clear and concise description of any alternative solutions or features you've considered.

- type: textarea
id: additional-info
attributes:
label: Additional context
description: Add any other context or screenshots about the feature request here.
...
9 changes: 6 additions & 3 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,9 +68,12 @@ jobs:
- uses: actions/setup-python@v4
with:
python-version: '3.10'

- name: Download Semgrep rules
run: git clone --depth 1 https://github.com/frappe/semgrep-rules.git frappe-semgrep-rules

- name: Download semgrep
run: pip install semgrep

- name: Run Semgrep rules
run: |
pip install semgrep==0.97.0
semgrep ci --config ./frappe-semgrep-rules/rules --config r/python.lang.correctness
run: semgrep ci --config ./frappe-semgrep-rules/rules --config r/python.lang.correctness
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "frappe-ui"]
path = frappe-ui
url = https://github.com/frappe/frappe-ui.git
6 changes: 5 additions & 1 deletion desk/src/components/CommentBox.vue
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
</span>
</Tooltip>
</div>
<div v-if="authStore.userId === commenter" class="px-4">
<div v-if="authStore.userId === commentedBy" class="px-4">
<Dropdown
:options="[{ label: 'Delete', onClick: () => (showDialog = true) }]"
>
Expand Down Expand Up @@ -74,6 +74,10 @@ const props = defineProps({
type: String,
required: true,
},
commentedBy: {
type: String,
required: true,
},
});

const emit = defineEmits(["update"]);
Expand Down
129 changes: 60 additions & 69 deletions desk/src/components/desk/global/NewCustomerDialog.vue
Original file line number Diff line number Diff line change
@@ -1,19 +1,22 @@
<template>
<div>
<Dialog v-model="open" :options="{ title: 'Add New Customer', size: 'sm' }">
<Dialog
v-model="model"
:options="{ title: 'Add New Customer', size: 'sm' }"
>
<template #body-content>
<div class="space-y-4">
<div class="space-y-1">
<Input
v-model="customer"
v-model="state.customer"
label="Customer Name"
type="text"
placeholder="Tesla Inc."
/>
</div>
<div class="space-y-1">
<Input
v-model="domain"
v-model="state.domain"
label="Domain"
type="text"
placeholder="eg: tesla.com, mycompany.com"
Expand All @@ -24,13 +27,7 @@
label="Add"
theme="gray"
variant="solid"
@click="
() => {
addCustomer();
close();
$router.go();
}
"
@click.prevent="addCustomer"
/>
</div>
</div>
Expand All @@ -39,69 +36,63 @@
</div>
</template>

<script>
import { Input, Dialog, ErrorMessage } from "frappe-ui";
import { computed, ref, inject } from "vue";
export default {
name: "NewCustomerDialog",
components: {
Dialog,
Input,
},
props: {
modelValue: {
type: Boolean,
required: true,
<script setup lang="ts">
import { reactive } from "vue";
import { Input, Dialog, createResource } from "frappe-ui";
import { createToast } from "@/utils";

const emit = defineEmits(["customerCreated"]);
const model = defineModel<boolean>();

const state = reactive({
customer: "",
domain: "",
});

const customerResource = createResource({
url: "frappe.client.insert",
method: "POST",
data: {
doc: {
doctype: "HD Customer",
customer_name: state.customer,
domain: state.domain,
},
},
setup(props, { emit }) {
let open = computed({
get: () => props.modelValue,
set: (val) => {
emit("update:modelValue", val);
if (!val) {
emit("close");
}
},
onSuccess: () => {
state.customer = "";
state.domain = "";
createToast({
title: "Customer Created Successfully ",
icon: "check",
iconClasses: "text-green-600",
});
return {
open,
};
},
data() {
return {
customer: "",
domain: "",
};
emit("customerCreated");
},
methods: {
addCustomer() {
const inputParams = {
customer_name: this.customer,
domain: this.domain,
};
this.$resources.newCustomer.submit({
doc: {
doctype: "HD Customer",
...inputParams,
},
});
},
close() {
this.customer = "";
this.domain = "";
this.$emit("close");
},
onError: (err) => {
createToast({
title: err.messages[0],
icon: "x",
iconClasses: "text-red-600",
});
},
resources: {
newCustomer() {
return {
url: "frappe.client.insert",
onSuccess: (doc) => {
this.$router.push(`/customers`);
},
};
});

function addCustomer() {
if (!state.customer) {
createToast({
title: "Customer Name is required",
icon: "x",
iconClasses: "text-red-600",
});
return;
}
customerResource.submit({
doc: {
doctype: "HD Customer",
customer_name: state.customer,
domain: state.domain,
},
},
};
});
}
</script>
5 changes: 4 additions & 1 deletion desk/src/components/ticket/TicketsAgentList.vue
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,9 @@
variant="outline"
/>
</div>
<div v-if="column.type === 'Rating'">
<StarRating :rating="item" />
</div>
<div v-else-if="column.key === 'response_by'">
<Badge
v-if="
Expand Down Expand Up @@ -129,7 +132,7 @@ import {
ListHeader,
ListFooter,
} from "frappe-ui";
import { MultipleAvatar } from "@/components";
import { MultipleAvatar, StarRating } from "@/components";

const ticketStatusStore = useTicketStatusStore();
const router = useRouter();
Expand Down
Loading
Loading