Commit Graph

1568 Commits

Author SHA1 Message Date
Sam Splunks
3e791d98fa Explicit property naming 2024-01-22 14:39:53 +00:00
Sam Splunks
3537ec7447 Customization of Ticket PRIORITY_CHOICES in project settings 2024-01-22 14:30:44 +00:00
Timothy Hobbs
c9f742227e Include custom fields in user tickets api endpoint 2024-01-16 22:19:32 +00:00
Timothy Hobbs
b0977a44d0 Remove debug output code from tests 2024-01-04 00:16:47 +00:00
Timothy Hobbs
7aa7f0eca2 Fix custom field sending in new ticket webhook 2023-12-27 19:39:12 +00:00
Timothy Hobbs
7a4210df50 my_tickets.html: Trans tags 2023-12-04 23:42:49 +00:00
Timothy Hobbs
9b17dc3cbd More formatting fixes on ticket view page 2023-12-04 23:38:28 +00:00
Timothy Hobbs
4432802562 Fix css for showing ticket followups 2023-12-04 23:38:28 +00:00
Timothy Hobbs
83994d07d7 Fix updating tickets when opened from my-tickets view 2023-12-04 23:38:28 +00:00
Timothy Hobbs
27f295098c Improve webhook env var handling & docs 2023-12-04 23:37:31 +00:00
Christopher Broderick
c959c24b96
Merge branch 'main' into webhooks-2 2023-12-04 08:42:58 +00:00
Christopher Broderick
9db89e6714
Merge pull request #1145 from timthelion/webhooks-1
API: Actually send out emails when creating followups via the API
2023-12-04 07:57:36 +00:00
Timothy Hobbs
04bbb27b24 Fix mistake in if chaining 2023-12-03 00:34:29 +00:00
Timothy Hobbs
e708281dcd Implement webhooks. Fixes #264 2023-12-02 20:57:21 +00:00
Timothy Hobbs
9526ca9820 Do the full update ticket flow when followups are posted from the API 2023-11-30 11:40:11 +01:00
Timothy Hobbs
2360c2ed53 Add My Tickets view to staff menu as well 2023-11-27 11:18:31 +01:00
Timothy Hobbs
e00e19625a Remove Due Date and Submitter columns from My Tickets view as these are not necessary 2023-11-27 11:14:10 +01:00
Timothy Hobbs
ffb7522e79 Use update_ticket method when placing ticket on hold 2023-11-26 16:40:52 +00:00
Timothy Hobbs
8f71bdac7a Add tests for user_tickets api endpoint 2023-11-26 12:58:53 +00:00
Timothy Hobbs
5d190c30ab re-protect public views 2023-11-23 22:52:45 +01:00
Timothy Hobbs
162a368b9d Remove all mention of obsolute API deactivation switch. The helpdesk frontend
now requires the API
2023-11-23 22:23:13 +01:00
Timothy Hobbs
3d4d58b5fd Fixes #994 2023-11-23 21:58:02 +01:00
Timothy Hobbs
b92c83de39 Implement My Tickets view in public helpdesk
Note: This is a breaking change as it forces pagination on the API endoints.
This should have been done from the start as the API without pagination is
useless when there are large numbers of tickets.
2023-11-23 21:50:44 +01:00
Timothy Hobbs
cec90aafdd Show username in nav header 2023-11-23 20:59:58 +01:00
Timothy Hobbs
4481795c7f search_for_ticket → class based view 2023-11-23 20:52:27 +01:00
Timothy Hobbs
e128cc0d5c view_ticket → class based view 2023-11-23 20:48:50 +01:00
Christopher Broderick
da00cf67b3
Update helpdesk/settings.py
Co-authored-by: Benbb96 <Benbb96@users.noreply.github.com>
2023-11-15 11:31:45 +00:00
Christopher Broderick
6cba903827 Merge remote-tracking branch 'origin/main' into fix_unassigned_kbitems_not_visible_when_teams_not_active 2023-11-15 01:06:07 +00:00
Christopher Broderick
d65b103cc4
Merge pull request #1139 from timthelion/webhooks
Refactor update tickets view
2023-11-15 00:54:32 +00:00
Christopher Broderick
9195e4b738 Unassigned tickets lookup foix when teams is disabled. 2023-11-15 00:42:51 +00:00
Christopher Broderick
9147cb16d5 Changed settings to support simple enable/disable of teams. 2023-11-15 00:41:56 +00:00
Christopher Broderick
9c234494c4 Additional email unit test for alternate multipart without related
multipart.
2023-11-15 00:40:43 +00:00
Timothy Hobbs
b0ef6a5484 Fix #1138 by calling update_ticket directly from non-update views 2023-11-14 21:47:12 +01:00
Timothy Hobbs
ade4c3115e Move update ticket logic out of staff.py 2023-11-14 21:17:37 +01:00
Timothy Hobbs
6cd5522099 Move to ruff, its faster & catches more 2023-11-14 20:37:05 +01:00
Timothy Hobbs
21513d4524 Fix security problem with update_ticket view
@martin-marty Introduced a security flaw in this commit.

ecefd5e407#

By extracting authentication logic for the update_ticket view to a new function
and mixing the return types. This function returns both a Ticket object and a
login redirect. This is simply non-sensical and fails to actually login-redirect
non-authenticated users.
2023-11-11 22:26:19 +01:00
tecbr
f1d530db2a
Fix 0034_create_email_template_for_merged.py 2023-11-09 21:22:56 -03:00
tecbr
5df7b8ff85
Fix 0009_migrate_queuemembership.py 2023-11-09 21:22:13 -03:00
Naggafin
60aae680dd changed UserSerializer to utilize custom user classes (didn't work with them before) 2023-11-09 13:07:26 -05:00
Christopher Broderick
2c197fb2bf Fix ordering of imports 2023-10-26 21:54:15 +01:00
Christopher Broderick
8a2ee78661 Add unit tests for get_mail task. 2023-10-26 21:32:32 +01:00
Christopher Broderick
e4da2797b9 Fix missing f-string operator.
Add queue name to info log.
2023-10-26 21:31:53 +01:00
Christopher Broderick
e040bcac77 Add missing capture of exception to variable. 2023-10-25 17:15:45 +01:00
Christopher Broderick
bc7e189a5c Remove check for info being enabled 2023-10-24 14:24:10 +01:00
Christopher Broderick
2c9e251113 Fix order of imports 2023-10-24 14:20:09 +01:00
Christopher Broderick
a7863b5f27 Fix formatting 2023-10-24 14:08:40 +01:00
Christopher Broderick
8849943d33 Add logging to stdout when enabled to facilitate debugging issues. 2023-10-24 13:50:23 +01:00
Timothy Hobbs
cbb5dcdef9 Document standalone install 2023-10-14 18:48:53 +02:00
Timothy Hobbs
405efcc33b Delete emails immediately to prevent duplicate ticket problems
Right now if there is an exception in this loop due to a single messed up
email (perhapse an invalid email address), the loop will fail without deleting
the already processed emails. In a few hours you can end up with hundreds of
duplicate tickets. This way, the already processed emails will be deleted and
not processed again.
2023-10-14 18:48:02 +02:00
Christopher Broderick
27bb8f3fc5
Merge branch 'main' into Fix_File_Permission_777 2023-10-13 10:38:30 +01:00
Christopher Broderick
41b4263f1f
Merge branch 'main' into HELPDESK_USE_HTTPS_IN_EMAIL_LINK-default-value 2023-10-13 10:12:28 +01:00
fazledyn-or
11327e7469 Added the default permission in settings.py 2023-10-11 11:50:56 +06:00
Christopher Broderick
e90739a07a Fix formatting issues 2023-10-10 14:08:57 +01:00
Christopher Broderick
104a849d9f Fix flake8 issues 2023-10-10 14:08:47 +01:00
Christopher Broderick
276af1c03c Fix inline with multipart message attachment test 2023-10-10 13:47:18 +01:00
Christopher Broderick
7e7a38cc3c Fix to avoid using "hidden" variable as kwarg. 2023-10-10 13:42:40 +01:00
Christopher Broderick
8006826ddf Process email content first then focus on attachments.
Use the EmailMessage class for enhanced processing.
2023-10-10 13:41:28 +01:00
fazledyn-or
90bcac954f Fixed file permission(s) in models.py/attachment_path 2023-10-06 17:33:18 +06:00
Benbb96
8a6525e47c
Use SECURE_SSL_REDIRECT as a default value for HELPDESK_USE_HTTPS_IN_EMAIL_LINK setting 2023-09-03 01:07:43 +02:00
Christopher Broderick
49813051bc Change method name to match refactored email.py 2023-07-23 06:44:05 +01:00
Christopher Broderick
0b9bfbcddd Enhance tests for multiple parts in emails. 2023-07-23 06:43:08 +01:00
Christopher Broderick
9bbe1945b0 Fix format errors 2023-07-23 06:31:29 +01:00
Christopher Broderick
f7381d5b62 Fix some bugs and enhance some methods to support unit tests. 2023-07-23 06:13:24 +01:00
Christopher Broderick
2e5697c11a Completely rework the email parsing.
Fixes a number of hacks that have accumulated and makes it is more
easily understood and easier to enhance in the future.
2023-07-23 06:12:32 +01:00
Christopher Broderick
fad11d53bb Make query test less flaky 2023-07-18 01:35:13 +01:00
Christopher Broderick
07f6d5f6c8 Make test less dependent on template changes 2023-07-18 01:01:10 +01:00
Christopher Broderick
7b72a2cad2 Allow identifying what exactly is not asserted. 2023-07-17 23:33:56 +01:00
Christopher Broderick
707cc6761b Implement a recursive multipart parser to cater for attachments that
have embedded attachments.
2023-07-16 14:55:18 +01:00
Benbb96
482772d3c6
Update French translations 2023-05-01 23:46:20 +02:00
Benbb96
770cdc77b8
Add more tests 2023-05-01 22:54:41 +02:00
Benbb96
3bb1c88210
Fix isort 2023-05-01 00:25:33 +02:00
Benbb96
2768c98fb9
Starting to implement some tests 2023-05-01 00:20:09 +02:00
Benbb96
3b55f37fb5
Fix isort issues 2023-04-30 04:13:50 +02:00
Benbb96
3235333873
Drag & drop on ticket checklist tasks edition page + Use an empty form in order to better generate new task row dynamically 2023-04-30 03:56:42 +02:00
Benbb96
ff61f85d59
Rename template_task_form_row.html 2023-04-30 03:24:12 +02:00
Benbb96
ef88a2ee8a
Better workflow for creating new ticket checklist, into a modal 2023-04-30 03:11:27 +02:00
Benbb96
11b2b36dd2
Allow updating task state when writing a ticket follow-up 2023-04-30 02:18:16 +02:00
Benbb96
308f69a03b
CRUD Checklist Template 2023-04-30 01:15:05 +02:00
Benbb96
af1ba5f205
Create a page to edit checklist name and tasks + another page for deletion 2023-04-29 00:24:06 +02:00
Benbb96
b8d06a0fb1
Show a form to create a new checklist, with the possibility to use a preset template 2023-04-23 00:36:10 +02:00
Benbb96
8be55fb7f2
Display checklists on ticket page 2023-04-22 23:56:23 +02:00
Benbb96
9e7b4ef9bf
Reformat file ticket_desc_table.html 2023-04-22 23:20:41 +02:00
Benbb96
9e9ebd45a7
Create models and admin for Checklist 2023-04-22 22:55:41 +02:00
bruce.gibbins
c23c8e5be6 Add user defined IMAP Debug Level and improved exception message 2023-04-19 20:07:43 +10:00
bruce.gibbins
a8fbeaa140 Fix OAuth tests 2023-04-19 15:22:35 +10:00
bruce.gibbins
012cc7041a Fix OAuth tests 2023-04-19 15:12:13 +10:00
bruce.gibbins
af2683d44b Corrected OAUTH Settings initialisation 2023-04-18 21:35:02 +10:00
bruce.gibbins
101326c987 Use settings instead of django_settings 2023-04-17 20:08:56 +10:00
bruce.gibbins
c29996df94 Resorted imports for pep8 2023-04-17 13:15:47 +10:00
bruce.gibbins
9192779889 Add IMAP OAUTH Mail Box Type 2023-04-15 22:11:41 +10:00
bruce.gibbins
d7ebc8e1c2 Revert "Add IMAP OAUTH Mail Box Type"
This reverts commit d57f11f40a.
2023-04-15 21:56:05 +10:00
bruce.gibbins
d57f11f40a Add IMAP OAUTH Mail Box Type 2023-04-15 21:52:44 +10:00
Christopher Broderick
b78f9d9034 Merge branch 'pypi_release' of https://uhurusurfa@github.com/django-helpdesk/django-helpdesk.git into pypi_release 2023-04-03 10:53:01 +01:00
Christopher Broderick
1b3d97e183 Fix incorrectly removed time import 2023-04-03 10:49:01 +01:00
Christopher Broderick
beb794b8db
Merge branch 'main' into pypi_release 2023-03-29 00:42:48 +01:00
Bruce
287024acd1 Use updated_submitter email template in send for updated ticket 2023-03-28 19:45:54 +10:00
Christopher Broderick
1bc1764c3f
Merge branch 'main' into pypi_release 2023-03-27 18:17:40 +01:00
Bruce
6f72db6760 Force URTF-8 Encoding on File Open 2023-03-27 21:36:24 +10:00
Christopher Broderick
b716e046b2
Merge branch 'main' into pypi_release 2023-03-26 00:56:00 +00:00
Christopher Broderick
7ff870ec88
Merge branch 'main' into #1075---add-options-for-date-and-datetime-input-in-ticket-view 2023-03-26 00:46:07 +00:00
Christopher Broderick
2c8c187e36 Remove six package and dependent code 2023-03-26 00:20:47 +00:00
Christopher Broderick
6c968626b6 Fix format failure 2023-03-25 13:28:13 +00:00
Christopher Broderick
8cb3d43311 Use simpler conversion to string 2023-03-25 13:25:22 +00:00
Christopher Broderick
4cd66d7e0c Fix import format fail 2023-03-25 13:21:38 +00:00
Christopher Broderick
9e71fc8467 Remove redundant import 2023-03-25 13:21:27 +00:00
Christopher Broderick
85aeb8e79e Allow specifiying the content for a multipart 2023-03-25 13:06:40 +00:00
Christopher Broderick
cdbd531931 Ensure multipart attachments are saved 2023-03-25 13:06:03 +00:00
Christopher Broderick
ae2f24b299 Add test to verify that attachments as multipart are stored. 2023-03-25 13:04:38 +00:00
finnertysea
21ccc83d69 #1075 - make view agnostic to format of incoming due date 2023-03-17 13:12:03 -07:00
Christopher Broderick
930fc71d8b
Merge branch 'main' into fix-warnings 2023-03-10 23:52:46 +00:00
Christopher Broderick
d147f8b1a0
Merge branch 'main' into main 2023-03-10 23:48:29 +00:00
Christopher Broderick
77350c26f3
Merge branch 'main' into #1069_urls_username_regex 2023-03-10 23:43:11 +00:00
Christopher Broderick
dc6db21368
Merge branch 'main' into stable 2023-03-10 23:39:40 +00:00
Christopher Broderick
7f8e996668 Fix missing param in call 2023-03-10 22:11:34 +00:00
Christopher Broderick
aad73a5d90 Fix format errors 2023-03-10 22:06:14 +00:00
finnertysea
66a83a0716 #1069 - make regex matching username more permissive for rss_user to match rss_user_queue 2023-01-27 12:33:33 -08:00
finnertysea
5279180221 Bug fix #1066 - modified import order to placate isort 2023-01-24 13:36:18 -05:00
finnertysea
71ff0aa6d5 Bug fix - detected due date change when no change was made 2023-01-20 10:53:35 -05:00
Rafael Reuber
2cca51085f Removes unused function query_to_dict 2023-01-05 22:30:57 +00:00
Benbb96
64788938b4 Catch exception on an attachment individually in order to allow valid extension to be processed. 2022-10-10 21:57:56 +02:00
Benbb96
b3edba3fc5 Fix #1054 2022-10-09 23:05:16 +02:00
chrisbroderick
9e3a3abcf1 Fix import sorting 2022-09-08 23:40:49 +01:00
chrisbroderick
8d7ba415fa Fix formatting per flake8 2022-09-08 22:11:24 +01:00
chrisbroderick
eca2255f56 Test for filename using diaretics 2022-09-08 10:05:09 +01:00
chrisbroderick
357241e269 Refactor to make the methods more generic and able to be used to build
any kind of email
2022-09-07 08:48:32 +01:00
chrisbroderick
572ffd5acf Handle ignored emails explicitly using exceptions.
Support the flag on IgnoreEmail model to control deleting the email if
ignored.
2022-09-06 19:40:35 +01:00
chrisbroderick
23c3b72a43 Refactor object_from_message to make it more testable and fix some bugs.
Extract the from email using the email library instead of pre-decoding
which exposes the comma separator causing the email address to be
extracted incorrectly if the real name contains a comma.
Raise an exception when a message to be ignored is detected to process
ignored messages explicitly.
2022-09-04 22:01:32 +01:00
chrisbroderick
e1085cb370 Custom exception to handle ignored messages explicitly. 2022-09-04 21:53:08 +01:00
chrisbroderick
4e001c7f15 test utility methods to simplify more complex tests 2022-09-02 22:11:19 +01:00
Benbb96
238dd8d3d5 Fix import order 2022-08-15 20:21:19 +02:00
Benbb96
bc3d89b555 Fix PyCharm warnings in staff.py 2022-08-15 20:15:02 +02:00
Alex
3a13bbfeef Fix. Add test markdown and rewrite for last markdown is working 2022-08-08 20:20:00 +07:00
Alex
cf5be66fae Fix. Fix problem wich version package in requirements and add test markdown and rewrite for new markdown 2022-08-06 18:34:16 +07:00
Alex
a28569a984 Fix. Fix problem wich version package in requirements and add test markdown 2022-07-27 19:58:39 +07:00
Martin Whitehouse
72392a3f50
Add update_summary_tables helper function
Reduces complexity of 'run_report' and handles updating summary table in
own function
2022-07-25 04:44:46 +02:00
Martin Whitehouse
205c69b539
Add get_report_table_and_totals helper function
Extracts a large portion of run_report handling
2022-07-25 04:41:01 +02:00
Martin Whitehouse
b1bf2cab46
Add get_report_queryset_or_redirect helper
Gets required objects or redirects
2022-07-25 04:35:49 +02:00
Martin Whitehouse
50bd72ac7a
Move import to top 2022-07-25 04:31:17 +02:00
Martin Whitehouse
d858c40416
Add check_redirect_on_user_query helper function
Extract the checking for a redirect to reduce complexity
2022-07-25 04:29:43 +02:00
Martin Whitehouse
f89f5b91da
Reinstate changes, fixed missing update 2022-07-25 04:23:03 +02:00
Martin Whitehouse
40a243c23b
Revert changes, updating objects missed somewhere 2022-07-25 04:15:53 +02:00
Martin Whitehouse
a248181857
Add redirect_from_chosen_ticket helper function
Moves the whole handling to own block, reducing complexity greatly.
2022-07-25 04:08:16 +02:00
Martin Whitehouse
eb11c4fe0e
Rename ticket_attriubtes to upper, module level constant. 2022-07-25 04:03:12 +02:00
Martin Whitehouse
a783156b61
Add merge_ticket_values helper
Extract a large portion of code from `merge_tickets`
2022-07-25 04:01:27 +02:00
Martin Whitehouse
bed7f0e493
Add default value property to TicketCustomField
Property of the model, so add it there to keep consistency
2022-07-25 04:00:57 +02:00
Martin Whitehouse
46f8e9d21f
Clear error
Use.objects.get causes undefined variable when using get_user_model
2022-07-25 03:52:58 +02:00
Martin Whitehouse
1468982043
Remove unused variables, extract correct index 2022-07-25 03:50:49 +02:00
Martin Whitehouse
b326103d82
Fix spacing 2022-07-25 03:48:06 +02:00
Martin Whitehouse
57cd2f1471
Remove annoation for py3.8 2022-07-25 03:47:57 +02:00
Martin Whitehouse
45e47846fe
py3.8 annotation fix 2022-07-25 03:45:36 +02:00