Compare commits

..

4 commits

Author SHA1 Message Date
9395226c5f disable automatic ticket state change
All checks were successful
/ test (push) Successful in 2m27s
/ deploy (push) Successful in 3m13s
2025-01-27 20:01:31 +01:00
c26152d3c5 fix frontend bug in ticket view
All checks were successful
/ test (push) Successful in 2m36s
2025-01-27 19:57:22 +01:00
70516db074 ~ change "the algorithm" ~
All checks were successful
/ test (push) Successful in 2m31s
2025-01-26 20:03:06 +01:00
2677f4b8b6 link item to ticket frontend
All checks were successful
/ test (push) Successful in 2m44s
2025-01-26 19:56:25 +01:00
3 changed files with 9 additions and 9 deletions

View file

@ -34,7 +34,6 @@ drf-yasg==1.21.7
frozenlist==1.4.1 frozenlist==1.4.1
h11==0.14.0 h11==0.14.0
hyperlink==21.0.0 hyperlink==21.0.0
hypothesis==6.124.2
idna==3.4 idna==3.4
incremental==22.10.0 incremental==22.10.0
inflection==0.5.1 inflection==0.5.1

View file

@ -9,6 +9,7 @@ class RelationSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = ItemRelation model = ItemRelation
fields = ('id', 'status', 'timestamp', 'item', 'issue_thread') fields = ('id', 'status', 'timestamp', 'item', 'issue_thread')
read_only_fields = ('id', 'timestamp')
class BasicIssueSerializer(serializers.ModelSerializer): class BasicIssueSerializer(serializers.ModelSerializer):

View file

@ -17,7 +17,7 @@
<textarea placeholder="add comment..." v-model="newComment" <textarea placeholder="add comment..." v-model="newComment"
class="form-control"> class="form-control">
</textarea> </textarea>
<AsyncButton class="btn btn-primary float-right" :task="addCommentAndClear"> <AsyncButton class="btn btn-secondary float-right" :task="addCommentAndClear">
<font-awesome-icon icon="comment"/> <font-awesome-icon icon="comment"/>
Save Comment Save Comment
</AsyncButton> </AsyncButton>
@ -25,7 +25,7 @@
</div> </div>
</template> </template>
<template v-slot:timeline_action2> <template v-slot:timeline_action2>
<span class="timeline-item-icon | faded-icon"> <span class="timeline-item-icon | filled-icon">
<font-awesome-icon icon="envelope"/> <font-awesome-icon icon="envelope"/>
</span> </span>
<div class="new-mail card bg-dark"> <div class="new-mail card bg-dark">
@ -83,8 +83,8 @@
</ClipboardButton> </ClipboardButton>
<div class="btn-group"> <div class="btn-group">
<input type="text" class="form-control" v-model="item_id"> <input type="text" class="form-control" v-model="item_id">
<button class="form-control btn btn-success" <button class="form-control btn btn-success" :disabled="!item_id"
@click="linkTicketItem({ticket_id: ticket.id, item_id: item_id}).then(()=>item_id='')"> @click="linkTicketItem({ticket_id: ticket.id, item_id: parseInt(item_id)}).then(()=>item_id='')">
Link&nbsp;Item Link&nbsp;Item
</button> </button>
</div> </div>
@ -207,10 +207,10 @@ export default {
}, },
mounted() { mounted() {
this.scheduleAfterInit(() => [Promise.all([this.fetchTicketStates(), this.loadTickets(), this.loadUsers(), this.fetchShippingVouchers()]).then(() => { this.scheduleAfterInit(() => [Promise.all([this.fetchTicketStates(), this.loadTickets(), this.loadUsers(), this.fetchShippingVouchers()]).then(() => {
if (this.ticket.state === "pending_new") { //if (this.ticket.state === "pending_new") {
this.selected_state = "pending_open"; // this.selected_state = "pending_open";
this.changeTicketStatus() // this.changeTicketStatus()
} //}
this.selected_state = this.ticket.state; this.selected_state = this.ticket.state;
this.selected_assignee = this.ticket.assigned_to this.selected_assignee = this.ticket.assigned_to
})]); })]);