Commit Graph

1442 Commits

Author SHA1 Message Date
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
Martin Whitehouse
2c1466e01e
Disable failing checks
Iterating over a cc_list and comparing to the outbox list will not work.

Need to re-work to ensure indexes match up
2022-06-20 18:19:44 +02:00
Martin Whitehouse
8118fd83b7
Fix autofill utf-8 test 2022-06-20 18:03:39 +02:00
Martin Whitehouse
dd7ef6f0ed
Fix autofill test 2022-06-20 17:50:49 +02:00
Martin Whitehouse
0e571ddebc
Fix url regex 2022-06-20 17:36:40 +02:00
Martin Whitehouse
670ae9d0a5
Fix password assignments 2022-06-20 17:36:32 +02:00
Martin Whitehouse
f18531acb0
Fix url check 2022-06-20 17:35:40 +02:00
Martin Whitehouse
db358ceeaf
Set due date as member and use throughout 2022-06-20 17:35:28 +02:00
Martin Whitehouse
437d5b81c4
Fix failing tests 2022-06-20 17:26:52 +02:00
Martin Whitehouse
93bb43bf1d
Remove mock
Can't import model until the test body
2022-06-20 16:58:43 +02:00
Martin Whitehouse
2910664950
Fix path for tests 2022-06-20 16:34:32 +02:00
Martin Whitehouse
6a1f430496
Missing import 2022-06-20 16:10:55 +02:00
Martin Whitehouse
41d7caace4
Fix spacing issues
{% if saved_query==q %} was causing a parse error. White space around
equality
2022-06-20 16:08:05 +02:00
Martin Whitehouse
e438f6b4db
Fix references to 'url'
Change to 're_path'
2022-06-20 14:39:04 +02:00
Garret Wassermann
ee42ba48a3 Merge in bugfixes from 0.3.5 2022-06-12 03:00:25 -04:00
Daniele Scasciafratte
67949e83f9
added permission classes 2022-05-04 18:51:02 +02:00
Daniele Scasciafratte
25db44ba5e feat(rest): create user 2022-05-02 17:27:25 +02:00
Garret Wassermann
b8511dd70b Fix conflicts for Django 4 support 2022-04-23 02:23:51 -04:00
Garret Wassermann
3ed6c68046 Update to 0.3.4 bugfix release 2022-04-23 02:06:35 -04:00
Garret Wassermann
5e8f5fed62 Fixing some unit tests 2022-04-22 14:52:51 -04:00
Garret Wassermann
fcab3506b0
Merge branch 'stable' into new-option-fields 2022-04-22 06:32:32 -04:00
Daniele Scasciafratte
8d626cfd5f feat(fields): hide column for time spent 2022-04-20 17:30:55 +02:00
Daniele Scasciafratte
6d5c81ea14 feat(fields): hide column for KB item, https://github.com/django-helpdesk/django-helpdesk/pull/1003 2022-04-20 16:54:17 +02:00
Daniele Scasciafratte
9bd4eb19bc feat(fields): no dependencies 2022-04-20 16:44:48 +02:00
Daniele Scasciafratte
de9c5a709e feat(fields): no time spent 2022-04-20 16:36:37 +02:00
Daniele Scasciafratte
26c6a778ec feat(ticket): disable timeline 2022-04-15 18:51:02 +02:00
Daniele Scasciafratte
5792587e3e feat(ticket): disable timeline 2022-04-15 18:48:21 +02:00
Benbb96
dc60d8a7f9 Add setting HELPDESK_ACTIVATE_API_ENDPOINT and document it 2022-04-15 00:05:51 +02:00
Benbb96
3e331c08fb Try to fix other tests 2022-04-14 23:45:19 +02:00
Benbb96
9320df0268 Fix a bug I introduced in earlier commit + fix one test 2022-04-14 23:30:42 +02:00
Benbb96
7e5ff05b02 Update documentation 2022-04-11 00:23:22 +02:00
Benbb96
31acfb11dd Add tests for the API 2022-04-11 00:16:54 +02:00
Benbb96
5701bf0229 Fix a bug with get_choices function which doesn't return anything if empty_selection_list is False 2022-04-11 00:15:48 +02:00
Benbb96
dbcd0fe6b4 Remove last_escalation field from serializer since it is a non-editable field 2022-04-11 00:15:11 +02:00
Benbb96
88b234958a Fix a bug when assigned_to or merged_to were not passed in body 2022-04-07 00:42:12 +02:00
Nick McCullum
55c638aeef some more template improvements 2022-04-04 15:27:50 -03:00
Nick McCullum
91229b9292 removed even more deprecated functionality 2022-04-04 14:52:52 -03:00
Nick McCullum
5388ece5ed removed more deprecated functionality 2022-04-01 16:36:19 -03:00
Nick McCullum
9444d1592d removed deprecated and template syntax 2022-04-01 16:20:15 -03:00
Garret Wassermann
2b33de6b37
Merge branch 'stable' into api-solution-1 2022-03-31 20:25:59 -04:00
bbe
e2cb881eb8 Create an API endpoint to list/create/update/delete tickets (ignoring custom fields) 2022-03-31 17:32:14 +02:00
bbe
1daa1d88aa Create an API endpoint to list/create/update/delete tickets (including custom fields !) + Refactoring in forms.py 2022-03-31 17:19:49 +02:00
Daniele Scasciafratte
946ca4b68c fix(kb): no db 2022-03-18 19:36:49 +01:00
Daniele Scasciafratte
7a3260a163 fix(kb): no db 2022-03-18 19:33:31 +01:00
Daniele Scasciafratte
347a70e497 fix(kb): no db 2022-03-18 19:21:17 +01:00
Nick McCullum
358080926c Added Django 4 support. 2022-03-16 22:29:09 -04:00
Garret Wassermann
909b7a5533
Merge pull request #999 from afranjin/bugfix/#998-user-settings-model-filed-name-typo
bugfix/#998-user-settings-model-filed-name-typo
2022-03-11 17:36:31 -05:00
Antun Franjin
b79d46e5b6 Replace href. 2022-03-11 15:46:20 +01:00
Antun Franjin
3ea2d1dd50 Use ticket absolute url and fix some more path on navigation ticket href. 2022-03-11 13:14:01 +01:00
Antun Franjin
3d793218f2 Fix wrong href.
The href path of don't delete button needs to be ../../../
2022-03-11 12:16:14 +01:00
Antun Franjin
fbadf23654 Fix typo in model field name in update_ticket.
email_on_ticket_assigned > email_on_ticket_assign
2022-03-11 11:03:16 +01:00
Garret Wassermann
7bcee909ef
give duplicate test a slightly more descriptive unique name 2022-02-22 01:13:24 -05:00
code-review-doctor
3206fd61c9 Fix issue duplicate-test-names found at https://codereview.doctor 2022-02-21 09:48:57 +00:00
Garret Wassermann
b85a84bc37 Update CDN link for bootstrap css 2022-02-09 05:50:03 -05:00
Garret Wassermann
ad37318c2c Update CDN links for jquery and bootstrap 2022-02-09 05:39:53 -05:00
Garret Wassermann
6ea9009dda Update jquery to 3.6.0 2022-02-09 05:32:00 -05:00
Garret Wassermann
ad519a2018 Reverse to latest bootstrap 4, which is 4.6.1 2022-02-09 05:29:22 -05:00
Garret Wassermann
4df831d4d6 Update bootstrap css to 5.1.3 2022-02-09 05:21:31 -05:00
Garret Wassermann
e0c0754543 Update to fontawesome 5.15.4 2022-02-09 05:15:14 -05:00
Garret Wassermann
075cdd4cdb
Merge pull request #991 from Benbb96/active-sidebar
Show active page in sidebar depending on the request path url
2022-01-27 07:58:48 -05:00
Timothy Hobbs
17a1e064e6 Undo PR #989 2022-01-27 10:27:49 +01:00
Benbb96
a2782c07f4 Show active page in sidebar depending on the request path url 2022-01-27 09:51:00 +01:00
Jon Renaut
7ac8d20cbe
Fix Javascript typo
This fix enables uploading new attachments to an existing ticket
2022-01-26 14:26:52 -05:00
Garret Wassermann
3695cfa19d
Remove comma in staff.py to address #988 2022-01-04 11:47:31 -05:00
Garret Wassermann
ae73fec2a0
Spellchecking in validators.py 2021-12-31 22:21:28 -05:00
Thomas Wheeler
345a713777 updated validate_file_extension() to look for defined VALID_EXTENTIONS in settings.py so its configurable 2021-12-31 14:59:37 -08:00
Garret Wassermann
0d79b6266d Backport patch for #985 2021-11-21 23:25:54 -05:00
Garret Wassermann
44abb19712 Backport #980, #981, #984 to 0.3 2021-11-19 00:30:20 -05:00
Garret Wassermann
e016e6699d fix minutes representation in models.py, see #978 2021-10-20 08:11:08 -04:00
Garret Wassermann
aff67184d4 Add attachment validator when uploading attachment to tickets 2021-10-05 06:25:42 -04:00
Garret Wassermann
a5f801bb52 use csrf tokens in all forms 2021-10-04 23:13:38 -04:00
Garret Wassermann
166d552fba Turn on secure cookie support if the server os environment expects to use secure connections 2021-09-27 22:12:32 -04:00
Garret Wassermann
e8efa4d263 Merge remote-tracking branch 'upstream/master' 2021-09-27 18:59:31 -04:00
Brendan Wood
6a0b367171 fix: strip extraneous whitespace characters that are returned in the Message-ID and In-Reply-To fields from some email providers 2021-09-23 10:07:12 -03:00
Garret Wassermann
66ed61ee6a Set default autofield to be compatible for django 3.2 2021-09-17 10:09:20 -04:00
Timothy Hobbs
247fd2e26d Don't show kbitems on dashboard if there are no unassigned tickets in them 2021-09-14 21:59:25 +02:00
Timothy Hobbs
650665b21e Fix wording of iframe ticket creation buttons 2021-09-13 23:55:49 +02:00
Timothy Hobbs
92caf5f284 Change ; to & when separating query params 2021-09-13 23:42:03 +02:00
Garret Wassermann
1559333993 Fix some docs and migrations in prep for 0.3 release, see #878 2021-08-20 02:05:21 -04:00
Timothy Hobbs
a9e5cfa52d Fix hidden field query args 2021-08-19 22:00:18 +02:00
Timothy Hobbs
b708b786d4 Add failing test for hidden field query args 2021-08-19 22:00:06 +02:00
Timothy Hobbs
f4b7e899fa Change query arg delimiter from ; to & 2021-08-19 22:00:01 +02:00
Garret Wassermann
610460dfd6
Merge pull request #965 from auto-mat/large-desk-performance
Fixes: performance and crash
2021-08-19 14:04:26 -04:00
Garret Wassermann
9c6e8574cc
Merge pull request #964 from regiov/pinax-remove
Remove hard dependency on pinax teams
2021-08-05 14:16:14 -04:00
Renato
563b28ed14
Merge branch 'master' into pinax-remove 2021-08-04 11:19:14 -03:00
Arkadiy Korotaev
86c4ceb1a8
fix(emails): Avoid 'value too long for type character varying(200) ' error when incoming message has too long subject 2021-07-29 13:14:42 +02:00
Timothy Hobbs
63bb949d63 Don't use redis cache at all for ticket querysets as this breaks pagination 2021-07-07 20:40:34 +02:00
Timothy Hobbs
f840136e1e Don't crash if use email is None 2021-07-07 20:38:20 +02:00
Arkadiy Korotaev
3285d5e1a8 feat(emails): Do not auto-reply on auto-replies and add auto-reply header for auto-replies and fix headers propagation for our email messages 2021-04-20 12:44:27 +02:00
Garret Wassermann
fe9ff2fdc4
Merge pull request #950 from koriaf/dev-pep8-stuff
chore(pep8): Fix bad imports, unused variables, pep8 warnings and some possible bugs
2021-04-19 23:44:03 -04:00
Arkadiy Korotaev
2b4c82fd1b
fix(email): Add ability to attach full first email text to avoid losing forwards, and to save .eml files for any incoming mesages, plus fix tests and some minor bugs 2021-04-19 21:15:24 +02:00
Garret Wassermann
012ba4f42d
Update email.py
Correct a typo so that imap code calls starttls() correctly.
2021-03-26 03:48:10 -04:00
Brendan Wood
9f99eb5ee6 fix: prepend file attachments with 'part-%i_' to prevent name collisions when an email has attachments with the same filename 2021-03-08 13:57:07 -04:00
Arkadiy Korotaev
c90811418a
chore(pep8): Fix bad imports, unused variables, pep8 warnings and some possible bugs 2021-03-05 09:37:21 +01:00
Arkadiy Korotaev
1713a86870
feat(forms): Ability to provide custom public ticket form 2021-03-02 12:06:21 +01:00
Tom Weber
9e3466a069 String Check, replace Nonetype with empty string 2021-02-24 08:20:27 -07:00