Commit Graph

1232 Commits

Author SHA1 Message Date
Timothy Hobbs
e96f1559e7
Add celery task for get_email
Allows you to get_email even without cron, thus enabling the use of django-helpdesk of cronless PaaS services.
2018-11-08 14:39:37 +01:00
Garret Wassermann
27774f6551 Update to SBAdmin 5.0.2 2018-11-03 22:42:29 -04:00
Garret Wassermann
bb4178b477 Merge develop branch into bootstrap4 2018-11-03 22:40:03 -04:00
Timothy Hobbs
09d8f8c488
Try to obey UserSettings when sending emails 2018-11-01 19:32:34 +01:00
Timothy Hobbs
6c37d73d4e
DRY out email sending code and normalize behavior
This refactor removes duplicated logic for deciding whom the messages get sent to.
It also normalizes behavior ensuring that all CCed addresses are sent to in all cases that CCed individuals should be notified.
2018-11-01 14:56:17 +01:00
Timothy Hobbs
9a45d28c95
More refactors of get_email.py 2018-10-31 16:30:19 +01:00
Timothy Hobbs
97e23e86f0
Small refactor get_email.py 2018-10-31 16:30:16 +01:00
Garret Wassermann
5f6a6fe8c5
Merge pull request #653 from auto-mat/user_settings_fix
Transform UserSettings into a normal django model
2018-10-25 18:27:40 -04:00
Timothy Hobbs
3f6ae1aefe
Transform UserSettings into a normal django model 2018-10-25 17:54:37 +02:00
shashwat1002
e0c03996ad add a new field to KBItem model to keep track of all users who voted, and make changes to the vote function so that it checks whether a user has already votred 2018-10-17 23:09:43 +05:30
Garret Wassermann
150f18e9b5 Merge branch 'develop' into bootstrap4 2018-10-15 14:14:38 -04:00
Garret Wassermann
2b11a0e11a PEP8 formatting fixes 2018-10-15 13:56:54 -04:00
Dilip Dwarak
fc028334d9 Added optional serverside processing on datatables that lists all tickets - True by default 2018-10-14 20:23:28 -04:00
Timothy Hobbs
caaa0e5158
Include ticket secret in path to new attachments in order to reduce URL guessability. 2018-10-06 21:23:44 +02:00
Garret Wassermann
7bad004780
Merge pull request #645 from auto-mat/login_wall_settings
Login wall systems settings page
2018-09-12 10:30:54 -04:00
Timothy Hobbs
b4aafb0b54
Fix knowledge base categories display on public homepage 2018-09-12 15:29:36 +02:00
Timothy Hobbs
75632ddae4
Login wall systems settings page
Fixes #642
2018-09-12 14:43:57 +02:00
Garret Wassermann
8f57f9d64a Update templates to use bootstrap4form 2018-09-09 03:54:56 -04:00
Garret Wassermann
bd42f62465 Allow easier customization by importing helpdesk-customize.css 2018-09-08 23:58:45 -04:00
Garret Wassermann
fd5c356820 Merge branch 'develop' into bootstrap4 2018-09-08 22:30:18 -04:00
Timothy Hobbs
c1750a7461
Require a secret key for viewing tickets unless HELPDESK_VIEW_A_TICKET_PUBLIC is set
Fixes #629, #639
2018-09-08 21:29:59 +02:00
Timothy Hobbs
ffc97338c9
Submit ticket link should work for non-logged in users 2018-09-07 19:10:57 +02:00
Timothy Hobbs
a12abab219
Not all fields are required
- For example, you don't have to upload an attachment.
2018-09-05 20:28:16 +02:00
Garret Wassermann
e373d5b9d8
Merge pull request #636 from auto-mat/rss-permissions
Only staff users should be given access to the RSS feeds
2018-09-03 18:52:16 -04:00
Timothy Hobbs
58cc18d049
Only staff users should be given access to the RSS feeds 2018-09-03 20:29:22 +02:00
Garret Wassermann
f123d78184 Continuing work on new bootstrap4 interface 2018-09-02 23:27:39 -04:00
Garret Wassermann
b610a5f492 Update breadcrumbs on ticket pages 2018-09-02 05:27:39 -04:00
Garret Wassermann
eabf32d91b Navigation is Bootstrap 4 and SB Admin 5.0 now 2018-09-02 04:36:16 -04:00
Garret Wassermann
ac0eb7d27b Sync with v0.2.10, update python classifiers 2018-09-01 23:20:15 -04:00
Timothy Hobbs
082b6b88f3
Add user profile links for submiters who have profiles 2018-08-30 12:53:46 +02:00
Timothy Hobbs
13539e3056
Fix tests 2018-08-30 12:03:54 +02:00
Adrian Boyko
4526d7c537
Fixed login/logout for Django 2.1.
In django.contrib.auth.views, the login and logout funcs are removed as of Django 2.1.  Helpdesk's urls.py needs to be updated to use the LoginView and LogoutView classes instead, which were introduced in Django 1.11.
2018-08-19 18:59:08 -07:00
Garret Wassermann
c70cf04e4d Fix codestyle errors, use currying instead of lambdas for determing user access 2018-07-19 00:06:57 -04:00
Garret Wassermann
f9dda0a8fa Merge branch 'master' into develop to get date format patch 2018-07-13 01:11:02 -04:00
Garret Wassermann
fbddbd6f6e Fix date format validation error reported with 0.2.8 release 2018-07-13 01:10:25 -04:00
Garret Wassermann
dff14d40d3 Merge 0.2.8 bugfixes 2018-07-03 00:59:33 -04:00
Garret Wassermann
9cb32f83ca Minor PEP8 changes 2018-07-03 00:32:23 -04:00
Garret Wassermann
d1e57d70b0 Use jQuery datepicker widget when editing a ticket, for comment part of #616 2018-07-03 00:24:20 -04:00
Garret Wassermann
4d78bc85ca Update due date correct when adding followup to ticket, for #616 2018-07-03 00:20:51 -04:00
Garret Wassermann
d0cf8426d0 Add Due Date column to ticket list and in description table for individual ticket page 2018-07-02 22:07:59 -04:00
Garret Wassermann
b40e9dd5ea Fix bug while importing django version for #613 2018-06-27 02:37:35 -04:00
Garret Wassermann
15985e286f Fix saved queries when running in Django 2.0+, for #613 2018-06-27 02:27:24 -04:00
Garret Wassermann
08fc9b5aac Check format of DEFAULT_FROM_EMAIL before creating messages, to address #608 2018-06-27 02:10:20 -04:00
Garret Wassermann
c3bf39a3b9 Fix bad URL when canceling query deletion, to address #615 2018-05-10 02:14:59 -04:00
Garret Wassermann
2cf1a32a10 Fix deprecated escape sequence warning for Py3.7, ignore W503,504 2018-05-10 01:42:09 -04:00
Garret Wassermann
a361e76999 Update akismet code for python 3, to address #607 2018-04-20 03:27:26 -04:00
Garret Wassermann
ff95fa5d6a
Merge pull request #603 from andreyyudin/master
Replacement of hard-coded SQL query for issue #601
2018-03-29 22:00:23 -04:00
Patrick Mithamo
d372e337c6 Fix imaplib 'IMAP' module reference to 'IMAP4'
On IMAP login error: 'imaplib' has no 'IMAP' member; maybe 'IMAP4'
2018-03-29 01:51:24 +03:00
Andrii Iudin
764c55e60e Removed unused dash_tickets variable and its calculation, modified the
case where it is used to rely on model query APIs rather than on raw
queries that use the default database and are not forwarded by routers.
2018-03-26 13:46:07 +01:00
Garret Wassermann
c71355cfdc is_authenticated is a bool now not a function 2018-03-04 04:24:30 -05:00
Garret Wassermann
54a6b1d21b Merge 0.2.7 bugfixes 2018-03-04 04:01:48 -05:00
Garret Wassermann
fef08082de Fix PEP8 errors in get_email 2018-03-04 02:14:39 -05:00
Garret Wassermann
3c456873a5 Fixes for Python 3 and Django 2.0 2018-03-04 01:52:58 -05:00
Garret Wassermann
283f5e9cec More bugs processing mail under python 3, on behalf of @spamandeggs for #590 2018-03-03 19:32:47 -05:00
Garret Wassermann
ed5f86c583 Suppress empty whitespace from edit buttons in ticket follow-up list, patch for #596 2018-02-27 20:21:03 -05:00
Garret Wassermann
7982774ee1 Apply hotfix for get_email fails, #590 2018-02-27 20:18:51 -05:00
vzagorovskiy
40af08ee84
Attribute color is not allowed here 2018-02-24 10:33:14 +03:00
Sourav Basu
2f0f30faa6 Renaming migration 2018-02-20 16:34:33 +05:30
Sourav Basu
c1ead6dc75 Adding missing migrations 2018-02-20 16:29:08 +05:30
Garret Wassermann
95ee61fe90 Fix PEP8 errors 2018-02-16 05:04:10 -05:00
Garret Wassermann
113880bc3a Compare user IDs to determine if same user, and add simple test case, to fix #588 2018-02-16 05:00:22 -05:00
Garret Wassermann
55b55edb90 Fix bug in get_email where HTML tags sometimes included in text, reported in #565 2018-02-13 22:25:50 -05:00
Garret Wassermann
45115ba5c7 Actually fix #582 according to quickcheck unittests 2018-02-07 03:01:27 -05:00
Garret Wassermann
73698e8873 More testing 2018-02-07 02:53:40 -05:00
Garret Wassermann
31887504fd seperate out text for better logging of error 2018-02-07 02:46:13 -05:00
Garret Wassermann
0bddf819f7 merge upstream 2018-02-07 02:16:41 -05:00
Garret Wassermann
a10c662207 Patch for #582, POP3 processing error on py3 2018-02-07 02:14:28 -05:00
Garret Wassermann
2852e7ba28
Merge pull request #586 from aesdev/master
Fix for Email Issue while pulling CC and ValueError for public homepage
2018-01-12 13:55:01 -05:00
Dilip Dwarak
cf85c3d9ab Fixe for Email Issue while pulling CC and ValueError for public homepage 2018-01-11 14:49:21 -05:00
Garret Wassermann
75f54dd233 Testing quicktest.py 2018-01-11 02:19:49 -05:00
Garret Wassermann
ed0596e430
Merge branch 'master' into feature-public-ticket-defaults 2018-01-10 13:18:29 -05:00
Arne Brutschy
f3e52a2f12 Adds pre-defined values for public tickets
This commit adds three new settings that allow the operator to
pre-define the `queue`, `priority` and `due_date` fields for public
tickets. If one of these settings are present the corresponding input
field is hidden from the form.

The settings are the following:

    HELPDESK_PUBLIC_TICKET_QUEUE = 'website'
    HELPDESK_PUBLIC_TICKET_PRIORITY = 2
    HELPDESK_PUBLIC_TICKET_DUE_DATE = ''

If the due date is set to the empty string, no due date is saved in the
ticket (analogously to the form). The other settings should be
self-explanatory.
2018-01-09 14:53:05 +01:00
Garret Wassermann
bad1ece1c5 Remove offending CSS comment again to address #479 2017-12-29 01:03:16 -05:00
Garret Wassermann
31b49ab2f6 Merge branch 'master' into develop 2017-12-28 09:32:14 -05:00
Garret Wassermann
aa63e8f299 Really fix py 2 imp/importlib 2017-12-28 09:26:14 -05:00
Garret Wassermann
4b78704180 Fix error on python 2 2017-12-28 09:22:57 -05:00
Garret Wassermann
3ccd6c8dc8 Merge 0.2.6 Django 2.0 updates 2017-12-28 09:16:01 -05:00
Garret Wassermann
d18ce1f1d5 Bump version to 0.2.6 to fix remaining Django 2.0 warnings 2017-12-28 09:11:34 -05:00
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
Alex Barcelo
b0b68b9541 drop south_migrations folder 2016-11-02 17:22:47 +01:00
Alex Seeholzer
62163eaf0e patch: implicit closing of open files; 2016-11-01 15:03:51 +01:00
Garret Wassermann
2a7d82413b Miscellaneous improvements from review of #419 2016-10-31 02:57:08 -04:00
Garret Wassermann
37b9d332de Fix some more missing namespace references for login and kb_category 2016-10-31 02:19:41 -04:00
Garret Wassermann
c74208325b Removed test_per_queue_staff_permission assertion, report_index no longer returns unassigned_tickets 2016-10-31 02:06:49 -04:00
Garret Wassermann
26f4987726 Fix a missing helpdesk namespace reference in report_index.html 2016-10-31 01:42:45 -04:00
Garret Wassermann
194641613c Sync with upstream, merged in AbstractForm with bootstrap class 2016-10-31 01:38:49 -04:00
Alex Barcelo
abd6fdcebe simplifying if-case branches on CustomFieldMixin 2016-10-30 20:53:18 +01:00
Alex Barcelo
cce12181f0 refactoring single-letter variables into better names 2016-10-30 20:43:05 +01:00
Alex Barcelo
681a1893bd missed a refactoring 2016-10-30 08:42:05 +01:00
Alex Barcelo
d8d10fae90 DRY in *TicketForm --by adding an Abstrat~ one 2016-10-30 08:39:17 +01:00
Alex Barcelo
bea6fbf75a fixing a deprecated usage, and adding a minor branch control 2016-10-30 08:38:49 +01:00
Garret Wassermann
adf2b16c2c Fix namespaces in test 2016-10-29 04:33:27 -04:00
Garret Wassermann
dc25164304 More PEP8 changes (hopefully last) 2016-10-29 04:27:29 -04:00
Garret Wassermann
4cf46156f1 More PEP8 changes 2016-10-29 04:20:16 -04:00
Garret Wassermann
1f1d477a35 Sync again with master 0.2 2016-10-29 04:11:41 -04:00
Garret Wassermann
d791700582 Fix PEP8 errors 2016-10-29 04:08:57 -04:00
Jonathan Barratt
28308d19fb
cleanup build-breaking whitespace merge errors 2016-10-29 14:59:14 +07:00
Garret Wassermann
cad174468b Sync with namespace and other v0.2 changes 2016-10-29 03:47:15 -04:00
Jonathan Barratt
26c0f2e59f Merge pull request #441 from alexbarcelo/api-prune
Remove all the deprecated API related files and references
2016-10-29 14:12:31 +07:00
Alex Barcelo
53ed0d3a2c Remove all the deprecated API related files and references 2016-10-29 08:50:13 +02:00
Jonathan Barratt
43c067dd4f
merge changes from updated master 2016-10-29 13:35:03 +07:00
Jonathan Barratt
790f1fc003 Merge pull request #374 from alexbarcelo/urls_app_name
Set app_name as 'helpdesk' at the urls.py, and droping url prefixes
2016-10-28 15:59:29 +07:00
Alex Barcelo
6761ad6c10 fixing RST syntax for docstring on akismet.py 2016-10-26 10:22:15 +02:00
Alex Barcelo
f017adea63 fixing those two python files 2016-10-24 10:05:41 +02:00
Alex Barcelo
89a6ae01b8 Fixing style (according to branch 'autocodestyle') + quicktest 2016-10-24 08:04:31 +02:00
Alex Barcelo
179ceb2f82 fixing style on tests 2016-10-23 22:10:32 +02:00
Alex Barcelo
30e3aa55aa almost auto-fix on misc files 2016-10-23 22:09:17 +02:00
Alex Barcelo
3c35473265 fixing views.py (except deprecated api) 2016-10-23 22:02:02 +02:00
Alex Barcelo
24d88be8d9 Initial general clean-up of stuff 2016-10-21 17:14:12 +02:00
Garret Wassermann
d7875587b7 Revert previous change 2016-10-20 12:05:28 -04:00
Garret Wassermann
884662dd21 Ensure binary data is returns so Django can decode it 2016-10-20 11:46:09 -04:00
Garret Wassermann
dfb7987ebb Remove emails from queue in test_get_email 2016-10-20 11:17:51 -04:00
Garret Wassermann
197fad99d2 Remove mail templates since we're not testing them here; might be good to include a test for this elsewhere 2016-10-20 02:48:14 -04:00
Garret Wassermann
5e93297787 Fix call_command options for correct format to work with Django 1.7+ 2016-10-20 02:29:23 -04:00
Garret Wassermann
6418194b85 Fix command line arg for Django 1.7 and make Python 2 and 3 compatible test 2016-10-20 02:21:43 -04:00
Garret Wassermann
9606201200 Fix mock tests for get_email (hopefully for good this time) 2016-10-20 02:09:05 -04:00
Garret Wassermann
b7ef83f7d2 Check that folder is a dir before checking for mail using get_email; fix unit test for --quiet 2016-10-20 01:39:24 -04:00
Garret Wassermann
e3c9e04feb Fix python module naming in get_email test 2016-10-20 01:25:16 -04:00
Jonathan Barratt
af893bdcc8 Merge pull request #428 from jflesch/master
Fix form translations
2016-10-20 12:16:31 +07:00
Daryl
3b181e87ef
Fix inconsistent indentation 2016-10-20 11:43:22 +07:00
Garret Wassermann
c9c7642724 New unit test for get_email command 2016-10-19 21:37:23 -04:00
Garret Wassermann
f61d180e5d use django.utils.six instead of plain six 2016-10-19 20:02:12 -04:00
Alex Barcelo
91afbb9755 fixing some additional reverse stuff 2016-10-19 15:30:37 +02:00
Alex Barcelo
afd6ebad74 Merge current 'master' state into urls_app_name 2016-10-19 15:26:04 +02:00
Jerome Flesch
74668f30d5 forms.py : To get the translations for the fields' labels, use ugettext_lazy() instead for ugettext().
ugettext() loads the translations at the same time the module is loaded (--> always in english).
ugettext_lazy() loads them when they are needed (--> when the user makes a query --> we known the language the user wants based on the header of their HTTP request)

Signed-off-by: Jerome Flesch <jflesch@gmail.com>
2016-10-18 15:37:57 +02:00
Jerome Flesch
0ad110ec7f forms.py: cleanup whitespaces
Signed-off-by: Jerome Flesch <jflesch@gmail.com>
2016-10-18 15:35:41 +02:00
meomap
96f4fecb71 add setting for fallback locale 2016-10-14 15:04:28 +07:00
Ross Poulton
138904bf8b Update project URLs per #424 2016-10-12 11:14:10 +11:00
Ross Poulton
1f4ca64ef4 Update translations (part of #424) 2016-10-12 10:54:24 +11:00
Antoine Nguyen
50955cb8f6 Fixed Meta class definition for TicketCustomFieldValue. 2016-10-07 11:00:25 +02:00
Garret Wassermann
3f620e83a2 Update style of Ticket FollowUp list to be a timeline 2016-09-27 17:29:59 -04:00
Garret Wassermann
929ec49fa8 Apply styling to KB pages. Minor tweak to dashboard. 2016-09-27 14:36:52 -04:00
Garret Wassermann
414f7e7c03 Make Knowledgebase categories nicer; include jQuery UI for DatePicker on new ticket form 2016-09-27 13:16:28 -04:00
Garret Wassermann
186b4ad8e2 Some of CSS changes were not included due to a conflict in the gitignore file. Updated gitignore and added missing CSS directory. 2016-09-27 10:57:21 -04:00
Garret Wassermann
f313b5c374 Added more logging statements, cleaned up a few others 2016-09-16 00:28:13 -04:00
Garret Wassermann
a4ad602f39 Remove unnecessary imports, clean up python3 handling code to use native str() 2016-09-15 22:51:00 -04:00
Garret Wassermann
e5c3c4a435 Used six to add python3 compatibility along side existing python2, and replaced print statements with logging features. Can now poll a local directory for mail too, not just remote POP3/IMAP. 2016-09-14 20:35:18 -04:00
Garret Wassermann
6a86a0106a Updated report_index() to remove the context= so it matches the syntax of dashboard() function. 2016-09-13 00:31:56 -04:00
Garret Wassermann
bf55ab7f8c Oops, forgot to change one more URL from dashboard to report_index 2016-09-13 00:13:52 -04:00
Garret Wassermann
fe54d81022 Update unit test for backend changes to dashboard and statistics pages 2016-09-13 00:06:38 -04:00
Garret Wassermann
4203f352d9 Completely resolved jQuery issue with multiple file attachment submission on a single FollowUp due to CSS styling of file input buttons. It's really ridiculous you have to do this, but whatever. It works as expected. 2016-09-12 23:18:01 -04:00
Garret Wassermann
3002cf689c Fix CSS styling of Status radio buttons on Ticket Comment form 2016-09-12 22:54:51 -04:00
Garret Wassermann
76241b8661 Fix jQuery error with adding multiple attachments to a single FollowUp. It work when adding files one at a time but gets a little funny when adding more than one input field at a time. Also, moved RSS Feeds link to user menu to be more accessible. 2016-09-12 22:37:48 -04:00
Garret Wassermann
00cdbcf43b Finish CSS template changes for Ticket page and related properties; includes responsive Ticket list table; styled file input buttons but need to find way to update text for beyond the first input box; added a ticket_attachment_del page to confirm removal of attachment and styled it 2016-09-12 02:11:55 -04:00
Garret Wassermann
a9cb54ce7e Remove older static files, update User Settings 2016-09-11 12:30:48 -04:00
Garret Wassermann
e0875b212b Updated CSS for Ticket list and Ticket editing pages, added Font Awesome's LICENSE to list 2016-09-10 04:00:22 -04:00
Garret Wassermann
67f81ac252 Continue CSS cleanup for Ticket description, remove unneeded priority and button images and associated functions 2016-09-09 04:03:32 -04:00
Garret Wassermann
d66259efdc Update dashboard and reports to new style, add more CDN support for new javascript libraries 2016-09-09 02:45:12 -04:00
Garret Wassermann
4c89da89b5 Updated navbar, base, public_base and login page to use new StartBootstrap SB Admin v2 theme 2016-09-07 02:50:16 -04:00
Jan Beran
8341ad217c Syntax correction for Python 3.4 and 3.5 2016-08-17 22:01:09 +02:00
Garret Wassermann
1c09f4a3c3 Moved Buttons and Priorities images back to main static folder 2016-08-05 00:50:40 -04:00
Garret Wassermann
014af24d2d Added a HELPDESK_USE_CDN setting, off by default, to select between using public CDNs as before, and an up-to-date static copy 2016-08-05 00:38:17 -04:00
Garret Wassermann
d9480c9cf0 Update static jQuery and other js/css, disable CDN usage 2016-08-04 23:57:35 -04:00
Ross Poulton
f2e497c3c6 Merge pull request #415 from mhannig/fix-broken-keyword-search
JSON Serialization broke Keyword-Searches
2016-07-05 08:48:10 +10:00
Matthias Hannig
a37f7145ec Serializing the query using JSON for SavedSearches unfortunately broke
Keyword-Searches.

Now, only the search string is serialized for saving and
the "qset" is moved from "other_filters" to apply_query.
2016-07-04 17:47:53 +02:00
Ross Poulton
03b3a70975 Merge pull request #410 from mrkiwi-nz/fix_savequery
Fix savequery
2016-06-30 10:36:41 +10:00
Ross Poulton
da5a4dc40f Merge pull request #411 from mrkiwi-nz/issue_408_fix
fix #408 : Bug in test_per_queue_staff_permission.py
2016-06-30 10:36:20 +10:00
Daryl
44bbcd31e5 Bug in test_per_queue_staff_permission.py
Using the django auth backend allows integers to be passed as a password
Using Peter Sagerson's ldap auth backend there is an error thrown because
some code tries to do a len() on the password.
You could argue that the ldap auth backend should str(password), but
you could also argue that passing an int as a password is bad practice

This PR ensures that a string is sent to the auth module.
2016-06-30 12:07:33 +12:00
Daryl
0ac7183875 Add test for saving a query, fix shared checkbox issue
My browser sends 'on' when a checkbox is ticked, django ORM only
recognises '1', 'true' or 't' as valid 'True' responses.
This throws an error
ValidationError at /helpdesk/save_query/
[u"'on' value must be either True or False."]

This could be fixed with " value='1'" in the template, but testing that is harder
My fix is to add a check in the view. 2 more lines, but easier to unittest.
Core devs need to make a call as to which solution is best.

D
2016-06-30 11:36:21 +12:00
Matthias Hannig
5f0191957f fixed python3 compat issue 2016-06-28 18:44:54 +02:00
Matthias Hannig
895a65fdb9 Fixed remote code execution through unpickling untrusted code. 2016-06-28 18:04:39 +02:00
Ross Poulton
d65c32487c Merge pull request #406 from mrkiwi-nz/master
Fix Issue #404: Refactor converting query string into queue:id
2016-06-26 19:28:48 +10:00
Daryl
afbfd01fab Fix Issue #404: Refactor converting query string into queue:id 2016-06-26 12:45:55 +12:00
Ross Poulton
ecd870663d Merge pull request #405 from mrkiwi-nz/master
Ignore queue name when doing lookups for tickets (means URLs don't break when moving ticket between queues)
2016-06-25 21:55:40 +10:00
Daryl
e5a6686c6d Ticket #403 - This code changes the behaviour of lookups for tickets and
ignores the queue name. This means that queue changes on a ticket dont
break the email links which have already been sent out.
The queue name still exists in the link/url, but is not used in the
lookup
2016-06-24 13:46:37 +12:00
Ross Poulton
e4dc3e51eb Merge pull request #399 from mrkiwi-nz/master
Changed render_to_response() to render()
2016-06-22 11:05:21 +10:00
Daryl
8a7fe5fcbf Changed the way the context is passed to render() - this was required
to enable django 1.7 to work (otherwise 1.8, 1.9 pass all tests, but 1.7 fails)
2016-06-21 20:56:43 +12:00
Daryl
558f140bfb Changed render_to_response() to render() - this should work for django1.9.4 plus django1.10
Without this change, django1.10 is missing the 'user' object from the context, which results in
a very hard to track down bug manifesting in ;
"NoReverseMatch: Reverse for 'helpdesk_rss_user' with arguments '('',)' and keyword arguments '{}' not found."
At first glance users may think this is the dots-in-usernames bug, but the username is totally missing.
2016-06-21 17:18:06 +12:00
Gleber Diniz
f8044faf28 Fix import error on python 3
"from email.utils import parseaddr, collapse_rfc2231_value" works both for python 2.7 and python 3
2016-06-14 17:10:23 -03:00
mrkiwi-nz
7dd4aa11d7 Update ticket_cc_list.html 2016-06-09 12:41:12 +12:00
mrkiwi-nz
57d341f89f Update report_output.html 2016-06-09 12:40:48 +12:00
mrkiwi-nz
783aa2481c Update email_ignore_list.html 2016-06-09 12:40:08 +12:00
mrkiwi-nz
d86b82e689 Update debug.html 2016-06-09 12:39:24 +12:00
Bruno Tikami
c5101a2873 UP: When multiple emails are used on the "To" field, subscribe them as well. 2016-03-23 13:16:49 -03:00
Bruno Tikami
5933d2a59b UPDATED: Strip inputed emails before creating TicketCC instances 2016-03-17 01:39:17 -03:00
Bruno Tikami
9e64354d8a Merge branch 'master' into feature/2__mail_threading
* master:
  UPDATED: When notifying users about creation / updates on tickets, notify everybody using a single email message.
2016-03-17 01:21:34 -03:00
Bruno Tikami
978e6d5c9b UPDATED: When notifying users about creation / updates on tickets, notify everybody using a single email message. 2016-03-17 01:12:42 -03:00
Bruno Tikami
11f28d175b Merge branch 'master' into feature/2__mail_threading
* master:
  BUGFIX: Capture invalid email exceptions and ignore those inputs.
  ADDED: Test cases for the new enable_notifications_on_email_events flag
2016-03-15 14:16:34 -03:00
Bruno Tikami
99ae4bb801 BUGFIX: Capture invalid email exceptions and ignore those inputs. 2016-03-15 14:13:19 -03:00
Darren Riedlinger
ac8ead52c8 getattr on usersettings.setting dict always returns False. Use settings.get() instead 2016-03-06 12:46:36 -08:00
Bruno Tikami
4124677f10 ADDED: Test cases for the new enable_notifications_on_email_events flag 2016-03-03 13:47:15 -03:00
Ross Poulton
e52ae206c6 Merge pull request #388 from pawelmarkowski/master
dashboard error queues are null
2016-03-02 10:38:08 +11:00
Pawel M
2b6c23db9f (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')\n GROUP BY queue, name\n ORDER BY q.id' at line 9") helpdesk/views/staff.py in dashboard 149 solved. When queues is null do not add to sql q.id in () 2016-03-01 22:53:33 +01:00
Bruno Tikami
4e4f481428 Merge branch 'hotfix/make_print_statements_3x_compatible' into feature/2__mail_threading
* hotfix/make_print_statements_3x_compatible:
  UPDATED: print statements to be Python 3.x compatible
2016-03-01 17:09:28 -03:00
Bruno Tikami
2efe8255c5 UPDATED: print statements to be Python 3.x compatible 2016-03-01 17:01:58 -03:00
Bruno Tikami
26fc6cb1de ADDED: Flag to enable notifications on every interaction that occurs over email. 2016-03-01 16:49:34 -03:00
Bruno Tikami
1511e0e72c UPDATED: Better separation of HTTP and e-mail test cases 2016-02-28 15:19:08 -03:00
Bruno Tikami
45fbd605e5 UPDATED: Separate HTTP and e-mail TestCases 2016-02-28 15:00:15 -03:00
Bruno Tikami
5058790995 BUGFIX: Fixing migration merge conflict. 2016-02-24 10:42:14 -03:00
Bruno Tikami
a9f073cc48 Merge branch 'master' of https://github.com/rossp/django-helpdesk 2016-02-24 10:25:57 -03:00
Bruno Tikami
b55eaabebd UPDATED: Renaming methods after reading through the pull request 2016-02-22 10:17:28 -03:00
Bruno Tikami
0c480b4abd UPDATE: Removed an unnecessary migration created by mistake. 2016-02-22 10:00:29 -03:00
Bruno Tikami
19f04aa1f5 CLEANUP: Removing necessary code from feature 2 2016-02-20 17:49:37 -02:00
Bruno Tikami
56b7f53c51 CLEANUP: Removing necessary code from feature 2 2016-02-20 17:46:03 -02:00
Bruno Tikami
4e32e879a8 BUGFIX: new TicketCC instances must be returned after subscribed to Ticket updates. 2016-02-20 17:36:24 -02:00
Bruno Tikami
0f346924fb UPDATED: Moving TicketCC notifications to the end of the process so there's no need to add / subtract recipients lists (queue cc account etc). 2016-02-20 17:35:17 -02:00
Bruno Tikami
75a5556317 UPDATED: after processing an email message, if there's any TicketCC instance linked to the Ticket being handled, mail them all. 2016-02-20 12:39:16 -02:00
Bruno Tikami
5ed6e8c2ce BUGFIX: assert statements against email count were doing the wrong math. Also, trying to explain get easier to understand comments 2016-02-20 12:38:06 -02:00
Bruno Tikami
32ee4de50b UPDATED: Better validation before creating a duplicated TicketCC 2016-02-19 13:01:39 -02:00
Bruno Tikami
6d890509a3 ADDED: docstrings 2016-02-19 12:40:18 -02:00
Bruno Tikami
f911f92892 BUGFIX: Don't create duplicated TicketCCs when processing email messages. 2016-02-19 12:25:14 -02:00
Bruno Tikami
380723a972 UPDATED: Use <forms.TicketCCForm> when subscribing to a ticket followups. 2016-02-19 11:09:03 -02:00
Bruno Tikami
e4337cef1d ADDED: <TicketCCForm.clean> to validate if either a valid user or a valid email is provided when saving <TicketCC> instances 2016-02-19 11:00:35 -02:00
Bruno Tikami
99bfc340f9 ADDED: <tests.test_ticket_submission.test_create_ticket_from_email_without_message_id> 2016-02-17 21:43:33 -02:00
imbashamba
191ce3c53c Nullable "default_owner" field added to Queue model
If default_owner is specified, tickets from public form will be assigned to him and he'll be notified by email
2016-02-17 11:40:08 +03:00
Bruno Tikami
57f58c34b7 UPDATED: Aesthetics 2016-02-16 17:21:46 -02:00
Bruno Tikami
fc02aa7cbb UPDATED: Better exception handling + aestetics 2016-02-16 17:17:58 -02:00
Bruno Tikami
be07fdff6c UPDATED: Finished moving Message-Id field from <Ticket> to <FollowUp> model. 2016-02-16 17:10:13 -02:00
Bruno Tikami
c2e9ee26af UPDATED: Stop storing the Message-Id field on the <Ticket> model and move it to the <FollowUp> so we can easily follow the threads. 2016-02-16 16:11:10 -02:00
Bruno Tikami
5f738a3214 Too much in one commit !
Splitting responsibilities when parsing email messages so we can decide when to create a Ticket and when to create a FollowUp.
2016-02-16 15:49:40 -02:00
Bruno Tikami
b4c6c169c2 ADDED: Possibility to accept extra headers when sending emails 2016-02-16 15:46:49 -02:00
Bruno Tikami
d091a16002 UPDATED: when creating new Ticket instances from email messages, also save their "Message-Id" field. 2016-02-15 16:16:28 -02:00
Bruno Tikami
5b46602b29 UPDATED: <helpdesk.tests.test_ticket_submission.test_create_ticket_instance_from_payload> now calls the right callable to ensure the message is parsed and the Ticket instance is created. 2016-02-15 16:15:46 -02:00
Bruno Tikami
cea4cb2c6a UPDATED: Set "submitter_email_id" as the standard to reference the Message-Id email field. 2016-02-07 18:11:49 -02:00
Bruno Tikami
ea3c3732e5 BUGFIX: File name typo 2016-02-07 18:05:16 -02:00
Bruno Tikami
880003743d ADDED: Schema migration 0012 that adds a "submitter_message_id" to the <models.Ticket> model 2016-02-07 18:04:09 -02:00
Bruno Tikami
78919addd7 BUGFIX: Set the missing max_length field attribute. 2016-02-07 17:45:08 -02:00
Bruno Tikami
83be21dc17 ADDED: <models.Ticket.submitter_email_id> 2016-02-07 17:28:00 -02:00
Bruno Tikami
ff0ceefab4 ADDED: <tests.test_ticket_submisssion.test_create_ticket_from_email_with_message_id> to ensure that the RFC 2822 field "message-id" is stored on the <Ticket.submitter_email_id> field. Backwards-compatible test kept. 2016-02-07 16:54:05 -02:00
Bruno Tikami
e880747a2b UDPATED: Use <views.staff.subscribe_to_ticket_updates> instead of <views.staff.subscribe_staff_member_to_ticket> when adding non-staff members to <TicketCC> instances 2016-02-07 16:46:43 -02:00
Bruno Tikami
b5ff3f9063 UPDATED: <views.staff.subscribe_staff_member_to_ticket> to accept and validate an user email when creating linking a <TicketCC> instance for a staff member. I'm pretty sure this is NOT the best place to put this but I don't wanna mess too much around for now. 2016-02-07 15:56:30 -02:00
Bruno Tikami
353fcb2138 ADDED: Possibility to pass "rfc_2822_*" fields when creating a <Ticket> instance so <management.commands.get_email.ticket_from_message> can create <TicketCC> instances when processing incoming messages. 2016-02-07 15:54:39 -02:00
Bruno Tikami
703c0e3b66 ADDED: <tests.test_ticket_submission.test_create_ticket_from_email_with_carbon_copy> and <tests.test_ticket_submission.test_create_ticket_from_email_with_invalid_carbon_copy> to ensure <TicketCC> instances are created by the <Ticket> model when the respective RFC 2822 field is provided. 2016-02-07 15:50:03 -02:00
Bruno Tikami
4d00dd3d6e UPDATED: Renamed test <tests.test_ticket_submission.test_create_ticket_direct> to <tests.test_ticket_submission.test_create_ticket_from_email> so the new upcoming test names (including CC, In-Reply etc) are easier to understand. 2016-02-07 12:06:07 -02:00
powderflask
8bf3449719 Fix: _meta.module_name deprecated in django1.8 2016-01-23 12:25:17 -08:00
Alex Barcelo
a741395ce5 chaging tests to aknowledge helpdesk namespace 2015-12-22 11:20:52 +01:00
Alex Barcelo
3a0f08046e using helpdesk app_name and droping helpdesk_ prefix 2015-12-22 10:27:03 +01:00
Ross Poulton
4347d1ec61 Add new locales: th, ca, lv, tr_TR, he_IL, pt_PT 2015-12-22 11:35:59 +11:00
Ross Poulton
ca1690becb Deprecate custom API (see #198) 2015-12-22 11:28:00 +11:00
Ross Poulton
0d098f6d29 Merge pull request #369 from alexbarcelo/always_create_permission
creation of Permission-per-Queue is done always
2015-12-22 09:41:17 +11:00
Alex Barcelo
7894eea1e1 Making Queue slug unique and improving certain admin-related behaviour 2015-12-18 14:56:53 +01:00
Alex Barcelo
3b547d2cf9 creation of Permission-per-Queue is done always 2015-12-18 14:35:50 +01:00
Alex Barcelo
4545fc925f fixing migration and allowing valid rollback on typical migrations 2015-12-17 18:44:10 +01:00
Alex Barcelo
0b5af429a5 reverting error due to methods and migrations 2015-12-17 18:11:54 +01:00
Alex Barcelo
01598826bf protecting through 403 several staff views 2015-12-16 22:27:06 +01:00
Alex Barcelo
1ea70ad1be adding management command for batch-creation of Queue permission 2015-12-16 22:27:06 +01:00
Alex Barcelo
43e5ff7c0e added delete mechanism on Queue for auto-clean of permissions 2015-12-16 22:27:06 +01:00
Alex Barcelo
92d8ca3eff more modular management of permission codenames 2015-12-16 22:27:06 +01:00
Alex Barcelo
64bc1791d4 removing completely QueueMembership model 2015-12-16 22:27:06 +01:00
Alex Barcelo
d760d9ee95 adding basic information to tickets, and masking email, on the admin views 2015-12-16 22:27:06 +01:00
Alex Barcelo
fb66fea86e change basic features of membership into permissions 2015-12-16 22:27:05 +01:00
Alex Barcelo
230d14b3ca removing QueueMembership mechanisms from admin.py 2015-12-16 22:27:05 +01:00
Alex Barcelo
c1fd47043a migration for removing semantics from QueueMembership objects 2015-12-16 22:27:05 +01:00
Alex Barcelo
18c7a2e698 adding required model extra info for permissions 2015-12-16 22:27:05 +01:00
Alex Barcelo
c0939d4b38 adding migration for bugfix 'changed max_length given by string to integer;' 2015-12-16 16:37:22 +01:00
Ross Poulton
11467f6e50 Properly check email context keys in newer Python versions. part of #362 2015-12-16 10:48:27 +11:00
Ross Poulton
6187b0568c Merge pull request #358 from flinz/django-1.9-fixes
Django 1.9 compatibility
2015-12-16 10:24:16 +11:00
Alex Seeholzer
54e541230e Merge branch 'bug/360_max-length-given-by-string' into django-1.9-fixes
* bug/360_max-length-given-by-string:
  changed max_length given by string to integer;
2015-12-15 10:21:04 +01:00
Alex Seeholzer
905e52e603 changed max_length given by string to integer; 2015-12-15 10:11:47 +01:00
Alex Seeholzer
2da16c511c updates to remove Django 1.10 deprecation warnings in Django 1.9:
- use of patterns() in urls.py is deprecated
- render() functions accept only dicts - introduced checks to ensure downward compatibility back to Django 1.7
2015-12-10 13:36:24 +01:00
Alex Seeholzer
8d55dcb9a0 python 2 & 3 compatibility: changed __unicode__ to __str__ and added python2 decorators (https://docs.djangoproject.com/en/1.8/topics/python3/#str-and-unicode-methods) 2015-11-18 15:26:08 +01:00
Alex Seeholzer
8390125c01 fixes of python 3 test fails 2015-11-18 15:07:33 +01:00
Alex Seeholzer
71504aa85d minor changes for python3 2015-11-18 10:41:02 +01:00
Alex Seeholzer
f7f0882f86 Merge branch 'master-upstream' into django-1.9-fixes
* master-upstream:
  Fix QueueMembership bug revealed by django.test's DiscoverRunner
2015-11-18 10:16:33 +01:00
Alex Seeholzer
e732b511e1 deprecated tags replaced in django 1.9 (ssi and url template tags are removed from the future template tag library) 2015-11-16 16:09:47 +01:00
Alex Seeholzer
307e9446a2 ensure tests for ticket submission run correctly in django 1.9 (URI's no longer include the scheme and domain part of the URLs) 2015-11-16 16:08:52 +01:00
Jonathan Barratt
0610a6645d Fix QueueMembership bug revealed by django.test's DiscoverRunner
If HELPDESK_ENABLE_PER_QUEUE_STAFF_MEMBERSHIP was True but a user had
no QueueMembership entries, then restricting queue access generated
RelatedObjectDoesNotExist exceptions.

 - Ask for forgiveness whenever we try to limit a queryset by the
queuemembership related object set.

 - Since tests can now be run with the project's settings active,
rather than only with quicktest.py's settings, restore the initial
HELPDESK_ENABLE_PER_QUEUE_MEMBERSHIP value after having tested the
related functionality.
2015-11-16 18:45:27 +07:00
Ross Poulton
ddd5b21b45 Merge pull request #352 from ssadler/static_from_staticfiles
use staticfiles app instead of STATIC_URL
2015-11-15 12:25:42 +11:00
Scott Sadler
2663a5e5ba use staticfiles app instead of STATIC_URL 2015-11-13 16:58:28 +01:00
Alex Seeholzer
0399612e57 bugfix: migration dependency corrected 2015-11-13 16:03:13 +01:00
Tony Zhu
dbdaca8dd4 django 1.8 email field size migration 2015-11-13 15:50:22 +01:00
Tony Zhu
0b0f946389 Add the migration for changes in queues
This is the missing migration for commit
9600f457d8
2015-11-13 15:50:22 +01:00
Alex Seeholzer
27c519f2ee downwards compatibility for django < 1.8 2015-11-13 15:36:04 +01:00
Alex Seeholzer
cd0daccb56 tests are correctly discovered for django < 1.6 2015-11-13 15:35:36 +01:00
Alex Seeholzer
50877c3708 Trying to fix travis build error & more general test imports: all files with test_*.py are imported from the /tests directory; 2015-11-13 14:07:36 +01:00
Alex Seeholzer
8f585aef1c Merge commit 'a4e6f086c8928e77baa73a25b7e8000fb6261498' into django-1.8
* commit 'a4e6f086c8928e77baa73a25b7e8000fb6261498':
  Include attachments to cc'd users on ticket update
  From gettatr to get, because dict doesn't contatin attributes. More readable if statement.
2015-11-13 13:50:11 +01:00
Ross Poulton
a4e6f086c8 Merge pull request #350 from ssadler/updated_cc_attachments
Include attachments to cc'd users on ticket update
2015-11-13 08:20:26 +11:00
Scott Sadler
98ad8567b9 Include attachments to cc'd users on ticket update 2015-11-12 15:53:16 +01:00
vlad.vyazovetskov
0a3171a024 From gettatr to get, because dict doesn't contatin attributes.
More readable if statement.
2015-11-12 17:31:14 +03:00
Scott Sadler
2681f6340c fix reload_urlconf test helper so it supports a third party urlconf 2015-11-06 15:22:44 +01:00
Scott Sadler
e82c17567a Merge branch 'master' into django-1.8
Conflicts:
	helpdesk/tests/__init__.py
2015-11-06 14:50:33 +01:00
Alex Seeholzer
163a0524b1 Merge branch 'master' into django-1.8
* master:
  renamed test __init__.py imports to new test naming scheme
2015-06-25 16:54:15 +02:00
Ross Poulton
48d1feb69d Merge pull request #334 from pahpa/master
Modify make_option with dest variable 'escalate-verbosely'
2015-06-19 09:25:40 +10:00
pahpa@orange.fr
060266e93a Modify make_option with dest variable 'escalate-verbosely' 2015-06-17 16:22:44 +02:00
Alex Seeholzer
f9682ccf37 renamed test __init__.py imports to new test naming scheme 2015-06-12 15:52:35 +02:00
Alex Seeholzer
da30d2b973 tests renamed for compliance 2015-06-12 15:48:38 +02:00
Alex Seeholzer
87225ce2ba tests renamed for compliance 2015-06-12 15:27:49 +02:00
Alex Seeholzer
cbea3c54f0 conformed template from_string method to use engines['django'] 2015-06-12 12:54:50 +02:00
Alex Seeholzer
0b7e0b7f04 changes in templating engine that worked for django 1.8 2015-06-12 12:52:35 +02:00
Alex Seeholzer
039653cc70 further fixes for Django 1.8.2 template engine 2015-06-12 12:52:34 +02:00
Alex Seeholzer
0f69771164 fix for django 1.8.2, get_template_from_string was removed 2015-06-12 12:52:34 +02:00
Alex Seeholzer
42f478b98c Merge squashed fixes from flinz/per-queue-staff-membership:
-renamed migration 0005 to 0004 and referenced 0003 instead of 0004 from it.
-Corrected spelling and rephrased docs for queue membership feature.
2015-06-12 17:41:15 +07:00
Jonathan Barratt
bfcd8fc024 Add ability to restrict users' access by queue if so configured, and migration and tests for same. 2015-06-12 12:23:39 +07:00
Jonathan Barratt
711eb6cea2 As of at least Django 1.5, calling __str__() on a CHOICES object returns a proxy object, not the actual text of the CHOICE. Change such calls to title() instead 2015-06-11 14:31:49 +07:00
Ross Poulton
6595eebd3f Merge pull request #328 from reduxionist/fix-squashed-socks_proxy-migration
Remove migration 0002_socks_proxy.py...
2015-06-10 09:35:10 +10:00
Jonathan Barratt
9c60350193 Fix issue 286: Header cuts off body by replacing {{ STATIC_URL }}x with {% static "x" %} in {public_,}base.html 2015-06-03 14:37:21 +07:00
Jonathan Barratt
f434292cfc Remove migration 0002_socks_proxy.py which has been squashed into 0001, rename migrations 0003 and 0004 and update their dependencies accordingly 2015-06-03 12:39:02 +07:00
Emmanuel Cohen
b0db7aa666 Fix exeception for templetags (works on django 1.7/py3.4 & django 1.6/py2.7) 2015-04-28 14:50:49 +02:00
Ross Poulton
70c57f9096 Merge 2015-04-28 09:13:54 +10:00
Tony Zhu
ed9581e5de Remove deprecated load url from future 2015-04-16 11:58:24 -04:00
Tony Zhu
807e0c5ea9 Remove extra space line 2015-04-14 16:29:47 -04:00
Tony Zhu
9600f457d8 Remove no effect model property to silence django 1.8 system check warning 2015-04-14 16:25:20 -04:00
Tony Zhu
11e4f1a7bd Merge upstream changes 2015-04-14 16:10:13 -04:00
Ross Poulton
bb2c240ef8 Use proper URL names for hold/unhold rather than manually building URL. Fixes #299 2015-02-14 11:13:19 +11:00
Ross Poulton
19ec7bee96 Extend attachment filefield max length in upload form. Fixes #301. 2015-02-14 11:02:58 +11:00
Alex Seeholzer
4ba29c500c Merge branch 'bugfix_models'
* bugfix_models:
  bug fix for commit
2015-02-11 13:25:52 +01:00
Alex Seeholzer
ddabc9d133 bug fix for commit 2015-02-11 13:23:42 +01:00
Alex Seeholzer
4c89456bc1 Merge branch 'populate_usersettings'
* populate_usersettings:
  Added south migration to populate the initially existing users with usersettings.
2015-02-11 13:14:55 +01:00
Alex Seeholzer
a11227c6c1 Added south migration to populate the initially existing users with usersettings. 2015-02-11 13:14:36 +01:00
Alex Seeholzer
9665361bb1 In Django < 1.7, if settings.AUTH_USER_MODEL is defined, the sender is expected to be the actual instance, not a string. This Closes rossp/django-helpdesk#295 by checking for django version < 1.7. 2015-02-11 12:23:59 +01:00
Alex Seeholzer
a87e1355ee Added missing south migration, adding the missing fields 'helpdesk_queue.socks_proxytype'. This fixes rossp/django-helpdesk#291. 2015-02-10 17:30:32 +01:00