Commit Graph

1537 Commits

Author SHA1 Message Date
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
Martin Whitehouse
7b4d53cfc0
Fix 'list' annoation for py3.8 2022-07-25 03:44:04 +02:00
Martin Whitehouse
749ebbe16b
Fix annotations for py3.8 2022-07-25 03:42:16 +02:00
Martin Whitehouse
595dae1cf7
Add get_template_staff_and_template_cc function
Furhter reduxes complexity by combining creation of templates
2022-07-25 03:38:16 +02:00
Martin Whitehouse
256af24daa
Comment function 2022-07-25 03:34:03 +02:00
Martin Whitehouse
a2f33c9799
Add add_staff_subscription helper
Further reduces complexity by checking for subscription in helper
function
2022-07-25 03:32:45 +02:00
Martin Whitehouse
f678c63496
Add update_messages_sent_to_by_public_and_status helper function
Handles updating ticket and sending ticket reply
2022-07-25 03:30:07 +02:00
Martin Whitehouse
fe619b5ff2
Combine conditionals to single line 2022-07-25 03:22:59 +02:00
Martin Whitehouse
f815ebbb5c
Add get_time_spent_from_request helper
Extracts further code
2022-07-25 03:17:10 +02:00
Martin Whitehouse
9294eca5d6
Add get_and_set_ticket_status helper
Extracts some futher code from `update_ticket`
2022-07-25 03:11:30 +02:00
Martin Whitehouse
ecefd5e407
Extract the due_date to helper function 2022-07-25 03:01:50 +02:00
Martin Whitehouse
574395ee28
Easy pickings
Simple code violations of reserved symbols etc.
2022-07-25 02:46:33 +02:00
Martin Whitehouse
8d63d65a7d
Removed encoding to 'utf-8', breaks tests.
This needs to be looked into further.
2022-07-25 02:41:40 +02:00
Martin Whitehouse
4e2b7deefb
Reduces complexity of object_from_message
Helper functions created to help break up the flow
2022-07-25 02:22:32 +02:00
Martin Whitehouse
a5e74d6449
Extract getting ticket_id from subject to helper function 2022-07-25 01:56:13 +02:00
Martin Whitehouse
283f052c0e
Annotate function signature 2022-07-25 01:47:00 +02:00
Martin Whitehouse
80f4152301
Simplify return statement
Rename `ticket` to `ticket_id` for clarity
2022-07-25 01:43:43 +02:00
Martin Whitehouse
0b1de1eead
Removed unused import
Result of previous code removal
2022-07-25 01:23:12 +02:00
Martin Whitehouse
fe28c2f540
Merge branch 'unstable' of git@github.com:martin-marty/django-helpdesk.git into 1039-complexity-reduction 2022-07-25 01:22:11 +02:00
Martin Whitehouse
1ac78955c0
Removed notifications_to_be_sent list
The whole loop appeared to be doing nothing other than appending email
addresses to a list, which was never used.
2022-07-25 01:22:05 +02:00
Martin Whitehouse
0f0b0a5995
Remove left over 'cc' code 2022-07-22 16:27:38 +02:00
Martin Whitehouse
44f068d1b8
re-apply formatting 2022-07-22 03:30:35 +02:00
Martin Whitehouse
25542f929e
Initial isort configuration
Will fail build if imports are not sorted correctly
2022-07-22 03:26:41 +02:00
Martin Whitehouse
e2a8b974dd
Removed unused imports, format long line 2022-07-22 01:21:25 +02:00
Martin Whitehouse
fb21d9bcdc
Check for model enabled before registering 2022-07-22 01:20:10 +02:00
Martin Whitehouse
280462c2fe
Remove 'f-string', no place holders present 2022-07-22 01:18:45 +02:00
Martin Whitehouse
fa91620bf9
EscapeHtml.extendMarkdown disabled
Updated markdown caused failures.
Not sure what is going on with this class, 0 comments :-(
If someone could give me a hint as to what this is trying to achieve, I
can investigate further
2022-07-20 16:32:51 +02:00
Martin Whitehouse
844c317e19 Formatting fixes 2022-07-14 09:19:11 +02:00
Benbb96
e47170858e Create two new tests for ticket followups and followup attachments + adapt one test (needed to use freezegun) 2022-06-30 23:43:22 +02:00
Benbb96
9dbe283dd4 Create FollowUpAttachment serializer + handle attachment in TicketSerializer and in FollowUpSerializer in order to attach directly one or multiple attachments to the created followup. 2022-06-24 23:45:26 +02:00
Benbb96
bd413837c2 Create FollowUp serializer with its Viewset and add it in urls 2022-06-24 22:22:08 +02:00
Martin Whitehouse
6d1d5d82b3
Skip failing tests
Object not available for patching
2022-06-20 18:20:01 +02:00