Commit Graph

236 Commits

Author SHA1 Message Date
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
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
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
142c291afb Merge 0.2.4 bugfixes 2017-12-18 00:45:36 -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
Garret Wassermann
92b43ef495 Merge master 0.2.3 bugfixes into develop 2017-12-09 23:02:12 -05:00
Garret Wassermann
bc0125421b Fix PEP8 errors detected by new pycodestyle script 2017-12-06 02:06:07 -05: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
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
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
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
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
49aac657a9 PEP8 fixups 2017-04-16 04:44:16 -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
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
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
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
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
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
Garret Wassermann
adf2b16c2c Fix namespaces in test 2016-10-29 04:33:27 -04:00
Garret Wassermann
d791700582 Fix PEP8 errors 2016-10-29 04:08:57 -04:00
Garret Wassermann
cad174468b Sync with namespace and other v0.2 changes 2016-10-29 03:47:15 -04:00
Alex Barcelo
53ed0d3a2c Remove all the deprecated API related files and references 2016-10-29 08:50:13 +02: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
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
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
Daryl
3b181e87ef
Fix inconsistent indentation 2016-10-20 11:43:22 +07: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
Ross Poulton
138904bf8b Update project URLs per #424 2016-10-12 11:14:10 +11:00
Garret Wassermann
3f620e83a2 Update style of Ticket FollowUp list to be a timeline 2016-09-27 17:29:59 -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
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
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
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
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
Daryl
afbfd01fab Fix Issue #404: Refactor converting query string into queue:id 2016-06-26 12:45:55 +12: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
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
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
Darren Riedlinger
ac8ead52c8 getattr on usersettings.setting dict always returns False. Use settings.get() instead 2016-03-06 12:46:36 -08: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
4e32e879a8 BUGFIX: new TicketCC instances must be returned after subscribed to Ticket updates. 2016-02-20 17:36:24 -02:00
Bruno Tikami
32ee4de50b UPDATED: Better validation before creating a duplicated TicketCC 2016-02-19 13:01:39 -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
be07fdff6c UPDATED: Finished moving Message-Id field from <Ticket> to <FollowUp> model. 2016-02-16 17:10:13 -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
Alex Barcelo
3a0f08046e using helpdesk app_name and droping helpdesk_ prefix 2015-12-22 10:27:03 +01:00
Ross Poulton
ca1690becb Deprecate custom API (see #198) 2015-12-22 11:28:00 +11:00
Alex Barcelo
01598826bf protecting through 403 several staff 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
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
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
8390125c01 fixes of python 3 test fails 2015-11-18 15:07:33 +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
Alex Seeholzer
27c519f2ee downwards compatibility for django < 1.8 2015-11-13 15:36:04 +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
e82c17567a Merge branch 'master' into django-1.8
Conflicts:
	helpdesk/tests/__init__.py
2015-11-06 14:50:33 +01:00
Alex Seeholzer
0b7e0b7f04 changes in templating engine that worked for django 1.8 2015-06-12 12:52:35 +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
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
70c57f9096 Merge 2015-04-28 09:13:54 +10:00
Tony Zhu
807e0c5ea9 Remove extra space line 2015-04-14 16:29:47 -04:00
Tony Zhu
11e4f1a7bd Merge upstream changes 2015-04-14 16:10:13 -04:00
Tony Zhu
dc86236136 Go back to the original helpdesk repo 2014-10-23 10:44:59 -04:00
Tom Graham
d2ac8af6c0 Improved support for custom user models
Support for custom user models with a non-standard username field
2014-10-22 16:18:04 +11:00
Tony Zhu
af1a297460 Merge from origin repo 2014-10-20 14:12:40 -04:00
Antoine Nguyen
91628ab788 Do not use the builtin staff_member_required decorator.
Before 1.7, this decorator always redirects to the admin login page so the LOGIN_URL
setting is useless.
2014-09-19 15:15:42 +02:00
Ross Poulton
61f49786c0 Fixes for Django 1.7. For prior Django versions, South 1.0 must be used for
migirations. Fixes #254.
2014-09-10 09:06:50 +10:00
Ross Poulton
4c901880bc Allow file attachments in storages other than local files (eg S3). Fixes GH-249. 2014-09-02 18:36:00 +10:00
Stefano Brentegani
9c33c67d1d ticket view redirect to management form should consider generic is_helpdesk_staff definition 2014-08-01 09:28:04 +02:00
Stefano Brentegani
b1b89d1d6f replace all explicit uses of HELPDESK_ALLOW_NON_STAFF_TICKET_UPDATE in helpdesk.views.staff 2014-07-30 06:58:57 +02:00
Stefano Brentegani
82df965d5f replace HELPDESK_ALLOW_NON_STAFF_TICKET_UPDATE in homepage view and test behaviour 2014-07-29 22:03:47 +02:00
Stefano Brentegani
aea940cb3f move decorators to their own module, rename to helpdesk_* 2014-07-28 11:46:02 +02:00