Commit Graph

808 Commits

Author SHA1 Message Date
Garret Wassermann
523329eab5 Merge 0.2.5 bugfixes and Django 2.0 changes 2017-12-28 07:43:10 -05:00
Garret Wassermann
5112f0dfd0 Address deprecation warnings to be compatible with Django 2.0 2017-12-28 07:23:51 -05:00
Garret Wassermann
0d2df19835 Fix collectstatic errors, as reported in #479 2017-12-28 06:04:05 -05:00
Garret Wassermann
142c291afb Merge 0.2.4 bugfixes 2017-12-18 00:45:36 -05:00
Garret Wassermann
e19666b729 Add a check that the email subject template includes the ticket ID to prevent problems, to address issue raised in #577 2017-12-17 23:47:48 -05:00
Garret Wassermann
8972baddda Remove dead jqplot code from report output, and remove unused jqplot plugin from static/ directory 2017-12-17 23:23:03 -05:00
Garret Wassermann
fca81ac38c Remove duplicate jquery files, update public_base to point to jquery included in vendor/ directory 2017-12-17 23:16:14 -05:00
Garret Wassermann
2d8d8dcf0c Remove offending comment in jquery-ui.min.css, as previously reported in #479 2017-12-17 23:09:12 -05:00
Garret Wassermann
230b9d7ed0 Fix broken try-except statement in lib, for #577 2017-12-15 20:35:41 -05:00
Garret Wassermann
03599f462b Catch exception when someone enters a non-integer text into the public ticket view form, #576 2017-12-15 20:28:39 -05:00
Garret Wassermann
1d63e25855 Improve permissions to view pages, to partially address #326 2017-12-15 17:18:54 -05:00
jeson_peng
6ff5799bef fix typo in new chinese support in emailtemplate, demo is ready at helpdesk.pengel.cn 2017-12-11 15:53:43 +08:00
Garret Wassermann
92b43ef495 Merge master 0.2.3 bugfixes into develop 2017-12-09 23:02:12 -05:00
jeson_peng
2007fcdc30 add translation for chinese, zh_Hans is the new locale support code for django 2017-12-09 18:52:39 +08:00
Garret Wassermann
a6c1469bfb Update zh_CN translation, see #571, thanks pjsong! 2017-12-08 11:53:27 -05:00
Garret Wassermann
47f92eba1e More PEP8 fixes for get_email 2017-12-06 02:59:50 -05:00
Garret Wassermann
9340e149d5 Wrap IMAP login attempt in a try except, log error if session timeout and exit script gracefully to prevent crashes, to address #568 2017-12-06 02:55:31 -05:00
Garret Wassermann
a2c10edb35 Fix bytes/str confusion in Py3 after address naked except 2017-12-06 02:28:18 -05:00
Garret Wassermann
c085dba901 Trying to actually fix naked except 2017-12-06 02:21:46 -05:00
Garret Wassermann
0b249e1693 Fix error importing django settings due to naked except 2017-12-06 02:11:45 -05:00
Garret Wassermann
bc0125421b Fix PEP8 errors detected by new pycodestyle script 2017-12-06 02:06:07 -05:00
Garret Wassermann
dffab1bb6a PEP8 fixes for test_get_email.py 2017-12-05 03:52:38 -05:00
Garret Wassermann
fca6b483f2 Add PGP signed email test case to get_email tests, for #567 2017-12-05 03:47:05 -05:00
Garret Wassermann
32cc5e2496 Patch for handling base64 encoding on Py 2 and 3, to address #567 2017-12-05 02:51:15 -05:00
Garret Wassermann
65c1d05eef Use BeautifulSoup to get text out of HTML-only emails, to address issue in #565 2017-10-31 03:24:04 -04:00
Garret Wassermann
8f375e1379 Address bytes/str issue with POP3 email in get_email script, to address #565 2017-10-31 01:24:26 -04:00
Garret Wassermann
6e2a16e5a6 Fixing unit tests for python3 for custom staff filters 2017-10-30 05:07:44 -04:00
Garret Wassermann
27ee01449e Add missing imports for custom staff filters 2017-10-30 03:41:49 -04:00
Garret Wassermann
3a1bd76e75 Merge custom staff filter, PR #239 2017-10-30 03:17:40 -04:00
Garret Wassermann
ee1cae07a4 Change ticket sorting via form, to fix #562 2017-10-28 10:47:46 -04:00
Manuel Saelices
36d4b7ec0d Merge branch 'master' into feat-raise-404-if-anon 2017-10-04 03:46:28 +02:00
msaelices
7b022fa1e0 If HELPDESK_ANON_ACCESS_RAISES_404 is True, it raises a 404 to anon users. It's like the helpdesk was invisible 2017-10-04 03:43:32 +02:00
zodman
f06cbce07c fix the python3 2017-09-27 12:50:51 -05:00
zodman
03a57bdc5f fix get_email from gmail imap 2017-09-27 12:40:47 -05:00
zodman
540531c916 fix css 2017-09-26 17:06:34 -05:00
Garret Wassermann
96cae9bdd5 Added better logging for case when IMAP folder may not exist when check IMAP messages, to address issue in #536 2017-09-13 01:44:36 -04:00
Garret Wassermann
478095ca7e Fix missing templatetag load, to address #549 2017-09-13 01:17:05 -04:00
Garret Wassermann
612a743069 Merge remote-tracking branch 'upstream/master' 2017-09-12 20:57:26 -04:00
Garret Wassermann
c69f752f1c Django 2.0 requires explicit parameters; must go back and change others 2017-09-12 20:57:10 -04:00
Will Stott
b99b55e426 Miscellaneous debug log additions. 2017-09-06 16:22:06 +01:00
Garret Wassermann
40ab600ad6 Merged in better handling of attachments, for #468 2017-08-30 15:18:22 -04:00
Garret Wassermann
1e11e227ff Update ticket_view for Python 2 and 3, to correct a 500 error in #494 2017-08-30 10:49:56 -04:00
Garret Wassermann
04a3c3ff5a Update decodestring to decodebytes for Py3 since string name was deprecated in py3.1 2017-08-30 10:48:16 -04:00
Garret Wassermann
043a40682f Merge pull request #494 from Heteroskedastic/issue#493
- issue #493: internal error 500 on save query
2017-08-30 10:40:46 -04:00
Garret Wassermann
c3eeb15b61 Merge pull request #540 from msaelices/master
Fix `AttributeError` while staff user does a mass update in some tickets using the `Close (Send E-mail)` action
2017-08-20 21:46:02 -04:00
Garret Wassermann
02b39adf8e Merge pull request #542 from msaelices/unicode-ticket-issue
Fix `UnicodeEncodeError` when ticket has an special char using python2 and user goes to the admin page.
2017-08-20 21:20:18 -04:00
Garret Wassermann
c781644e34 Merge pull request #518 from gwasser/fix_cc_user_email
Fix get_email issue when user does not have an email
2017-08-20 21:13:07 -04:00
msaelices
d264c46385 Fix UnicodeEncodeError when ticket has an special char using python2 and user goes to the admin page. 2017-08-21 02:15:07 +02:00
msaelices
f931dd4dba Fix AttributeError while staff user does a mass update in some tickets using the Close (Send E-mail) action. 2017-08-21 01:26:45 +02:00
Garret Wassermann
a0fb315c3b Fix PEP8 errors 2017-07-30 20:33:25 -04:00
Garret Wassermann
f6c323c9ab Fix binary attachments to outgoing email, and handle case when it is plain text, to address #502 2017-07-17 05:04:25 -04:00
Garret Wassermann
4e81d64390 Put es in list of common translation languages for settings 2017-07-17 03:56:22 -04:00
Garret Wassermann
c8ee3815ec Fix num_to_link error, was leaving off a letter of text if next to the ID, to address #511 2017-07-16 19:58:11 -04:00
Garret Wassermann
9fd170f707 Add test for num_to_link function 2017-07-16 19:53:05 -04:00
Garret Wassermann
a42a5b8aeb Add missing num_to_link in ticket description, to address #513 2017-07-16 19:38:30 -04:00
Garret Wassermann
8a49babfe5 Add documentation for new QUEUE_EMAIL_BOX_UPDATE_ONLY setting, to address #530 2017-07-16 19:30:59 -04:00
Garret Wassermann
9f9cdeec6c Show ticket ID in title of page so easier to use with many tabs open, to address #525 2017-07-16 19:24:16 -04:00
andresf01
d1f35f1299 Only update by email 2017-07-11 11:59:56 -05:00
andresf01
7386a45784 Fixed encoding error in get_email 2017-07-11 10:09:47 -05:00
andresf01
db223abe27 Added email footer (es) 2017-06-28 11:27:10 -05:00
Garret Wassermann
9bda30d09f Merge pull request #522 from gwasser/update_statics
Update statics
2017-06-25 20:45:39 -04:00
Jonas Schnelli
a40bbdbecb
Make sure binary MIME attachments will be base64 decoded 2017-06-20 08:35:43 +02:00
Daryl Egarr
ef0ba19a3b Enhancements to Admin (#524)
* Add columns to the IgnoreEmail admin page including a calculated column of the queues the ignore relates to.

* Add columns to the IgnoreEmail admin page
including a calculated column of the queues the ignore relates to.

* Revert "Merge pull request #519 from mrkiwi-nz/master"

This reverts commit 410f59ad16, reversing
changes made to fde06d3ab1.

* Add columns to the IgnoreEmail admin page
including a calculated column of the queues the ignore relates to.

* Merge pull request #519 from mrkiwi-nz/master

Added some helpful columns and filters to the follow-up list page.

* Add more columns to the IgnoreEmail admin page
including a calculated column of the queues the ignore relates to.
2017-06-19 14:34:36 -04:00
Daryl
55a69efcf9 Added some helpful columns to the follow-up list page. 2017-06-14 16:20:55 +12:00
Garret Wassermann
e8d1ffbe21 Fix issue where a django user may not have an associated email address and therefore get_email.py will barf 2017-06-14 00:00:31 -04:00
Chris Coetzee
399e01b04c Make saved_queries.py printing python 3 compatible 2017-06-09 22:43:48 +02:00
Garret Wassermann
11b9959127 Remove the assigned_cc html tag from the fixtures, typo? 2017-06-03 17:28:12 -04:00
andresf01
559a5a4a43 Added 'es' translation to email templates 2017-06-02 11:44:49 -05:00
andresf01
5c16f3ba50 Email templates translated to es until pk:90 2017-06-01 17:34:25 -05:00
Garret Wassermann
23898fbf35 Update flot-tooltip to 0.9.0 2017-05-26 16:05:19 -04:00
Garret Wassermann
1e9c4888b9 Update flot to 0.8.3 2017-05-26 16:03:55 -04:00
Garret Wassermann
126cea454b Update bootstrap-social to 5.1.1 2017-05-26 15:58:59 -04:00
Garret Wassermann
8c4c1aa274 Update datatables Responsive plugin and move to datatables directory 2017-05-26 15:56:43 -04:00
Garret Wassermann
1471f5d799 Update datatables to 1.10.15 2017-05-26 15:34:10 -04:00
Garret Wassermann
f2aa616a14 Update metismenu to 2.7.0 2017-05-26 15:30:04 -04:00
Garret Wassermann
59be4b8a9b Update morris.js to 0.5.1 (actually mostly just add README, we already had 0.5.1 but it was incorrectly labeled in files from website 2017-05-26 15:27:38 -04:00
Garret Wassermann
f05f45adce Update raphael.js to 2.2.1 2017-05-26 15:24:34 -04:00
Garret Wassermann
b0677037ff Update jquery-ui to 1.12.1 2017-05-26 15:12:41 -04:00
Garret Wassermann
e41feab14e Update jquery to 3.2.1 2017-05-26 14:55:32 -04:00
Garret Wassermann
9cec1d8d93 Update font-awesome to 4.7.0 2017-05-26 14:46:33 -04:00
Garret Wassermann
fb6e8b0566 Remove offending comment in jquery ui css to address an issue brought up in #479 2017-04-20 03:06:10 -04:00
Garret Wassermann
d13e87bd3b Last PEP-8 fix? 2017-04-20 02:54:35 -04:00
Garret Wassermann
45c457ead2 More PEP-8 fixes on test_get_email 2017-04-20 02:49:06 -04:00
Garret Wassermann
47f3eb8e89 PEP-8 fixes 2017-04-20 02:44:12 -04:00
Garret Wassermann
bf344b09b1 Check CC'd email against list of User emails, and add the User to the ticket if necessary and not already the assignee, etc. 2017-04-20 02:36:10 -04:00
Garret Wassermann
8963fa694a Prevent adding Users or Queue email to the CC list 2017-04-19 23:47:58 -04:00
Garret Wassermann
220c0460e1 Check number of CCs to ensure no duplicates made it through 2017-04-19 00:04:16 -04:00
Garret Wassermann
34ce553435 Only add CC emails to Ticket if they were not already included (no duplicates), add testing for it 2017-04-18 23:36:39 -04:00
Garret Wassermann
3b22bb655a PEP8 fixes for too many blank lines 2017-04-16 05:14:30 -04:00
Garret Wassermann
e3a378625c Add test with django template tag in email body, to ensure we test for and fix #72 in future changes 2017-04-16 05:10:51 -04:00
Garret Wassermann
8e1a6b30fa Fix encoding first before splitting strings, so it works on Python 2 2017-04-16 04:59:57 -04:00
Garret Wassermann
7b8426596f Separate out the CC test from plain test so we're testing both possibilities (with and without a CC) 2017-04-16 04:51:46 -04:00
Garret Wassermann
49aac657a9 PEP8 fixups 2017-04-16 04:44:16 -04:00
Garret Wassermann
b2ac1fd3a5 #95: save CC'd emails on a comment to the Ticket for future correspondence, set to view only initially, and update tests for CC 2017-04-16 04:19:17 -04:00
Garret Wassermann
01e87f2cb8 #72: Prevent django template tags from being executed in followup comments 2017-04-16 03:24:39 -04:00
Will Stott
fb0782294e Don't show error on initial get. 2017-04-13 11:36:38 +01:00
Will Stott
b7a97183cb Never return None from views.public.create_ticket
Would create a 500 when user omitted their email. Only a partial improve. Added a TODO: as this view still breaks if passing non-numeric characters to the ID.

I assume this needs a full overhaul really.
2017-04-13 11:30:29 +01:00
Jonathan Barratt
d843a21ea7 Merge branch 'master' into master 2017-04-06 08:21:43 +07:00
Garret Wassermann
9531b9649a Fix errors in Python 2, used six to workaround encoding weirdness, all tests pass on both Py2/3 2017-04-03 02:52:49 -04:00
Garret Wassermann
5ec985af9b Add explicit encoding hint to top of file to allow Python 2 to read file with Unicode characters, in accordance with PEP-263 2017-04-03 02:34:54 -04:00
Garret Wassermann
0fb9094d01 Remove line for PEP8 2017-04-03 02:29:28 -04:00
Garret Wassermann
f43ef69ec1 Add a MIME multipart email test for get_email 2017-04-03 02:19:29 -04:00
Garret Wassermann
74a7afadb9 Update get_email test to use unicode characters; seem to have found an encoding errory in get_email, provided a fix that satisfies test 2017-04-03 01:53:25 -04:00
Garret Wassermann
194082750d Merge remote-tracking branch 'upstream/master' into 487_new_test 2017-03-31 14:29:19 -04:00
Jonathan Barratt
19799572c9 Merge pull request #499 from Yuego/master
Migration added
2017-03-31 19:51:58 +07:00
Jonathan Barratt
6deb0caf96 Merge pull request #497 from gwasser/update_es_MX
Update es_MX translations
2017-03-31 19:37:18 +07:00
Yuego [Home]
5629276050 Migration added 2017-03-26 10:24:32 +04:00
Garret Wassermann
d3c713333d Update es_MX translations on behalf of @andresf01, for #496 2017-03-17 10:00:37 -04:00
pprolancer
babc7586cf - issue #493: internal error 500 on save query
https://github.com/django-helpdesk/django-helpdesk/issues/493
2017-03-12 19:58:57 +03:30
Yuego [Home]
d8ff278697 Russian translation update 2017-03-08 23:05:26 +04:00
Yuego [Home]
dfdb12e354 Fix link translation 2017-03-08 23:01:31 +04:00
Garret Wassermann
6fec1015c3 Work in progress on unicode chars 2017-02-15 18:51:20 -05:00
Michael Huang
b263b22cca Wrap message.encode() in conditional for Python 2 2017-02-14 14:58:16 -08:00
Michael Huang
f16a196c69 Fix logout URL 2017-02-14 14:38:48 -08:00
Michael Huang
dc851fc557 Force message to be unicode to avoid encoding issues 2017-02-14 12:34:53 -08:00
Garret Wassermann
2164c3bc4d Change queue permission_name from 50 chars to 72 chars (#484)
* Change queue permission_name from 50 chars to 72 chars to accomodate slug + prepended text, to resolve #483
2017-02-12 17:33:53 +07:00
Jonathan Barratt
fe92880928
do not throw exceptions for invalid/non-UTF8 IMAP content 2017-01-14 01:25:43 +07:00
Jonathan Barratt
b5feeb7ee9
Make SOCKS-proxy support global for all queues under Py3
Python 2 retains per-queue SOCKS-proxy support, but this is simplest fix until someone needs it for Python 3.
2017-01-14 01:25:17 +07:00
Alex Seeholzer
a2315eb0c4 added pep8 fix and missing migration 2017-01-13 17:39:56 +01:00
Alex Seeholzer
645f196848 Added tests covering the usersettings_helpdesk occurrences 2017-01-13 17:37:10 +01:00
Alex Seeholzer
4e018db5a6 Added unique related_name “usersetttings_helpdesk” for the one-to-one relation to User in UserSettings. 2017-01-13 15:22:41 +01:00
Jonathan Barratt
2f66c50320
Make helpdesk work in apps with their own queue models
To avoid returning multiple content types when creating custom permissions, use ContentType.objects.get_for_model to lookup the content type for helpdesk.models.queue.
2017-01-13 17:52:29 +07:00
User
787c3aa4f5 make old subject_part pretty 2017-01-09 00:30:36 +01:00
User
b7baf2bf56 fix for error:BadHeaderError: Header values can't contain newlines when running get_email. caused by subject_part being repeated, but second time doesnt strip newlines 2017-01-08 18:52:24 +01:00
Jonathan Barratt
8a2e6c087e
hotfix for #470: datatables error on empty ticket list
handle the no tickets match query case with js rather than python for DataTables compatibility
2017-01-03 00:42:12 +07:00
Pawel M
8f751691a4 whitespace removed 2016-12-16 10:38:15 +01:00
Pawel M
97b3444a92 if files condition restored 2016-12-16 10:36:00 +01:00
Pawel M
fc0ae58420 lib as reduxionist + read binary mode 2016-12-16 10:30:50 +01:00
Garret Wassermann
3c6b522464 Fix form end tag placement, and remove duplicate unstyled query box 2016-12-13 23:45:43 -05:00
Pawel M
df7920cd2e missing imports added 2016-12-14 00:04:38 +01:00
Pawel M
3a372fbcb4 White space removed 2016-12-13 23:40:36 +01:00
Pawel M
f5b68772cf Downloaded attachment was not decoded and additionally encoded by default django method (its size after download is bigger than originally attached file). This is the reason why it is illegible 2016-12-13 23:31:26 +01:00
Pawel M
9939f62ebd Attachement should be readed in binary mode ... and attached as payload (regarding docs) 2016-12-13 23:28:16 +01:00
Pawel M
e7c4131ed7 Attachement should be readed in binary mode ... and attached as payload (regarding docs) 2016-12-13 22:43:14 +01:00
Jonathan Barratt
8dbd54ac16
stop corrupting binary attachments when delivering them by email
We accomplish this by attching files to out-bound mail diffrently
depending on the versino of Python in effect. In Py2 we can read
the files ourseles and the standard library will still
be able to use the text we pass as if it were bytes. Under Py3,
however, email.message will complain if it doesn't get to decode
the bytes itself, so instead of attaching the contents directly
 we just pass the path to the file as a string instead. Unfortunately,
Django 1.8 does not work with this Python 3 approach, due to its
 not yet having reverted to the newly improved standard library's
mail-message implementation, and thus requiring us to know more
about the character-encoding/mimetype of the attachment than I've
been able to gather cleanly by this point.
2016-12-13 19:41:13 +07:00
Jonathan Barratt
e82e5fcd5f
urlquote email address when used as get query param 2016-12-11 06:20:03 +07:00
Pawel M
94c39cba69
solves Title changed to . (Null title) on failed attachment upload. 2016-12-11 06:00:05 +07:00
Jonathan Barratt
5acd891c68
refactor all handling of attached files
Extract attachment processing from forms, views.staff, and management.command.get_email modules, and consolidate it into a unified lib module function.
Also refactor the affected components, most notably lib.send_templated_email, to make it easier (IMO) to reason about changes to them.
Add unit tests for attachments with UTF-8 filenames, and functional tests for submission of same, as well as ASCII versions, through the public ticket-form.
Remove unused Attachment method "get_upload_to".
2016-12-08 19:47:20 +07:00
Jonathan Barratt
391e35065c
per code review, update safe IP addr/port constants, remove commented-out code, and add comments to unexplained code 2016-12-06 09:55:22 +07:00
Jonathan Barratt
e8d0c5b2c7
implement mocked pop3 and imap tests for get_email
also update travis to latest django patch releases
2016-12-02 19:04:52 +07:00
Alex Seeholzer
399b0901f6
newer version of tests 2016-12-02 17:40:46 +07:00
Alex Seeholzer
72a99cc99a
Moved existing test for local mailbox into generation of tests for matrix of email configurations; 2016-12-02 17:40:46 +07:00
Jonathan Barratt
3cfa371199
hotfix for #456: patch calls to ticket_from_message
add logger arg where missing in get_email
2016-11-29 00:46:42 +07:00
Jonathan Barratt
cac3267e82 Merge pull request #454 from reduxionist/prune-legacy-code
Prune legacy code
2016-11-21 20:32:35 +07:00
Jonathan Barratt
45a8ce98ac Merge pull request #455 from gwasser/ticket_list_view
Use HTML5 table ordering based on Unix epoch
2016-11-21 20:29:13 +07:00
Garret Wassermann
04f27fdcff Use HTML5 table ordering based on Unix epoch 2016-11-21 00:12:24 -05:00
Jonathan Barratt
7738bba2ab
remove special-case imports for legacy versions
standardise use, or avoidance, of timezone, template from_string, and Context
2016-11-21 10:16:03 +07:00
Will Stott
f34696df8d Use Django's six module for StringIO imports. 2016-11-17 11:25:46 +00:00
Garret Wassermann
97a24fbe22
Ensure that local files are deleted after processing, and add some information about it to the install.rst documentation 2016-11-12 11:32:04 +07:00
Jonathan Barratt
ebfea8274d
convert reverse-URL lookups to helpdesk namespace
in views.staff, this fixes:
-run_report's no-tickets-found redirect to report_index
-del_attachment's redirect to parent ticket view after deletion
2016-11-11 10:31:37 +07:00