Commit Graph

307 Commits

Author SHA1 Message Date
bbe
25a2e5130b Update French Translations 2020-06-09 16:18:09 +02:00
Tom Bernens
e10ffce24a more safely get the user setting for tickets per page 2020-06-01 16:20:33 -07:00
Tom Bernens
03760a921e initial commit
staff.py changes:
import django core paginator libs
get user setting for tickets per page
get http GET variables for page selection on three tables
use django paginator to get current page tickets only, and pass those to dashboard.html instead of all tickets

dashboard.html changes:
assign the correct HTTP GET argument to each table

tickets.html changes:
add pagination controls below table div, and pass HTTP GET args back to the URL when clicked
2020-06-01 16:14:55 -07:00
Garret Wassermann
8a521d563b Fix pycodestyle error 2020-04-15 07:42:52 -04:00
Garret Wassermann
5ad0743722 Merge in 0.2.21 bugfix 2020-04-15 07:38:52 -04:00
Timothy Hobbs
28531144db Use default str for displaying kbitems in filter view 2020-02-11 17:11:41 +01:00
Timothy Hobbs
bb9d886eea Fix query by uncatigorized 2020-02-11 16:44:18 +01:00
Timothy Hobbs
f8c652d506 Better filtering + optional columns in ticket list view 2020-02-03 14:17:19 +01:00
Timothy Hobbs
5b0d44ec3a Assign KBItems to teams
This allows you to only show on the dashboard those tickets which belong to a
given user's team.
2020-01-27 19:45:15 +01:00
Timothy Hobbs
eea76a5eb7 Do not include resolved tickets in default ticket query 2020-01-27 17:56:49 +01:00
Timothy Hobbs
6579ac0e6f Associate tickets with KB items 2020-01-20 13:23:31 +01:00
Timothy Hobbs
b96d725239 Refactor query code into customizable class 2020-01-20 13:03:44 +01:00
Timothy Hobbs
6eee6d196c Add timeline view for ticket queries 2020-01-20 13:03:44 +01:00
Arkadiy Korotaev
f72fbfa024
fix<ticket-search>: avoid exception of using function get_tickets_in_queues as property 2020-01-04 08:50:09 +01:00
Garret Wassermann
1784d5cf60 Follow recommendation to use == instead of keyword is 2019-12-17 08:41:30 -05:00
Timothy Hobbs
61dd12abd9 Fix tests 2019-10-16 17:36:55 +02:00
Garret Wassermann
0573bc37f8 PEP-8 codestyle improvements to pass tests 2019-10-12 19:05:00 -04:00
Garret Wassermann
182d553356 Fix some renaming issues from most recent merge 2019-10-12 18:58:50 -04:00
Timothy Hobbs
8a57f72349 Further refactor datatables code 2019-10-11 17:12:39 +02:00
Timothy Hobbs
4ca6adbe39 Move query helper functions out of lib to special query file 2019-10-11 16:31:52 +02:00
Timothy Hobbs
0691bbabcd Refactor and fix datatables code to use cache safely 2019-10-11 15:50:35 +02:00
Timothy Hobbs
03d1c66dd6 Refactor ticket list code 2019-10-11 13:10:35 +02:00
Timothy Hobbs
b862732512 Remove "classic" code path and always use datatables for ticket lists 2019-10-08 17:54:59 +02:00
Timothy Hobbs
f127b2c224 Refactor ticket list 2019-10-08 17:54:58 +02:00
Jachym Cepicky
37c6905d46 cleaning time_spent formating 2019-07-06 22:36:58 +02:00
Garret Wassermann
0de263280f Merged 0.2.16 bugfixes 2019-05-25 01:25:39 -04:00
Garret Wassermann
b61c0c71fd
Merge pull request #757 from OpenGeoLabs/145_due_date
fix issue with setting due date format, for the issue #145
2019-05-24 13:23:52 -04:00
Jachym Cepicky
2e58798fe1 fixes #758 : enables adding comments to public tickets 2019-05-23 09:55:08 +02:00
Jachym Cepicky
611e6de928 fix for the issue #145 2019-05-22 11:20:01 +02:00
Jachym Cepicky
ef63a1186b fix markdown bug 2019-03-29 15:17:10 +01:00
Timothy Hobbs
89be7a0fde Don't show resolved tickets in unassigned tickets list
Fixes #741
2019-03-27 17:16:33 +01:00
Cedric Carrard
9c85b8e8c1 fix redirect loop 2019-03-20 16:12:19 +01:00
Jachym Cepicky
9127275557 adding support for images as knowledgebase attachment 2019-03-09 18:14:11 +01:00
Jachym Cepicky
2093bf7faf adding dedicated_time attribute to Queue model 2019-02-24 20:46:30 +01:00
Jachym Cepicky
6ceb89a5cb basic support for time spend of tikets and follow-ups 2019-02-06 21:55:53 +01:00
Jachym Cepicky
8cc0ca47f8 display list of queues only for users with right permissions 2019-02-05 15:44:06 +01:00
Garret Wassermann
43ed3ac773 PEP-8 fixes for mail threading merge 2018-12-28 11:32:49 -05:00
Garret Wassermann
5f0d22a692 Merge brunotikami/master for user and email threading, for #385 and #375 2018-12-28 10:53:28 -05:00
Garret Wassermann
696d10db12 Remove old python2/six code 2018-12-28 03:13:52 -05:00
Garret Wassermann
ea8c75b884 Fix saving and loading custom queries, update for Py3/Django2.x 2018-12-21 19:14:54 -05:00
Garret Wassermann
2cd438f7b2 Demo should disable server-side processing for local demo usage 2018-12-21 16:35:26 -05: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
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
Garret Wassermann
150f18e9b5 Merge branch 'develop' into bootstrap4 2018-10-15 14:14:38 -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
Garret Wassermann
fd5c356820 Merge branch 'develop' into bootstrap4 2018-09-08 22:30:18 -04:00
Timothy Hobbs
ffc97338c9
Submit ticket link should work for non-logged in users 2018-09-07 19:10:57 +02:00
Garret Wassermann
b610a5f492 Update breadcrumbs on ticket pages 2018-09-02 05:27:39 -04:00
Timothy Hobbs
082b6b88f3
Add user profile links for submiters who have profiles 2018-08-30 12:53:46 +02: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
4d78bc85ca Update due date correct when adding followup to ticket, for #616 2018-07-03 00:20:51 -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
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
54a6b1d21b Merge 0.2.7 bugfixes 2018-03-04 04:01:48 -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
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
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
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
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