Commit Graph

225 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
Scott Sadler
98ad8567b9 Include attachments to cc'd users on ticket update 2015-11-12 15:53:16 +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
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
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
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
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
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
aea940cb3f move decorators to their own module, rename to helpdesk_* 2014-07-28 11:46:02 +02:00
Stefano Brentegani
97c317f83d add tests, example 2014-07-28 06:47:19 +02:00
Stefano Brentegani
8666bf57e5 Merge branch 'master' into custom-staff-filter 2014-07-26 14:10:07 +02:00
Stefano Brentegani
b05c396918 User menu = User settings, Change password, Logout 2014-07-25 18:08:47 +02:00
Ross Poulton
b1b1f93e1e speed up dashboard queries by using select_related (fixes #233) 2014-07-23 09:37:21 +10:00
Stefano Brentegani
fb6b35a724 Merge branch 'master' into custom-staff-filter
Conflicts:
	docs/settings.rst
	helpdesk/views/staff.py
2014-07-22 06:47:50 +02:00
Stefano Brentegani
c477f575db use django.utils.dates.MONTHS_3 for short month names (resolves #225) 2014-07-21 09:12:27 +02:00
Stefano Brentegani
13830a84e5 Custom logic for determining if the user is considered helpdesk staff. 2014-07-20 10:36:24 +02:00
Issac Kelly
978c0665b8 Custom User model changes. 2014-07-15 14:02:31 -07:00
Gabriel Pichot
27217edf4a Changed references from auth.User to get_user_model (views, forms & commands) 2014-06-18 16:21:37 +02:00
Ross Poulton
66da47205e settings.py cleanup (#200) - remove HELPDESK_DASHBOARD_BASIC_TICKET_STATS, always shows now. This resolves #201 to my satisfaction for now. 2014-01-29 22:13:42 +11:00
Ross Poulton
99e9bd33d8 Settings.py cleanup (#200): Remove HELPDESK_DASHBOARD_HIDE_EMPTY_QUEUES 2014-01-29 22:09:58 +11:00
Ross Poulton
d340446feb Remove django-tagging support, as that library is unmaintained. Closes #194. 2014-01-29 22:00:00 +11:00
Ross Poulton
98340b524d Fixes #181. Thanks @AntonOfTheWoods 2013-09-16 11:54:46 +10:00
root
d177291409 Now using mail template ..._cc for informing cc addresses. 2013-04-19 08:54:24 +02:00
Ross Poulton
556cf5d302 fix tpyo - importError vs ImportError 2013-01-23 11:55:36 +11:00
Ross Poulton
53273e3794 Fix datetime/timezone handling in Django <1.4; update management commands to be timezone-aware 2013-01-23 11:35:18 +11:00
Ross Poulton
341a40b9ae Make datetime handline offset-aware. Now requires pytz. Fixes #142. 2013-01-23 10:59:12 +11:00
Ross Poulton
6c440f3ed0 Fix #160 - send e-mails to ticket CC list even if there is no ticket submitter 2013-01-21 17:25:14 +11:00
Ross Poulton
22b68430df Fix from @kotowicz to fix filename encoding. Closes #162 and #149 2013-01-20 14:45:33 +11:00
digitalpbk
6405da36e4 create_ticket POST should accept all users
based on HELPDESK_STAFF_ONLY_TICKET_OWNERS setting, the POST part should accept all users or staff users
2012-10-07 14:14:32 +05:30
Ross Poulton
9ae358e6f8 Allow tests to run if Sites module isn't properly configured. 2012-08-08 14:31:51 +10:00
Ross Poulton
f45400e26a show time until closed for all tickets and those that were opened in the last 60 days. By @kotowicz in 5252ad9d07 2012-08-07 23:57:34 +10:00
Ross Poulton
80a0198785 fix potential divide by zero error, by @kotowicz in 9f205552e7 2012-08-07 23:54:46 +10:00
Ross Poulton
a4f1ac9b8b new option 'HELPDESK_DASHBOARD_BASIC_TICKET_STATS', shows quick ticket
stats in dashboard links to detailed 'days until ticket is closed by
month' plot.
New chart for 'days until ticket is closed'.
By @kotowicz in 0a8f4ce6d6.
2012-08-07 23:51:52 +10:00
Ross Poulton
d7c781eae8 Make followup edit & deletion staff-only 2012-08-07 23:43:26 +10:00
Ross Poulton
a21050082a Improve ticket CC handling. By @kotowicz in
4bf79ccf46.
2012-08-07 23:41:43 +10:00
Ross Poulton
2f1b74316f new option 'HELPDESK_SHOW_EDIT_BUTTON_FOLLOW_UP' which allows superusers
to delete individual followups (so you don't have to go to the admin).
(by @kotowicz in a2a5b10b2d)
2012-08-07 23:32:45 +10:00
Ross Poulton
dc91771b96 Avoid saving empty ticket updates. Closes #99. 2012-08-07 23:22:39 +10:00
Ross Poulton
e209793aa2 When unauthenticated users reach update view, forward to login. Addresses issue #78. 2012-08-07 22:50:25 +10:00
Ross Poulton
ba9875af06 Merge branch 'master' of github.com:rossp/django-helpdesk 2012-08-07 20:27:14 +10:00
Ross Poulton
51fdee91ed Unable to accept resolution of unassigned tickets 2012-08-07 20:25:21 +10:00
satyans24
30a577e18b Update helpdesk/views/staff.py 2012-07-23 12:38:26 +05:30
satyans24
c02c2a80d7 fix the search for the cases where user search with email address like : no-reply@tigers-connect.com 2012-07-23 11:59:58 +05:30
Ross Poulton
5640e8490c Updated SQLite check due to changed Django DB definitions. Fixes #143. 2012-06-11 13:40:54 +10:00
Stefano Brentegani
a520e380f0 fix ticket list (sorting and status querystring) 2012-05-11 17:15:46 +02:00
Ross Poulton
9f0e07f5e6 Add Django 1.4 support - remove old feeds import (no longer required) and add Timezone support. Fixes #135. 2012-05-11 17:02:55 +10:00
unknown
1363ba3ce1 fix ticket update with no due date set 2012-05-08 14:36:13 +02:00
Ross Poulton
4fb9ab0617 Fixes #122 - avoid exception when taking ticket. 2012-04-11 17:48:39 +10:00
Ross Poulton
230f94f6aa Merge pull request #108 from kratorius/fix-query-filtering
Sanity checks against input for ticket search
2012-01-23 15:16:56 -08:00
Ross Poulton
7e72f3d8ea Merge pull request #106 from yekibud/master
adding global queue email settings for get_mail and HELPDESK_KB_ENABLED_STAFF; added ticket due date
2012-01-23 15:15:44 -08:00
tschmidt
1a4c6520a6 added due_date migration and added to edit ticket form 2012-01-20 15:03:07 -08:00
tschmidt
949179ec2e adding HELPDESK_STAFF_ONLY_TICKET_OWNERS and HELPDESK_STAFF_ONLY_TICKET_CC settings 2012-01-17 13:40:44 -08:00
Ivan Giuliani
119b951086 Sanity checks against input for ticket search
Currently input parameters within the ticket search view are not
validated, thus (manually) altering the parameters in the query string
issues a 500. This patch attempts to solve this problem, reverting to
the default query when the situation can't be recovered.
2012-01-17 13:14:21 +01:00
Ivan Giuliani
23a7f399d1 Save resolution when closing the ticket 2012-01-12 18:21:25 +01:00
Andreas Kotowicz
b79bb6ac10 fix /reports/usermonth/ & /reports/queuemonth/ errors
- indexing was wrong
- wrong first month label was used.
2011-12-08 16:49:17 +01:00
Andreas Kotowicz
1e6fa7a92d add option to 'hide empty queues' in dashboard overview.
code to show empty queue is from b7df9b9495
2011-12-02 12:54:06 +01:00
Andreas Kotowicz
505a171b61 working on dashboard:
- clarify what the individual dashboard ticket lists mean.
- add 'tickets submitted by you' list.
- add possiblity for custom welcome message (HELPDESK_CUSTOM_WELCOME).
2011-11-29 14:08:08 +01:00
Andreas Kotowicz
b73d7df064 add option 'HELPDESK_CREATE_TICKET_HIDE_ASSIGNED_TO' to hide the 'case owner' on create_view if necessary. 2011-11-28 15:17:54 +01:00
Andreas Kotowicz
c79ba8de01 uncomment previously commented code which takes care of unassiging a ticket. 2011-11-28 14:49:37 +01:00
Andreas Kotowicz
1c3a7a8a7b add option 'HELPDESK_SHOW_CHANGE_PASSWORD' so that local users find a link to change their password.
(needs django-registration https://bitbucket.org/ubernostrum/django-registration/).
2011-11-24 13:30:45 +01:00
Andreas Kotowicz
cb34b1933a make django-helpdesk more customizable + bug fixes:
- look at settings.py for all new options regarding customization.
- settings can be accessed inside the templates via the new
  templatetag 'load_helpdesk_settings'

- allow editing of personal followups, but only if followup does not
  contain any ticketchanges - otherwise this information is lost after
  the editing.
- add 'delete' link to attachments
- link to list of closed tickets in queue overview
- add 'closed & resolved' section to dashboard
- hide 'pre-set reply' box if no pre-set replies are found.
- use 'SelectDateWidget' for custom DateField

- fix how we update followups so that attachments don't get deleted
- fix bug where resolution emails contained the solution 'None'
- fix stats crashing bug
- fix locale bug
2011-11-19 09:34:07 +01:00
maccesch
85bf169025 fixed the "take" link when viewing a ticket to create a proper follow up 2011-09-05 20:40:53 +02:00
maccesch
dcec449939 small fixes and translation 2011-09-01 13:01:03 +02:00
Ross Poulton
cc4ea9a4f8 Add filtering by Date range. Allow users to filter stats screens by saved queries (closes GH-58) 2011-05-13 08:02:59 +10:00
Ross Poulton
afea90b2d2 Bugfix - typo in views/staff.py 2011-05-12 09:01:35 +10:00
Ross Poulton
ac95f9d893 Overhaul reporting: remove custom SQL commands for compatibility reasons. Code is MUCh simpler now. Also allows user to specify a saved search query via GET paramater - need to add links to this, as it lets them filter charts - very useful\! 2011-05-11 20:07:46 +10:00
Ross Poulton
8b6fbd8965 Add ticket dependency so you can't resolve a ticket until it's dependents are resolved. Addresses GH-43 2011-05-10 19:27:11 +10:00
Ross Poulton
c3a4c4c8ba Add capability for users to delete their saved queries. 2011-05-06 16:55:52 +10:00
Ross Poulton
9175203fb1 Migrate charts to jqPlot. Needs a bit of clean-up, especially separating out date & non-date reports. 2011-05-02 22:32:51 +00:00
Ross Poulton
5278634a76 Fixes GH-54: Stats crash without open tickets. This should have already been caught, so this patch fixes it and adds another sanity check at report runtime. 2011-04-19 21:36:20 +00:00
Andreas Kotowicz
e691708e73 temporary fix for bug https://github.com/rossp/django-helpdesk/issues/#issue/22 2011-02-08 22:19:17 +01:00
Andreas Kotowicz
594be07b26 check if queue id is given for new ticket. this is useful if
you want to provide a link for the appropriate queue.
2011-02-06 19:17:55 +01:00
Andreas Kotowicz
a780f51466 sort list of users by username - makes it easier to find the person you
are looking for.
2011-02-03 12:21:01 +01:00
Andreas Kotowicz
af3b1f1c75 templatetag for saved queries:
I'm using user_saved_queries_ in base.html so that we can distinguish it
 from 'user_saved_queries' in 'views.staff.ticket_list'
2011-02-03 11:19:46 +01:00
Andreas Kotowicz
0694fe1e2c first take on bug https://github.com/rossp/django-helpdesk/issues#issue/19:
add div to hold list of queries
 show 'load saved query' in header if 'user_saved_queries' is present
 modified 'dashboard' and 'view_ticket' so that they return 'user_saved_queries'
2011-02-02 13:50:03 +01:00
Ross Poulton
97886abc76 Add ability for FollowUp records to be edited by staff. Closes Google Code issue #131; Github issue #5. Thanks to Google user 'alecs.box' for the patch. 2011-01-29 06:02:03 +00:00
Ross Poulton
7654de9d28 Change references to Jutda Helpdesk to django-helpdesk as that should
be the real name for this project IMHO.
2011-01-25 23:08:41 +00:00
Ross Poulton
53327eb66a Moved all project files under a "helpdesk" directory. Should make it easier to use setup.py / pypi / whatever in the future. 2011-01-25 23:02:00 +00:00