Commit Graph

607 Commits

Author SHA1 Message Date
Garret Wassermann
3c6b522464 Fix form end tag placement, and remove duplicate unstyled query box 2016-12-13 23:45:43 -05: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