forked from extern/django-helpdesk
Merge commit '21e46f010dfecea1562a4d2b308fd78b71fec8a0' into no-admin-url
Conflicts: helpdesk/urls.py
This commit is contained in:
commit
c711a54d8d
13
.travis.yml
Normal file
13
.travis.yml
Normal file
@ -0,0 +1,13 @@
|
||||
language: python
|
||||
python:
|
||||
- "2.6"
|
||||
- "2.7"
|
||||
env:
|
||||
- DJANGO=1.4.13
|
||||
- DJANGO=1.5.8
|
||||
- DJANGO=1.6.5
|
||||
install:
|
||||
- pip install argparse
|
||||
- pip install -q Django==$DJANGO
|
||||
- pip install -q -r requirements.txt
|
||||
script: python quicktest.py helpdesk
|
73
README.rst
73
README.rst
@ -1,6 +1,9 @@
|
||||
django-helpdesk - A Django powered ticket tracker for small enterprise.
|
||||
=======================================================================
|
||||
|
||||
.. image:: https://travis-ci.org/rossp/django-helpdesk.png?branch=master
|
||||
|
||||
|
||||
Copyright 2009-11 Jutda and Ross Poulton. All Rights Reserved. See LICENSE for details.
|
||||
|
||||
django-helpdesk was formerly known as Jutda Helpdesk, named after the
|
||||
@ -10,23 +13,26 @@ contributors reaching far beyond Jutda.
|
||||
|
||||
Complete documentation is available in the docs/ directory, or online at http://django-helpdesk.readthedocs.org/.
|
||||
|
||||
You can see a demo installation at http://demo.jutdahelpdesk.com
|
||||
You can see a demo installation at http://django-helpdesk-demo.herokuapp.com/
|
||||
|
||||
Licensing
|
||||
=========
|
||||
---------
|
||||
|
||||
See the file 'LICENSE' for licensing terms. Note that django-helpdesk is
|
||||
distributed with 3rd party products which have their own licenses. See
|
||||
LICENSE.3RDPARTY for license terms for included packages.
|
||||
|
||||
Dependencies (pre-flight checklist)
|
||||
===================================
|
||||
-----------------------------------
|
||||
|
||||
1. Python 2.4+
|
||||
2. Django (1.2 or newer)
|
||||
1. Python 2.6+
|
||||
2. Django (1.4 or newer)
|
||||
3. South for database migrations (highly recommended, but not required). Download from http://south.aeracode.org/
|
||||
4. An existing WORKING Django project with database etc. If you
|
||||
cannot log into the Admin, you won't get this product working.
|
||||
5. `pip install django-bootstrap-form` and add `bootstrapform` to `settings.INSTALLED_APPS`
|
||||
6. `pip install django-markdown-deux` and add `markdown_deux` to `settings.INSTALLED_APPS`
|
||||
7. `pip install email-reply-parser` to get smart email reply handling
|
||||
|
||||
**NOTE REGARDING SQLITE AND SEARCHING:**
|
||||
If you use sqlite as your database, the search function will not work as
|
||||
@ -51,8 +57,15 @@ If you do NOT do this step, and you only want to use English-language templates,
|
||||
you can continue however you will receive a warning when running the 'migrate'
|
||||
commands.
|
||||
|
||||
Fresh Django Installations
|
||||
--------------------------
|
||||
|
||||
If you're on a brand new Django installation, make sure you do a ``syncdb``
|
||||
**before** adding ``helpdesk`` to your ``INSTALLED_APPS``. This will avoid
|
||||
errors with trying to create User settings.
|
||||
|
||||
Upgrading from previous versions
|
||||
================================
|
||||
--------------------------------
|
||||
|
||||
We highly recommend that you use South (available
|
||||
from http://south.aeracode.org/) to assist with management of database schema
|
||||
@ -66,7 +79,7 @@ migration::
|
||||
|
||||
If you are upgrading from a previous version of django-helpdesk that DID use
|
||||
South, simply download an up to date version of the code base (eg by using
|
||||
`git pull`) then migrate the database::
|
||||
`git pull` or `pip install --upgrade django-helpdesk`) then migrate the database::
|
||||
|
||||
python manage.py migrate helpdesk --db-dry-run # DB untouched
|
||||
python manage.py migrate helpdesk
|
||||
@ -76,54 +89,22 @@ ensure the latest changes are in use.
|
||||
|
||||
You can continue to the 'Initial Configuration' area, if needed.
|
||||
|
||||
Django 1.2.x and latest version of django-helpdesk
|
||||
==================================================
|
||||
|
||||
If you are running Django 1.2.x then you will need to install django-staticfiles
|
||||
(http://pypi.python.org/pypi/django-staticfiles/) and add the following to your
|
||||
existing `settings.py` and `urls.py` files.
|
||||
|
||||
settings.py::
|
||||
|
||||
MEDIA_ROOT = '/var/www/media/'
|
||||
MEDIA_URL = '/media/'
|
||||
STATIC_ROOT = '/var/www/static/'
|
||||
STATIC_URL = '/static/'
|
||||
|
||||
INSTALLED_APPS = (
|
||||
# Other installed applications here, including 'helpdesk'
|
||||
'staticfiles',
|
||||
)
|
||||
|
||||
TEMPLATE_CONTEXT_PROCESSORS = (
|
||||
# Other context processors listed here
|
||||
'staticfiles.context_processors.static',
|
||||
)
|
||||
|
||||
urls.py::
|
||||
|
||||
from staticfiles.urls import staticfiles_urlpatterns
|
||||
urlpatterns += staticfiles_urlpatterns()
|
||||
|
||||
Once those changes are made, run the following commands to take a copy of the static files::
|
||||
|
||||
$ cd /var/www
|
||||
$ mkdir static
|
||||
$ cd static
|
||||
$ ln -sf /path/to/helpdesk/static/helpdesk/ helpdesk
|
||||
|
||||
Installation
|
||||
============
|
||||
------------
|
||||
|
||||
``pip install django-helpdesk``
|
||||
|
||||
For further installation information see docs/install.html and docs/configuration.html
|
||||
|
||||
Internationalisation
|
||||
====================
|
||||
Contributing
|
||||
------------
|
||||
|
||||
If you want to help translate django-helpdesk into languages other than English, we encourage you to make use of our Transifex project.
|
||||
|
||||
http://www.transifex.net/projects/p/django-helpdesk/resource/core/
|
||||
|
||||
Feel free to request access to contribute your translations.
|
||||
|
||||
Pull requests for all other changes are welcome. We're currently trying to add test cases wherever possible, so please continue to include tests with pull requests.
|
||||
|
||||
.. image:: https://secure.travis-ci.org/rossp/django-helpdesk.png?branch=master
|
||||
|
@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# django-helpdesk shell script to upload to pypi.
|
||||
|
||||
WORKDIR=/tmp/django-helpdesk-build.$$
|
||||
@ -8,9 +8,7 @@ pushd $WORKDIR
|
||||
git clone git://github.com/rossp/django-helpdesk.git
|
||||
cd django-helpdesk
|
||||
|
||||
/usr/bin/python2.4 setup.py bdist_egg upload
|
||||
/usr/bin/python2.5 setup.py bdist_egg upload
|
||||
/usr/bin/python2.5 setup.py sdist upload
|
||||
/usr/bin/python setup.py sdist upload
|
||||
|
||||
popd
|
||||
rm -rf $WORKDIR
|
||||
|
@ -13,12 +13,16 @@ If you or your organisation does not accept these license terms then we cannot a
|
||||
Translations
|
||||
------------
|
||||
|
||||
.. image:: http://www.transifex.net/projects/p/django-helpdesk/resource/core/chart/image_png
|
||||
|
||||
Although django-helpdesk has originally been written for the English language, there are already multiple translations to Spanish, Polish, and German and more translations are welcomed.
|
||||
|
||||
Translations are handled using the excellent Transifex service which is much easier for most users than manually editing .po files. It also allows collaborative translation. If you want to help translate django-helpdesk into languages other than English, we encourage you to make use of our Transifex project:
|
||||
|
||||
http://www.transifex.net/projects/p/django-helpdesk/resource/core/
|
||||
|
||||
Once you have translated content via Transifex, please raise an issue on the project Github page to let us know it's ready to import.
|
||||
|
||||
Code changes
|
||||
------------
|
||||
|
||||
@ -30,6 +34,15 @@ Commit messages should also explain *what*, precisely, has been changed.
|
||||
|
||||
If you have any questions, please contact the project co-ordinator, Ross Poulton, at ross@rossp.org.
|
||||
|
||||
Tests
|
||||
-----
|
||||
|
||||
Currently, test coverage is very low. We're working on increasing this, and to make life easier we are using `Travis CI`_ for continuous integration. This means that the test suite is run every time a code change is made, so we can try and make sure we avoid basic bugs and other regressions.
|
||||
|
||||
Please include tests in the ``tests/`` folder when committing code changes.
|
||||
|
||||
.. _Travis CI: http://travis-ci.org/
|
||||
|
||||
Database schema changes
|
||||
-----------------------
|
||||
|
||||
|
@ -1,10 +1,8 @@
|
||||
Custom Fields
|
||||
=============
|
||||
|
||||
As of February 2011, django-helpdesk supports custom fields on the ``Ticket`` model. These fields are created by using the Django administration tool, and are shown on both the public and staff submission forms.
|
||||
django-helpdesk supports custom fields on the ``Ticket`` model. These fields are created by using the Django administration tool, and are shown on both the public and staff submission forms. You can use most Django field types including text, integer, boolean, and list.
|
||||
|
||||
You can use most Django field types including text, integer, boolean, and list.
|
||||
The demo at http://django-helpdesk-demo.herokuapp.com contains an example of each type of custom field, including a mix of mandatory and optional fields.
|
||||
|
||||
The demo at http://demo.jutdahelpdesk.com contains an example of each type of custom field, including a mix of mandatory and optional fields.
|
||||
|
||||
Note that this feature is still in beta - it needs quite a bit of testing and no doubt has bugs!
|
||||
Custom fields are relatively inefficient, and you cannot search by them. They can be useful for tracking extra information that your organisation needs but that isn't supported out of the box.
|
||||
|
@ -3,10 +3,27 @@ Welcome to django-helpdesk's documentation!
|
||||
|
||||
django-helpdesk is a Django application to manage helpdesk tickets for your internal helpdesk. It was formerly known as Jutda Helpdesk.
|
||||
|
||||
Contents
|
||||
--------
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:glob:
|
||||
|
||||
license
|
||||
install
|
||||
configuration
|
||||
settings
|
||||
spam
|
||||
custom_fields
|
||||
api
|
||||
contributing
|
||||
|
||||
|
||||
How Does It Look?
|
||||
-----------------
|
||||
|
||||
You can see a demo installation at http://demo.jutdahelpdesk.com
|
||||
You can see a demo installation at http://django-helpdesk-demo.herokuapp.com/
|
||||
|
||||
Quick Start
|
||||
-----------
|
||||
@ -18,7 +35,7 @@ Key Features
|
||||
|
||||
django-helpdesk has been designed for small businesses who need to recieve, manage and respond to requests for help from customers. In this context *'customers'* may be external users, or other people within your company.
|
||||
|
||||
* Tickets can be opened vi a email
|
||||
* Tickets can be opened via email
|
||||
* Multiple queues / categories of tickets
|
||||
* Integrated FAQ / knowledgebase
|
||||
|
||||
@ -52,35 +69,8 @@ django-helpdesk is released under the BSD license, however it packages 3rd party
|
||||
Dependencies
|
||||
------------
|
||||
|
||||
1. Python 2.4+
|
||||
2. Django (1.2 or newer)
|
||||
1. Python 2.5+
|
||||
2. Django (1.3 or newer)
|
||||
3. South for database migrations (highly recommended, but not required). Download from http://south.aeracode.org/
|
||||
4. An existing **working** Django project with database etc. If you cannot log into the Admin, you won't get this product working!
|
||||
|
||||
Translation
|
||||
-----------
|
||||
|
||||
.. image:: http://www.transifex.net/projects/p/django-helpdesk/resource/core/chart/image_png
|
||||
|
||||
If you want to help translate django-helpdesk into languages other than English, we encourage you to make use of our Transifex project.
|
||||
|
||||
http://www.transifex.net/projects/p/django-helpdesk/resource/core/
|
||||
|
||||
Feel free to request access to contribute your translations.
|
||||
|
||||
Contents:
|
||||
---------
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:glob:
|
||||
|
||||
license
|
||||
install
|
||||
configuration
|
||||
settings
|
||||
spam
|
||||
custom_fields
|
||||
api
|
||||
contributing
|
||||
4. An existing **working** Django project with database etc. If you cannot log into the Admin, you won't get this product working! This means you **must** run `syncdb` **before** you add ``helpdesk`` to your ``INSTALLED_APPS``.
|
||||
|
||||
|
@ -29,7 +29,7 @@ Download, extract, and drop ``helpdesk`` into your ``PYTHONPATH``
|
||||
Adding To Your Django Project
|
||||
-----------------------------
|
||||
|
||||
1. Edit your ``settings.py`` file and add ``helpdesk`` to the ``INSTALLED_APPS`` setting. You also need ``django.contrib.admin`` in ``INSTALLED_APPS`` if you haven't already added it. eg::
|
||||
1. Edit your ``settings.py`` file and add ``helpdesk`` to the ``INSTALLED_APPS`` setting. You also need ``django.contrib.admin`` and ``django.contrib.markup`` in ``INSTALLED_APPS`` if you haven't already added it. eg::
|
||||
|
||||
INSTALLED_APPS = (
|
||||
'django.contrib.auth',
|
||||
@ -37,8 +37,9 @@ Adding To Your Django Project
|
||||
'django.contrib.sessions',
|
||||
'django.contrib.sites',
|
||||
'django.contrib.admin', # Required for helpdesk admin/maintenance
|
||||
'django.contrib.markup', # Required for text display
|
||||
'django.contrib.markup', # Required for helpdesk text display
|
||||
'south', # Highly recommended to make database migrations simpler.
|
||||
'markdown_deux', # Required for Knowledgebase item formatting
|
||||
'helpdesk', # This is new!
|
||||
)
|
||||
|
||||
@ -60,9 +61,9 @@ Adding To Your Django Project
|
||||
|
||||
./manage.py migrate helpdesk
|
||||
|
||||
4. [If you're not using django.contrib.staticfiles] Inside your ``STATIC_ROOT`` folder, create a new folder called ``helpdesk`` and copy the contents of ``helpdesk/static`` into it. Alternatively, create a symlink::
|
||||
4. Include your static files in your public web path::
|
||||
|
||||
ln -s /path/to/helpdesk/static/helpdesk /path/to/static/helpdesk
|
||||
python manage.py collectstatic
|
||||
|
||||
5. Inside your ``MEDIA_ROOT`` folder, inside the ``helpdesk`` folder, is a folder called ``attachments``. Ensure your web server software can write to this folder - something like this should do the trick::
|
||||
|
||||
@ -87,9 +88,9 @@ Adding To Your Django Project
|
||||
|
||||
Ideally, accessing http://MEDIA_URL/helpdesk/attachments/ will give you a 403 access denied error.
|
||||
|
||||
7. If it's not already installed, install ``python-markdown``::
|
||||
7. If it's not already installed, install ``django-markdown-deux`` and ensure it's in your ``INSTALLED_APPS``::
|
||||
|
||||
pip install Markdown
|
||||
pip install django-markdown-deux
|
||||
|
||||
8. If you already have a view handling your logins, then great! If not, add the following to ``settings.py`` to get your Django installation to use the login view included in ``django-helpdesk``::
|
||||
|
||||
|
@ -9,7 +9,7 @@ First, django-helpdesk needs ``django.core.context_processors.request`` activat
|
||||
('django.core.context_processors.request',)
|
||||
)
|
||||
|
||||
The following settings can be changed in your ``settings.py`` file to help change the way django-helpdesk operates.
|
||||
The following settings can be changed in your ``settings.py`` file to help change the way django-helpdesk operates. There are quite a few settings available to toggle functionality within django-helpdesk.
|
||||
|
||||
HELPDESK_DEFAULT_SETTINGS
|
||||
-------------------------
|
||||
@ -26,3 +26,159 @@ If you want to override the default settings for your users, create ``HELPDESK_D
|
||||
'email_on_ticket_apichange': True,
|
||||
'tickets_per_page': 25
|
||||
}
|
||||
|
||||
|
||||
Generic Options
|
||||
---------------
|
||||
These changes are visible throughout django-helpdesk
|
||||
|
||||
- **HELPDESK_REDIRECT_TO_LOGIN_BY_DEFAULT** When a user visits "/", should we redirect to the login page instead of the default homepage?
|
||||
|
||||
**Default:** ``HELPDESK_REDIRECT_TO_LOGIN_BY_DEFAULT = False``
|
||||
|
||||
- **HELPDESK_KB_ENABLED** show knowledgebase links?
|
||||
|
||||
**Default:** ``HELPDESK_KB_ENABLED = True``
|
||||
|
||||
- **HELPDESK_NAVIGATION_ENABLED** Show extended navigation by default, to all users, irrespective of staff status?
|
||||
|
||||
**Default:** ``HELPDESK_NAVIGATION_ENABLED = False``
|
||||
|
||||
- **HELPDESK_TRANSLATE_TICKET_COMMENTS** Show dropdown list of languages that ticket comments can be translated into via Google Translate?
|
||||
|
||||
**Default:** ``HELPDESK_TRANSLATE_TICKET_COMMENTS = False``
|
||||
|
||||
- **HELPDESK_TRANSLATE_TICKET_COMMENTS_LANG** List of languages to offer. If set to false, all default google translate languages will be shown.
|
||||
|
||||
**Default:** ``HELPDESK_TRANSLATE_TICKET_COMMENTS_LANG = ["en", "de", "fr", "it", "ru"]``
|
||||
|
||||
- **HELPDESK_SHOW_CHANGE_PASSWORD** Show link to 'change password' on 'User Settings' page?
|
||||
|
||||
**Default:** ``HELPDESK_SHOW_CHANGE_PASSWORD = False``
|
||||
|
||||
- **HELPDESK_FOLLOWUP_MOD** Allow user to override default layout for 'followups' (work in progress)
|
||||
|
||||
**Default:** ``HELPDESK_FOLLOWUP_MOD = False``
|
||||
|
||||
- **HELPDESK_AUTO_SUBSCRIBE_ON_TICKET_RESPONSE** Auto-subscribe user to ticket as a 'CC' if (s)he responds to a ticket?
|
||||
|
||||
**Default:** ``HELPDESK_AUTO_SUBSCRIBE_ON_TICKET_RESPONSE = False``
|
||||
|
||||
- **HELPDESK_EMAIL_SUBJECT_TEMPLATE** Subject template for templated emails. ``%(subject)s`` represents the subject wording from the email template (e.g. "(Closed)").
|
||||
|
||||
**Default:** ``HELPDESK_EMAIL_SUBJECT_TEMPLATE = "{{ ticket.ticket }} {{ ticket.title|safe }} %(subject)s"``
|
||||
|
||||
|
||||
Options shown on public pages
|
||||
-----------------------------
|
||||
|
||||
These options only change display of items on public-facing pages, not staff pages.
|
||||
|
||||
- **HELPDESK_VIEW_A_TICKET_PUBLIC** Show 'View a Ticket' section on public page?
|
||||
|
||||
**Default:** ``HELPDESK_VIEW_A_TICKET_PUBLIC = True``
|
||||
|
||||
- **HELPDESK_SUBMIT_A_TICKET_PUBLIC** Show 'submit a ticket' section & form on public page?
|
||||
|
||||
**Default:** ``HELPDESK_SUBMIT_A_TICKET_PUBLIC = True``
|
||||
|
||||
|
||||
Options that change ticket updates
|
||||
----------------------------------
|
||||
|
||||
- **HELPDESK_ALLOW_NON_STAFF_TICKET_UPDATE** Allow non-staff users to interact with tickets? This will also change how 'staff_member_required'
|
||||
in staff.py will be defined.
|
||||
|
||||
**Default:** ``HELPDESK_ALLOW_NON_STAFF_TICKET_UPDATE = False``
|
||||
|
||||
- **HELPDESK_SHOW_EDIT_BUTTON_FOLLOW_UP** Show edit buttons in ticket follow ups?
|
||||
|
||||
**Default:** ``HELPDESK_SHOW_EDIT_BUTTON_FOLLOW_UP = True``
|
||||
|
||||
- **HELPDESK_SHOW_DELETE_BUTTON_SUPERUSER_FOLLOW_UP** Show delete buttons in ticket follow ups if user is 'superuser'?
|
||||
|
||||
**Default:** ``HELPDESK_SHOW_DELETE_BUTTON_SUPERUSER_FOLLOW_UP = False``
|
||||
|
||||
- **HELPDESK_UPDATE_PUBLIC_DEFAULT** Make all updates public by default? This will hide the 'is this update public' checkbox.
|
||||
|
||||
**Default:** ``HELPDESK_UPDATE_PUBLIC_DEFAULT = False``
|
||||
|
||||
- **HELPDESK_STAFF_ONLY_TICKET_OWNERS** Only show staff users in ticket owner drop-downs?
|
||||
|
||||
**Default:** ``HELPDESK_STAFF_ONLY_TICKET_OWNERS = False``
|
||||
|
||||
- **HELPDESK_STAFF_ONLY_TICKET_CC** Only show staff users in ticket cc drop-down?
|
||||
|
||||
**Default:** ``HELPDESK_STAFF_ONLY_TICKET_CC = False``
|
||||
|
||||
|
||||
Staff Ticket Creation Settings
|
||||
------------------------------
|
||||
|
||||
- **HELPDESK_CREATE_TICKET_HIDE_ASSIGNED_TO** Hide the 'assigned to' / 'Case owner' field from the 'create_ticket' view? It'll still show on the ticket detail/edit form.
|
||||
|
||||
**Default:** ``HELPDESK_CREATE_TICKET_HIDE_ASSIGNED_TO = False``
|
||||
|
||||
|
||||
Dashboard Settings
|
||||
------------------
|
||||
|
||||
These will change the way the *dashboard* is displayed to staff users when they login.
|
||||
|
||||
- **HELPDESK_DASHBOARD_SHOW_DELETE_UNASSIGNED** Show delete button next to unassigned tickets?
|
||||
|
||||
**Default:** ``HELPDESK_DASHBOARD_SHOW_DELETE_UNASSIGNED = True``
|
||||
|
||||
- **HELPDESK_DASHBOARD_HIDE_EMPTY_QUEUES** Hide empty queues in dashboard overview?
|
||||
|
||||
**Default:** ``HELPDESK_DASHBOARD_HIDE_EMPTY_QUEUES = True``
|
||||
|
||||
- **HELPDESK_DASHBOARD_BASIC_TICKET_STATS** Show basic ticket stats on dashboard? This may have performance implications for busy helpdesks.
|
||||
|
||||
**Default:** ``HELPDESK_DASHBOARD_BASIC_TICKET_STATS = False``
|
||||
|
||||
|
||||
Footer Display Settings
|
||||
-----------------------
|
||||
|
||||
- **HELPDESK_FOOTER_SHOW_API_LINK** Show link to API documentation at bottom of page?
|
||||
|
||||
**Default:** ``HELPDESK_FOOTER_SHOW_API_LINK = True``
|
||||
|
||||
- **HELPDESK_FOOTER_SHOW_CHANGE_LANGUAGE_LINK** Show the 'change language' link at bottom of page? Useful if you have a multilingual helpdesk.
|
||||
|
||||
**Default:** ``HELPDESK_FOOTER_SHOW_CHANGE_LANGUAGE_LINK = False``
|
||||
|
||||
Default E-Mail Settings
|
||||
-----------------------
|
||||
|
||||
The following settings default to ``None`` but can be set as defaults, rather than setting them per-queue.
|
||||
|
||||
- ``QUEUE_EMAIL_BOX_TYPE``
|
||||
- ``QUEUE_EMAIL_BOX_SSL``
|
||||
- ``QUEUE_EMAIL_BOX_HOST````
|
||||
- ``QUEUE_EMAIL_BOX_USER``
|
||||
- ``QUEUE_EMAIL_BOX_PASSWORD``
|
||||
|
||||
Discontinued Settings
|
||||
---------------------
|
||||
|
||||
The following settings were defined in previous versions and are no longer supported.
|
||||
|
||||
- **HELPDESK_CUSTOM_WELCOME**
|
||||
|
||||
- **HELDPESK_KB_ENABLED_STAFF** Now always True
|
||||
|
||||
- **HELPDESK_NAVIGATION_STATS_ENABLED** Now always True
|
||||
|
||||
- **HELPDESK_PREPEND_ORG_NAME** Please customise your local `helpdesk/base.html` template if needed
|
||||
|
||||
- **HELPDESK_SHOW_DELETE_BUTTON_TICKET_TOP** Button is always shown
|
||||
|
||||
- **HELPDESK_SHOW_EDIT_BUTTON_TICKET_TOP** Button is always shown
|
||||
|
||||
- **HELPDESK_SHOW_HOLD_BUTTON_TICKET_TOP** Button is always shown
|
||||
|
||||
- **HELPDESK_SHOW_KB_ON_HOMEPAGE** KB categories are always shown on the homepage
|
||||
|
||||
- **HELPDESK_SUPPORT_PERSON** Please customise your local `helpdesk/attribution.html` template if needed
|
||||
|
@ -4,7 +4,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"template_name": "assigned_cc",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hello,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">This is a courtesy e-mail to let you know that ticket <a href=\"{{ ticket.staff_url }}\"><b>{{ ticket.ticket }}</b></a> (<em>{{ ticket.title }}</em>) for {{ ticket.submitter_email }} has been {% if ticket.assigned_to %}assigned to {{ ticket.assigned_to }}{% else %}unassigned{% endif %}.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Queue</b>: {{ queue.title }}<br>\r\n<b>Title</b>: {{ ticket.title }}<br>\r\n<b>Opened</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Submitter</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priority</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Assigned to</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>View Online</a></b> to update this ticket (login required)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Just for reference, the original ticket description was:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hello,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">This is a courtesy e-mail to let you know that ticket <a href=\"{{ ticket.staff_url }}\"><b>{{ ticket.ticket }}</b></a> (<em>{{ ticket.title }}</em>) for {{ ticket.submitter_email }} has been {% if ticket.assigned_to %}assigned to {{ ticket.assigned_to }}{% else %}unassigned{% endif %}.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Queue</b>: {{ queue.title }}<br>\r\n<b>Title</b>: {{ ticket.title }}<br>\r\n<b>Opened</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Submitter</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priority</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Assigned to</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>View Online</a></b> to update this ticket (login required)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Just for reference, the original ticket description was:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>",
|
||||
"plain_text": "Hello,\r\n\r\nThis is a courtesy e-mail to let you know that ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") for {{ ticket.submitter_email }} has been {% if ticket.assigned_to %}assigned to {{ ticket.assigned_to }}{% else %}unassigned{% endif %}.\r\n\r\nTicket ID: {{ ticket.ticket }}\r\nQueue: {{ queue.title }}\r\nTitle: {{ ticket.title }}\r\nOpened: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nSubmitter: {{ ticket.submitter_email|default:\"Unknown\" }}\r\nPriority: {{ ticket.get_priority_display }}\r\nStatus: {{ ticket.get_status }}\r\nAssigned to: {{ ticket.get_assigned_to }}\r\nView Online: {{ ticket.staff_url }}\r\n\r\nThe original ticket description was:\r\n\r\n{{ ticket.description }}\r\n\r\n",
|
||||
"heading": "Ticket Assigned",
|
||||
"subject": "(Assigned)",
|
||||
@ -16,7 +16,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"template_name": "assigned_owner",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hello,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">This is a courtesy e-mail to let you know that ticket <a href=\"{{ ticket.staff_url }}\"><b>{{ ticket.ticket }}</b></a> (<em>{{ ticket.title }}</em>) for {{ ticket.submitter_email }} has been assigned to <b>you</b>.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Queue</b>: {{ queue.title }}<br>\r\n<b>Title</b>: {{ ticket.title }}<br>\r\n<b>Opened</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Submitter</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priority</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Assigned to</b>: YOU<br>\r\n<b><a href='{{ ticket.staff_url }}'>View Online</a></b> to update this ticket (login required)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Just for reference, the original ticket description was:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hello,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">This is a courtesy e-mail to let you know that ticket <a href=\"{{ ticket.staff_url }}\"><b>{{ ticket.ticket }}</b></a> (<em>{{ ticket.title }}</em>) for {{ ticket.submitter_email }} has been assigned to <b>you</b>.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Queue</b>: {{ queue.title }}<br>\r\n<b>Title</b>: {{ ticket.title }}<br>\r\n<b>Opened</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Submitter</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priority</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Assigned to</b>: YOU<br>\r\n<b><a href='{{ ticket.staff_url }}'>View Online</a></b> to update this ticket (login required)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Just for reference, the original ticket description was:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>",
|
||||
"plain_text": "Hello,\r\n\r\nThis is a courtesy e-mail to let you know that ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") for {{ ticket.submitter_email }} has been assigned to you.\r\n\r\nTicket ID: {{ ticket.ticket }}\r\nQueue: {{ queue.title }}\r\nTitle: {{ ticket.title }}\r\nOpened: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nSubmitter: {{ ticket.submitter_email|default:\"Unknown\" }}\r\nPriority: {{ ticket.get_priority_display }}\r\nStatus: {{ ticket.get_status }}\r\nAssigned to: YOU\r\nView Online: {{ ticket.staff_url }}\r\n\r\nThe original ticket description was:\r\n\r\n{{ ticket.description }}\r\n\r\n",
|
||||
"heading": "Ticket Assigned To You",
|
||||
"subject": "(Assigned To You)",
|
||||
@ -28,7 +28,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"template_name": "closed_cc",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hello,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Ticket <i>{{ ticket.title }}</i> ('{{ ticket.title }}'){% if ticket.assigned_to %}, assigned to {{ ticket.get_assigned_to }}{% endif %} has been closed.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Queue</b>: {{ queue.title }}<br>\r\n<b>Title</b>: {{ ticket.title }}<br>\r\n<b>Opened</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Submitter</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priority</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Assigned to</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>View Online</a></b> to update this ticket (login required)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Just for reference, the original ticket description was:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">The resolution provided was:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ resolution }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">If you wish to view this ticket online, you can visit <a href='{{ ticket.staff_url }}'>{{ ticket.staff_url }}</a>.</p>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hello,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Ticket <i>{{ ticket.title }}</i> ('{{ ticket.title }}'){% if ticket.assigned_to %}, assigned to {{ ticket.get_assigned_to }}{% endif %} has been closed.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Queue</b>: {{ queue.title }}<br>\r\n<b>Title</b>: {{ ticket.title }}<br>\r\n<b>Opened</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Submitter</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priority</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Assigned to</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>View Online</a></b> to update this ticket (login required)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Just for reference, the original ticket description was:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">The resolution provided was:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ resolution }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">If you wish to view this ticket online, you can visit <a href='{{ ticket.staff_url }}'>{{ ticket.staff_url }}</a>.</p>",
|
||||
"plain_text": "Hello,\r\n\r\nTicket {{ ticket.title }} (\"{{ ticket.title }}\"){% if ticket.assigned_to %}, assigned to {{ ticket.assigned_to }}{% endif %} has been closed.\r\n\r\nTicket ID: {{ ticket.ticket }}\r\nQueue: {{ queue.title }}\r\nTitle: {{ ticket.title }}\r\nOpened: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nSubmitter: {{ ticket.submitter_email|default:\"Unknown\" }}\r\nPriority: {{ ticket.get_priority_display }}\r\nStatus: {{ ticket.get_status }}\r\nAssigned to: {{ ticket.get_assigned_to }}\r\nView Online: {{ ticket.staff_url }} (login required)\r\n\r\nThe original description was:\r\n\r\n{{ ticket.description }}\r\n\r\nThe resolution provided was:\r\n\r\n{{ resolution }}\r\n\r\n",
|
||||
"heading": "Ticket Closed",
|
||||
"subject": "(Closed)",
|
||||
@ -40,7 +40,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"template_name": "closed_owner",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hello,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">The following ticket, which is currently assigned to you, has been closed.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Queue</b>: {{ queue.title }}<br>\r\n<b>Title</b>: {{ ticket.title }}<br>\r\n<b>Opened</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Submitter</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priority</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Assigned to</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>View Online</a></b> to update this ticket (login required)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Just for reference, the original ticket description was:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">The resolution provided was:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.resolution }}</blockquote>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hello,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">The following ticket, which is currently assigned to you, has been closed.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Queue</b>: {{ queue.title }}<br>\r\n<b>Title</b>: {{ ticket.title }}<br>\r\n<b>Opened</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Submitter</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priority</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Assigned to</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>View Online</a></b> to update this ticket (login required)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Just for reference, the original ticket description was:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">The resolution provided was:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.resolution }}</blockquote>",
|
||||
"plain_text": "Hello,\r\n\r\nThe following ticket, which is currently assigned to you, has been closed.\r\n\r\nTicket ID: {{ ticket.ticket }}\r\nQueue: {{ queue.title }}\r\nTitle: {{ ticket.title }}\r\nOpened: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nSubmitter: {{ ticket.submitter_email|default:\"Unknown\" }}\r\nPriority: {{ ticket.get_priority_display }}\r\nStatus: {{ ticket.get_status }}\r\nAssigned to: {{ ticket.get_assigned_to }}\r\nView Online: {{ ticket.staff_url }} (login required)\r\n\r\nIf you wish to view this ticket online, you can visit {{ ticket.staff_url }}.\r\n\r\n",
|
||||
"heading": "Ticket Closed",
|
||||
"subject": "(Closed)",
|
||||
@ -64,7 +64,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"template_name": "escalated_cc",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hello,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">This is a courtesy e-mail to let you know that ticket <i>{{ ticket.ticket }}</i> ('{{ ticket.title }}') has been escalated automatically.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Queue</b>: {{ queue.title }}<br>\r\n<b>Title</b>: {{ ticket.title }}<br>\r\n<b>Opened</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Submitter</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priority</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Assigned to</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>View Online</a></b> to update this ticket (login required)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Just for reference, the original ticket description was:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hello,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">This is a courtesy e-mail to let you know that ticket <i>{{ ticket.ticket }}</i> ('{{ ticket.title }}') has been escalated automatically.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Queue</b>: {{ queue.title }}<br>\r\n<b>Title</b>: {{ ticket.title }}<br>\r\n<b>Opened</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Submitter</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priority</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Assigned to</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>View Online</a></b> to update this ticket (login required)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Just for reference, the original ticket description was:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>",
|
||||
"plain_text": "Hello,\r\n\r\nThis is a courtesy e-mail to let you know that ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") has been escalated automatically.\r\n\r\nTicket ID: {{ ticket.ticket }}\r\nQueue: {{ queue.title }}\r\nTitle: {{ ticket.title }}\r\nOpened: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nSubmitter: {{ ticket.submitter_email|default:\"Unknown\" }}\r\nPriority: {{ ticket.get_priority_display }}\r\nStatus: {{ ticket.get_status }}\r\nAssigned to: {{ ticket.get_assigned_to }}\r\nView Online: {{ ticket.staff_url }} (login required)\r\n\r\nThe original ticket description was:\r\n\r\n{{ ticket.description }}\r\n\r\n",
|
||||
"heading": "Ticket Escalated",
|
||||
"subject": "(Escalated)",
|
||||
@ -76,7 +76,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"template_name": "escalated_owner",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hello,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">A ticket currently assigned to you has been automatically escalated as it has been open for longer than expected.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Queue</b>: {{ queue.title }}<br>\r\n<b>Title</b>: {{ ticket.title }}<br>\r\n<b>Opened</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Submitter</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priority</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Assigned to</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>View Online</a></b> to update this ticket (login required)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Just for reference, the original ticket description was:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hello,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">A ticket currently assigned to you has been automatically escalated as it has been open for longer than expected.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Queue</b>: {{ queue.title }}<br>\r\n<b>Title</b>: {{ ticket.title }}<br>\r\n<b>Opened</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Submitter</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priority</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Assigned to</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>View Online</a></b> to update this ticket (login required)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Just for reference, the original ticket description was:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>",
|
||||
"plain_text": "Hello,\r\n\r\nA ticket currently assigned to you has been automatically escalated as it has been open for longer than expected.\r\n\r\nTicket ID: {{ ticket.ticket }}\r\nQueue: {{ queue.title }}\r\nTitle: {{ ticket.title }}\r\nOpened: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nSubmitter: {{ ticket.submitter_email|default:\"Unknown\" }}\r\nPriority: {{ ticket.get_priority_display }}\r\nStatus: {{ ticket.get_status }}\r\nAssigned to: {{ ticket.get_assigned_to }}\r\nView Online: {{ ticket.staff_url }} (login required)\r\n\r\nThe original ticket description was:\r\n\r\n{{ ticket.description }}\r\n\r\nPlease review this ticket and attempt to provide a resolution as soon as possible.\r\n\r\n",
|
||||
"heading": "Ticket Assigned to You Has Been Escalated",
|
||||
"subject": "(Escalated)",
|
||||
@ -100,7 +100,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"template_name": "newticket_cc",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hello,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">This is a courtesy e-mail to let you know that a new ticket has been opened.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Queue</b>: {{ queue.title }}<br>\r\n<b>Title</b>: {{ ticket.title }}<br>\r\n<b>Opened</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Submitter</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priority</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>View Online</a></b> to update this ticket (login required)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Description:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hello,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">This is a courtesy e-mail to let you know that a new ticket has been opened.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Queue</b>: {{ queue.title }}<br>\r\n<b>Title</b>: {{ ticket.title }}<br>\r\n<b>Opened</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Submitter</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priority</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>View Online</a></b> to update this ticket (login required)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Description:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>",
|
||||
"plain_text": "Hello,\r\n\r\nThis is a courtesy e-mail to let you know that a new ticket has been opened.\r\n\r\nTicket ID: {{ ticket.ticket }}\r\nQueue: {{ queue.title }}\r\nTitle: {{ ticket.title }}\r\nOpened: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nSubmitter: {{ ticket.submitter_email|default:\"Unknown\" }}\r\nPriority: {{ ticket.get_priority_display }}\r\nStatus: {{ ticket.get_status }}\r\nView Online: {{ ticket.staff_url }} (login required)\r\n\r\nDescription:\r\n{{ ticket.description }}\r\n\r\n",
|
||||
"heading": "New Ticket Opened",
|
||||
"subject": "(Opened)",
|
||||
@ -124,7 +124,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"template_name": "resolved_cc",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hello,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">The following ticket has been resolved.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Queue</b>: {{ queue.title }}<br>\r\n<b>Title</b>: {{ ticket.title }}<br>\r\n<b>Opened</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Submitter</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priority</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Assigned to</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>View Online</a></b> to update this ticket (login required)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Just for reference, the original ticket description was:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">The resolution that was added was:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.resolution }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">This resolution has been e-mailed to the submitter, who will verify it before you can close this ticket.</p>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hello,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">The following ticket has been resolved.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Queue</b>: {{ queue.title }}<br>\r\n<b>Title</b>: {{ ticket.title }}<br>\r\n<b>Opened</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Submitter</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priority</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Assigned to</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>View Online</a></b> to update this ticket (login required)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Just for reference, the original ticket description was:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">The resolution that was added was:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.resolution }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">This resolution has been e-mailed to the submitter, who will verify it before you can close this ticket.</p>",
|
||||
"plain_text": "Hello,\r\n\r\nThe following ticket has been resolved:\r\n\r\nTicket ID: {{ ticket.ticket }}\r\nQueue: {{ queue.title }}\r\nTitle: {{ ticket.title }}\r\nOpened: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nSubmitter: {{ ticket.submitter_email|default:\"Unknown\" }}\r\nPriority: {{ ticket.get_priority_display }}\r\nStatus: {{ ticket.get_status }}\r\nAssigned to: {{ ticket.get_assigned_to }}\r\nView Online: {{ ticket.staff_url }} (login required)\r\n\r\nThe original ticket description was:\r\n\r\n{{ ticket.description }}\r\n\r\nThe resolution provided was:\r\n\r\n{{ ticket.resolution }}\r\n\r\nThis resolution has been e-mailed to the submitter, who will verify it before you can close this ticket.\r\n\r\n",
|
||||
"heading": "Ticket Resolved",
|
||||
"subject": "(Resolved)",
|
||||
@ -136,7 +136,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"template_name": "resolved_owner",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hello,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">A ticket currently assigned to you has been resolved.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Queue</b>: {{ queue.title }}<br>\r\n<b>Title</b>: {{ ticket.title }}<br>\r\n<b>Opened</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Submitter</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priority</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Assigned to</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>View Online</a></b> to update this ticket (login required)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Just for reference, the original ticket description was:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">The resolution that was added was:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.resolution }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">This resolution has been e-mailed to the submitter, who will verify it before you can close this ticket.</p>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hello,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">A ticket currently assigned to you has been resolved.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Queue</b>: {{ queue.title }}<br>\r\n<b>Title</b>: {{ ticket.title }}<br>\r\n<b>Opened</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Submitter</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priority</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Assigned to</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>View Online</a></b> to update this ticket (login required)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Just for reference, the original ticket description was:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">The resolution that was added was:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.resolution }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">This resolution has been e-mailed to the submitter, who will verify it before you can close this ticket.</p>",
|
||||
"plain_text": "Hello,\r\n\r\nA ticket currently assigned to you has been resolved.\r\n\r\nTicket ID: {{ ticket.ticket }}\r\nQueue: {{ queue.title }}\r\nTitle: {{ ticket.title }}\r\nOpened: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nSubmitter: {{ ticket.submitter_email|default:\"Unknown\" }}\r\nPriority: {{ ticket.get_priority_display }}\r\nStatus: {{ ticket.get_status }}\r\nAssigned to: {{ ticket.get_assigned_to }}\r\nView Online: {{ ticket.staff_url }} (login required)\r\n\r\nThe original ticket description was:\r\n\r\n{{ ticket.description }}\r\n\r\nThe resolution provided was:\r\n\r\n{{ ticket.resolution }}\r\n\r\nThis resolution has been e-mailed to the submitter, who will verify it before you can close this ticket.\r\n\r\n",
|
||||
"heading": "Ticket Resolved",
|
||||
"subject": "(Resolved)",
|
||||
@ -160,7 +160,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"template_name": "updated_cc",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hello,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">This is a courtesy e-mail to let you know that ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") for {{ ticket.submitter_email }} has been updated.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Queue</b>: {{ queue.title }}<br>\r\n<b>Title</b>: {{ ticket.title }}<br>\r\n<b>Opened</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Submitter</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priority</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Assigned to</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>View Online</a></b> to update this ticket (login required)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Just for reference, the original ticket description was:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">The following comment was added:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ comment }}</blockquote>\r\n\r\n<p style=\"font-family: Tahoma, Arial, sans-serif; font-size: 11pt;\">This information has {% if private %}not {% endif %} been e-mailed to the submitter.</p>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hello,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">This is a courtesy e-mail to let you know that ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") for {{ ticket.submitter_email }} has been updated.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Queue</b>: {{ queue.title }}<br>\r\n<b>Title</b>: {{ ticket.title }}<br>\r\n<b>Opened</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Submitter</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priority</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Assigned to</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>View Online</a></b> to update this ticket (login required)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Just for reference, the original ticket description was:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">The following comment was added:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ comment }}</blockquote>\r\n\r\n<p style=\"font-family: Tahoma, Arial, sans-serif; font-size: 11pt;\">This information has {% if private %}not {% endif %} been e-mailed to the submitter.</p>",
|
||||
"plain_text": "Hello,\r\n\r\nThis is a courtesy e-mail to let you know that ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") for {{ ticket.submitter_email }} has been updated.\r\n\r\nTicket ID: {{ ticket.ticket }}\r\nQueue: {{ queue.title }}\r\nTitle: {{ ticket.title }}\r\nOpened: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nSubmitter: {{ ticket.submitter_email|default:\"Unknown\" }}\r\nPriority: {{ ticket.get_priority_display }}\r\nStatus: {{ ticket.get_status }}\r\nAssigned to: {{ ticket.get_assigned_to }}\r\nView Online: {{ ticket.staff_url }} (login required)\r\n\r\nOriginal description:\r\n\r\n{{ ticket.description }}\r\n\r\nThe following comment was added:\r\n\r\n{{ comment }}\r\n\r\nThis information has {% if private %}not {% endif %} been e-mailed to the submitter.\r\n\r\nIf you wish to view this ticket online, you can visit {{ ticket.staff_url }}.\r\n\r\n",
|
||||
"heading": "Ticket Updated",
|
||||
"subject": "(Updated)",
|
||||
@ -172,7 +172,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"template_name": "updated_owner",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hello,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">This is a courtesy e-mail to let you know that ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") for {{ ticket.submitter_email }}, which is assigned to you, has been updated.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Queue</b>: {{ queue.title }}<br>\r\n<b>Title</b>: {{ ticket.title }}<br>\r\n<b>Opened</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Submitter</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priority</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Assigned to</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>View Online</a></b> to update this ticket (login required)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Just for reference, the original ticket description was:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">The following comment was added:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ comment }}</blockquote>\r\n\r\n<p style=\"font-family: Tahoma, Arial, sans-serif; font-size: 11pt;\">This information has {% if private %}not {% endif %} been e-mailed to the submitter.</p>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hello,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">This is a courtesy e-mail to let you know that ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") for {{ ticket.submitter_email }}, which is assigned to you, has been updated.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Queue</b>: {{ queue.title }}<br>\r\n<b>Title</b>: {{ ticket.title }}<br>\r\n<b>Opened</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Submitter</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priority</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Assigned to</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>View Online</a></b> to update this ticket (login required)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Just for reference, the original ticket description was:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">The following comment was added:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ comment }}</blockquote>\r\n\r\n<p style=\"font-family: Tahoma, Arial, sans-serif; font-size: 11pt;\">This information has {% if private %}not {% endif %} been e-mailed to the submitter.</p>",
|
||||
"plain_text": "Hello,\r\n\r\nThis is a courtesy e-mail to let you know that ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") for {{ ticket.submitter_email }}, which is assigned to you, has been updated.\r\n\r\nTicket ID: {{ ticket.ticket }}\r\nQueue: {{ queue.title }}\r\nTitle: {{ ticket.title }}\r\nOpened: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nSubmitter: {{ ticket.submitter_email|default:\"Unknown\" }}\r\nPriority: {{ ticket.get_priority_display }}\r\nStatus: {{ ticket.get_status }}\r\nAssigned to: {{ ticket.get_assigned_to }}\r\nView Online: {{ ticket.staff_url }} (login required)\r\n\r\nOriginal description:\r\n\r\n{{ ticket.description }}\r\n\r\nThe following comment was added:\r\n\r\n{{ comment }}\r\n\r\nThis information has {% if private %}not {% endif %} been e-mailed to the submitter.\r\n\r\nIf you wish to view this ticket online, you can visit {{ ticket.staff_url }}\r\n\r\n",
|
||||
"heading": "Ticket Updated",
|
||||
"subject": "(Updated)",
|
||||
@ -196,7 +196,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"template_name": "assigned_cc",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Здравствуйте,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Уведомляем Вас о том, что заявка <a href=\"{{ ticket.staff_url }}\"><b>{{ ticket.ticket }}</b></a> (<em>{{ ticket.title }}</em>) от {{ ticket.submitter_email }} была {% if ticket.assigned_to %}принята {{ ticket.assigned_to }}{% else %}отклонена{% endif %}.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>ID заявки</b>: {{ ticket.ticket }}<br>\r\n<b>Очередь</b>: {{ queue.title }}<br>\r\n<b>Заголовок</b>: {{ ticket.title }}<br>\r\n<b>Создана</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Автор заявки</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Приоритет</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Статус</b>: {{ ticket.get_status }}<br>\r\n<b>Присвоена</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href=\"{{ ticket.staff_url }}\">Перейти к заявке</a></b> оставить комментарий (требуется авторизация)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Изначальное описание :</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Здравствуйте,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Уведомляем Вас о том, что заявка <a href=\"{{ ticket.staff_url }}\"><b>{{ ticket.ticket }}</b></a> (<em>{{ ticket.title }}</em>) от {{ ticket.submitter_email }} была {% if ticket.assigned_to %}принята {{ ticket.assigned_to }}{% else %}отклонена{% endif %}.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>ID заявки</b>: {{ ticket.ticket }}<br>\r\n<b>Очередь</b>: {{ queue.title }}<br>\r\n<b>Заголовок</b>: {{ ticket.title }}<br>\r\n<b>Создана</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Автор заявки</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Приоритет</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Статус</b>: {{ ticket.get_status }}<br>\r\n<b>Присвоена</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href=\"{{ ticket.staff_url }}\">Перейти к заявке</a></b> оставить комментарий (требуется авторизация)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Изначальное описание :</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>",
|
||||
"plain_text": "Здравствуйте,\r\n\r\nУведомляем Вас о том, что заявка, {{ ticket.ticket }} (\"{{ ticket.title }}\") от {{ ticket.submitter_email }}, была {% if ticket.assigned_to %} принята {{ ticket.assigned_to }}{% else %} отклонена {% endif %}.\r\n\r\nID заявки: {{ ticket.ticket }}\r\nОчередь: {{ queue.title }}\r\nЗаголовок: {{ ticket.title }}\r\nСоздана: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nАвтор заявки: {{ ticket.submitter_email|default:\"Unknown\" }}\r\nПриоритет: {{ ticket.get_priority_display }}\r\nСтатус: {{ ticket.get_status }}\r\nПрисвоена: {{ ticket.get_assigned_to }}\r\nПерейти к заявке: {{ ticket.staff_url }}\r\n\r\nИзначальное описание:\r\n\r\n{{ ticket.description }}",
|
||||
"heading": "Заявка",
|
||||
"subject": " ",
|
||||
@ -208,7 +208,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"template_name": "assigned_owner",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em\";>Здравствуйте,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Уведомляем Вас о том, что заявка <a href=\"{{ ticket.staff_url }}\"><b>{{ ticket.ticket }}</b></a> (<em>{{ ticket.title }}</em>) от {{ ticket.submitter_email }} была присвоена <b>Вам</b>.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>ID заявки</b>: {{ ticket.ticket }}<br>\r\n<b>Очередь</b>: {{ queue.title }}<br>\r\n<b>Заголовок</b>: {{ ticket.title }}<br>\r\n<b>Создана</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Автор заявки</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Приоритет</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Статус</b>: {{ ticket.get_status }}<br>\r\n<b>Присвоена</b>: ВАМ<br>\r\n<b><a href=\"{{ ticket.staff_url }}\">Перейти к заявке</a></b> оставить комментарий (требуется авторизация)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Изначальное описание заявки:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em\";>Здравствуйте,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Уведомляем Вас о том, что заявка <a href=\"{{ ticket.staff_url }}\"><b>{{ ticket.ticket }}</b></a> (<em>{{ ticket.title }}</em>) от {{ ticket.submitter_email }} была присвоена <b>Вам</b>.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>ID заявки</b>: {{ ticket.ticket }}<br>\r\n<b>Очередь</b>: {{ queue.title }}<br>\r\n<b>Заголовок</b>: {{ ticket.title }}<br>\r\n<b>Создана</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Автор заявки</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Приоритет</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Статус</b>: {{ ticket.get_status }}<br>\r\n<b>Присвоена</b>: ВАМ<br>\r\n<b><a href=\"{{ ticket.staff_url }}\">Перейти к заявке</a></b> оставить комментарий (требуется авторизация)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Изначальное описание заявки:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>",
|
||||
"plain_text": "Здравствуйте,\r\n\r\nУведомляем Вас о том, что заявка {{ ticket.ticket }} (\"{{ ticket.title }}\") от {{ ticket.submitter_email }} была присвоенна Вам.\r\n\r\nID заявки: {{ ticket.ticket }}\r\nОчередь: {{ queue.title }}\r\nЗаголовок: {{ ticket.title }}\r\nСоздана: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nАвтор заявки: {{ ticket.submitter_email|default:\"Unknown\" }}\r\nПриоритет: {{ ticket.get_priority_display }}\r\nСтатус: {{ ticket.get_status }}\r\nПрисвоена: ВАМ\r\nПросмотреть онлайн: {{ ticket.staff_url }}\r\n\r\nИзначальное описание:\r\n\r\n{{ ticket.description }}",
|
||||
"heading": "Вам присвоенна заявка",
|
||||
"subject": " ",
|
||||
@ -220,7 +220,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"template_name": "closed_cc",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Здравствуйте,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Заявка <i>{{ ticket.title }}</i> (\"{{ ticket.title }}\"){% if ticket.assigned_to %}, присвоенная {{ ticket.get_assigned_to }}{% endif %} была закрыта.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>ID заявки</b>: {{ ticket.ticket }}<br>\r\n<b>Очередь</b>: {{ queue.title }}<br>\r\n<b>Заголовок</b>: {{ ticket.title }}<br>\r\n<b>Создана</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Автор заявки</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Приоритет</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Статус</b>: {{ ticket.get_status }}<br>\r\n<b>Присвоена</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href=\"{{ ticket.staff_url }}\">Перейти к заявке</a></b> to оставить комментарий (требуется авторизация)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Изначальное описание:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;>{{ ticket.description }}</blockquote>\r\n\r\n<p style=font-family: sans-serif; font-size: 1em;\">Было принято следующее решение:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ resolution }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Перейти к заявке <a href=\"{{ ticket.staff_url }}\">{{ ticket.staff_url }}</a>.</p>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Здравствуйте,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Заявка <i>{{ ticket.title }}</i> (\"{{ ticket.title }}\"){% if ticket.assigned_to %}, присвоенная {{ ticket.get_assigned_to }}{% endif %} была закрыта.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>ID заявки</b>: {{ ticket.ticket }}<br>\r\n<b>Очередь</b>: {{ queue.title }}<br>\r\n<b>Заголовок</b>: {{ ticket.title }}<br>\r\n<b>Создана</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Автор заявки</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Приоритет</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Статус</b>: {{ ticket.get_status }}<br>\r\n<b>Присвоена</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href=\"{{ ticket.staff_url }}\">Перейти к заявке</a></b> to оставить комментарий (требуется авторизация)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Изначальное описание:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;>{{ ticket.description|linebreaksbr }}</blockquote>\r\n\r\n<p style=font-family: sans-serif; font-size: 1em;\">Было принято следующее решение:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ resolution }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Перейти к заявке <a href=\"{{ ticket.staff_url }}\">{{ ticket.staff_url }}</a>.</p>",
|
||||
"plain_text": "Здравствуйте,\r\n\r\nЗаявка {{ ticket.title }} (\"{{ ticket.title }}\"){% if ticket.assigned_to %}, присвоенная {{ ticket.assigned_to }}{% endif %} была закрыта.\r\n\r\nID заявки: {{ ticket.ticket }}\r\nОчередь: {{ queue.title }}\r\nЗаголовок: {{ ticket.title }}\r\nСоздана: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nАвтор заявки: {{ ticket.submitter_email|default:\"Unknown\" }}\r\nПриоритет: {{ ticket.get_priority_display }}\r\nСтатус: {{ ticket.get_status }}\r\nПрисвоена: {{ ticket.get_assigned_to }}\r\nПерейти к заявке: {{ ticket.staff_url }} (требуется авторизация)\r\n\r\nИзначальное описание:\r\n\r\n{{ ticket.description }}\r\n\r\nБыло предложено следующее решение:\r\n\r\n{{ resolution }}",
|
||||
"heading": "Заявка закрыта",
|
||||
"subject": " ",
|
||||
@ -232,7 +232,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"template_name": "closed_owner",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Здравствуйте,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Следующая заявка, которая на данный момент присвоена Вам, была закрыта.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>ID заявки</b>: {{ ticket.ticket }}<br>\r\n<b>Очередь</b>: {{ queue.title }}<br>\r\n<b>Заголовок</b>: {{ ticket.title }}<br>\r\n<b>Создана</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Автор заявки</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Приоритет</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Статус</b>: {{ ticket.get_status }}<br>\r\n<b>Присвоена</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href=\"{{ ticket.staff_url }}\">Перейти к заявке</a></b> Оставить комментарий (требуется авторизация)</p>\r\n\r\n<p style=\"font-family: sans-serif\"; font-size: 1em;>Изначальное описание:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Было предложено следующее решение:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.resolution }}</blockquote>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Здравствуйте,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Следующая заявка, которая на данный момент присвоена Вам, была закрыта.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>ID заявки</b>: {{ ticket.ticket }}<br>\r\n<b>Очередь</b>: {{ queue.title }}<br>\r\n<b>Заголовок</b>: {{ ticket.title }}<br>\r\n<b>Создана</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Автор заявки</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Приоритет</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Статус</b>: {{ ticket.get_status }}<br>\r\n<b>Присвоена</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href=\"{{ ticket.staff_url }}\">Перейти к заявке</a></b> Оставить комментарий (требуется авторизация)</p>\r\n\r\n<p style=\"font-family: sans-serif\"; font-size: 1em;>Изначальное описание:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Было предложено следующее решение:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.resolution }}</blockquote>",
|
||||
"plain_text": "Hello,\r\n\r\nСледующая заявка, которая на данный момент присвоена Вам, была закрыта.\r\n\r\nID заявки: {{ ticket.ticket }}\r\nОчередь: {{ queue.title }}\r\nЗаголовок: {{ ticket.title }}\r\nСоздана: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nАвтор заявки: {{ ticket.submitter_email|default:\"Unknown\" }}\r\nПриоритет: {{ ticket.get_priority_display }}\r\nСтатус: {{ ticket.get_status }}\r\nПрисвоена: {{ ticket.get_assigned_to }}\r\nПерейти к заявке: {{ ticket.staff_url }} (требуется авторизаци)\r\n\r\nДля просмотра заявки перейдите по ссылке {{ ticket.staff_url }}.\r\n\r\n",
|
||||
"heading": "Заявка закрыта",
|
||||
"subject": " ",
|
||||
@ -256,7 +256,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"template_name": "escalated_cc",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em\";>Здравствуйте,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Уведомляем Вас о том, что приоритет заявки <i>{{ ticket.ticket }}</i> (\"{{ ticket.title }}\")был автоматически повышен.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>ID заявки</b>: {{ ticket.ticket }}<br>\r\n<b>Очередь</b>: {{ queue.title }}<br>\r\n<b>Заголовок</b>: {{ ticket.title }}<br>\r\n<b>Создана</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Автор заявки</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Приоритет</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Статус</b>: {{ ticket.get_status }}<br>\r\n<b>Присвоена</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href=\"{{ ticket.staff_url }}\">Перейти к заявке</a></b> оставить комментарий (требуется авторизация)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Изначальное описание :</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em\";>Здравствуйте,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Уведомляем Вас о том, что приоритет заявки <i>{{ ticket.ticket }}</i> (\"{{ ticket.title }}\")был автоматически повышен.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>ID заявки</b>: {{ ticket.ticket }}<br>\r\n<b>Очередь</b>: {{ queue.title }}<br>\r\n<b>Заголовок</b>: {{ ticket.title }}<br>\r\n<b>Создана</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Автор заявки</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Приоритет</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Статус</b>: {{ ticket.get_status }}<br>\r\n<b>Присвоена</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href=\"{{ ticket.staff_url }}\">Перейти к заявке</a></b> оставить комментарий (требуется авторизация)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Изначальное описание :</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>",
|
||||
"plain_text": "Здравствуйте,\r\n\r\nУведомляем Вас о том, что приоритет заявки {{ ticket.ticket }} (\"{{ ticket.title }}\") был автоматически повышен.\r\n\r\nID заявки: {{ ticket.ticket }}\r\nОчередь: {{ queue.title }}\r\nЗаголовок: {{ ticket.title }}\r\nСоздана: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nАвтор заявки: {{ ticket.submitter_email|default:\"Unknown\" }}\r\nПриоритет: {{ ticket.get_priority_display }}\r\nСтатус: {{ ticket.get_status }}\r\nПрисвоена: {{ ticket.get_assigned_to }}\r\nПерейти к заявке: {{ ticket.staff_url }} (login required)\r\n\r\nИзначальное описание:\r\n\r\n{{ ticket.description }}",
|
||||
"heading": "Приоритет заявки повышен",
|
||||
"subject": " ",
|
||||
@ -268,7 +268,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"template_name": "escalated_owner",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Здравствуйте,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Приоритет заявки, которая на данный момент присвоена Вам, был автоматически повышен, так как она оставалась открытой дольше, чем ожидалось.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>ID заявки</b>: {{ ticket.ticket }}<br>\r\n<b>Очередь</b>: {{ queue.title }}<br>\r\n<b>Заголовок</b>: {{ ticket.title }}<br>\r\n<b>Создана</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Автор заявки</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\nПриоритет</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Статус</b>: {{ ticket.get_status }}<br>\r\n<b>Присвоена</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href=\"{{ ticket.staff_url }}\">Перейти к заявке</a></b>оставить комментарий (требуется авторизация)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Изначальное описание заявки:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Здравствуйте,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Приоритет заявки, которая на данный момент присвоена Вам, был автоматически повышен, так как она оставалась открытой дольше, чем ожидалось.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>ID заявки</b>: {{ ticket.ticket }}<br>\r\n<b>Очередь</b>: {{ queue.title }}<br>\r\n<b>Заголовок</b>: {{ ticket.title }}<br>\r\n<b>Создана</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Автор заявки</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\nПриоритет</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Статус</b>: {{ ticket.get_status }}<br>\r\n<b>Присвоена</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href=\"{{ ticket.staff_url }}\">Перейти к заявке</a></b>оставить комментарий (требуется авторизация)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Изначальное описание заявки:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>",
|
||||
"plain_text": "Здравствуйте,\r\n\r\nПриоритет заявки, которая на данный момент присвоена Вам, был автоматически повышен, так как она оставалась открытой дольше, чем ожидалось.\r\n\r\nID заявки: {{ ticket.ticket }}\r\nОчередь: {{ queue.title }}\r\nЗаголовок: {{ ticket.title }}\r\nСоздана: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nАвтор заявки: {{ ticket.submitter_email|default:\"Unknown\" }}\r\nПриоритет: {{ ticket.get_priority_display }}\r\nСтатус: {{ ticket.get_status }}\r\nАдресованна: {{ ticket.get_assigned_to }}\r\nПерейти к заявке: {{ ticket.staff_url }} (необходима авторизация)\r\n\r\nИзначальное описание:\r\n\r\n{{ ticket.description }}\r\n\r\nПожалуйста, рассмотрите заявку и и попытайтесь найти решение проблемы как можно быстрее.",
|
||||
"heading": "Приоритет присвоенной Вам заявки был повышен",
|
||||
"subject": " ",
|
||||
@ -292,7 +292,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"template_name": "newticket_cc",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Здравствуйте,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Уведомляем Вас о том, что была подана новая заявка</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>ID заявки</b>: {{ ticket.ticket }}<br>\r\n<b>Очередь</b>: {{ queue.title }}<br>\r\n<b>Заголовок</b>: {{ ticket.title }}<br>\r\n<b>Создана</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Автор заявки</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Приоритет</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Статус</b>: {{ ticket.get_status }}<br>\r\n<b><a href=\"{{ ticket.staff_url }}\">Перейти к заявке</a></b> оставить комментарий (требуется авторизация)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Описание:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Здравствуйте,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Уведомляем Вас о том, что была подана новая заявка</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>ID заявки</b>: {{ ticket.ticket }}<br>\r\n<b>Очередь</b>: {{ queue.title }}<br>\r\n<b>Заголовок</b>: {{ ticket.title }}<br>\r\n<b>Создана</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Автор заявки</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Приоритет</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Статус</b>: {{ ticket.get_status }}<br>\r\n<b><a href=\"{{ ticket.staff_url }}\">Перейти к заявке</a></b> оставить комментарий (требуется авторизация)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Описание:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>",
|
||||
"plain_text": "Здравствуйте,\r\n\r\nУведомляем Вас о том, что была подана новая заявка.\r\n\r\nID заявки: {{ ticket.ticket }}\r\nОчередь: {{ queue.title }}\r\nЗаголовок: {{ ticket.title }}\r\nСоздана: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nАвтор заявки: {{ ticket.submitter_email|default:\"Unknown\" }}\r\nПриоритет: {{ ticket.get_priority_display }}\r\nСтатус: {{ ticket.get_status }}\r\nПерейти к заявке: {{ ticket.staff_url }} (login required)\r\n\r\nОписание:\r\n{{ ticket.description }}\r\n",
|
||||
"heading": "Подана новая заявка",
|
||||
"subject": " ",
|
||||
@ -316,7 +316,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"template_name": "resolved_cc",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Здравствуйте,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Было найдено решение проблемы, указанной в следующей заявке.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>ID заявки</b>: {{ ticket.ticket }}<br>\r\n<b>Очередь</b>: {{ queue.title }}<br>\r\n<b>Заголовок</b>: {{ ticket.title }}<br>\r\n<b>Создана</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Автор заявки</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Приоритет</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Статус</b>: {{ ticket.get_status }}<br>\r\n<b>Присвоена</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href=\"{{ ticket.staff_url }}\">Перейти к заявке</a></b> оставить комментарий (требуется авторизация)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Изначальное описание:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Было предложено следующее решение:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.resolution }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Это решение было отправлено автору заявки, который должен будет подтвердить его, прежде чем Вы сможете закрыть эту заявку.</p>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Здравствуйте,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Было найдено решение проблемы, указанной в следующей заявке.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>ID заявки</b>: {{ ticket.ticket }}<br>\r\n<b>Очередь</b>: {{ queue.title }}<br>\r\n<b>Заголовок</b>: {{ ticket.title }}<br>\r\n<b>Создана</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Автор заявки</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Приоритет</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Статус</b>: {{ ticket.get_status }}<br>\r\n<b>Присвоена</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href=\"{{ ticket.staff_url }}\">Перейти к заявке</a></b> оставить комментарий (требуется авторизация)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Изначальное описание:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Было предложено следующее решение:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.resolution }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Это решение было отправлено автору заявки, который должен будет подтвердить его, прежде чем Вы сможете закрыть эту заявку.</p>",
|
||||
"plain_text": "Здравствуйте,\r\n\r\nБыло найдено решение проблемы, указанной в следующей заявке:\r\n\r\nID заявки: {{ ticket.ticket }}\r\nОчередь: {{ queue.title }}\r\nЗаголовок: {{ ticket.title }}\r\nСоздана: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nАвтор заявки: {{ ticket.submitter_email|default:\"Unknown\" }}\r\nПриоритет: {{ ticket.get_priority_display }}\r\nСтатус: {{ ticket.get_status }}\r\nПрисвоена: {{ ticket.get_assigned_to }}\r\nПерейти к заявке: {{ ticket.staff_url }} (требуется авторизация)\r\n\r\nИзначальное описание:\r\n\r\n{{ ticket.description }}\r\n\r\nБыло предложено следующее решение:\r\n\r\n{{ ticket.resolution }}\r\n\r\nЭто решение было отправлено автору заявки, который должен будет подтвердить его, прежде чем Вы сможете закрыть эту заявку.",
|
||||
"heading": "Решение найдено",
|
||||
"subject": " ",
|
||||
@ -328,7 +328,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"template_name": "resolved_owner",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Здравствуйте,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Было найдено решение проблемы, указанной в присвоенной Вам заявке.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>ID заявки</b>: {{ ticket.ticket }}<br>\r\n<b>очередь</b>: {{ queue.title }}<br>\r\n<b>Заголовок</b>: {{ ticket.title }}<br>\r\n<b>Создана</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Автор заявки</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Приоритет</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Статус</b>: {{ ticket.get_status }}<br>\r\n<b>Присвоена</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href=\"{{ ticket.staff_url }}\">Перейти к заявке</a></b> оставить комментарий (требуется авторизация)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Изначальное описание:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Было предложено следующее решение:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.resolution }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Это решение было отправлено автору заявки, который должен будет подтвердить его, прежде чем Вы сможете закрыть эту заявку.</p>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Здравствуйте,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Было найдено решение проблемы, указанной в присвоенной Вам заявке.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>ID заявки</b>: {{ ticket.ticket }}<br>\r\n<b>очередь</b>: {{ queue.title }}<br>\r\n<b>Заголовок</b>: {{ ticket.title }}<br>\r\n<b>Создана</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Автор заявки</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Приоритет</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Статус</b>: {{ ticket.get_status }}<br>\r\n<b>Присвоена</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href=\"{{ ticket.staff_url }}\">Перейти к заявке</a></b> оставить комментарий (требуется авторизация)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Изначальное описание:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Было предложено следующее решение:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.resolution }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Это решение было отправлено автору заявки, который должен будет подтвердить его, прежде чем Вы сможете закрыть эту заявку.</p>",
|
||||
"plain_text": "Здравствуйте,\r\n\r\nБыло найдено решение проблемы, указанной в присвоенной Вам заявке.\r\n\r\nID заявки: {{ ticket.ticket }}\r\nОчередь: {{ queue.title }}\r\nЗаголовок: {{ ticket.title }}\r\nСоздана: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nАвтор заявки: {{ ticket.submitter_email|default:\"Unknown\" }}\r\nПриоритет: {{ ticket.get_priority_display }}\r\nСтатус: {{ ticket.get_status }}\r\nПрисвоена: {{ ticket.get_assigned_to }}\r\nПерейти к заявке: {{ ticket.staff_url }} (требуется авторизация)\r\n\r\nИзначальное описание:\r\n\r\n{{ ticket.description }}\r\n\r\nБыло предложено следующее решение:\r\n\r\n{{ ticket.resolution }}\r\n\r\nЭто решение было отправлено автору заявки, который должен будет подтвердить его, прежде чем Вы сможете закрыть эту заявку.",
|
||||
"heading": "Решение найдено",
|
||||
"subject": " ",
|
||||
@ -352,7 +352,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"template_name": "updated_cc",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Здравствуйте,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Уведомляем Вас о том, что заявка{{ ticket.ticket }} (\"{{ ticket.title }}\") от {{ ticket.submitter_email }} была обновлена.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>ID заявки</b>: {{ ticket.ticket }}<br>\r\n<b>Очередь</b>: {{ queue.title }}<br>\r\n<b>Заголовок</b>: {{ ticket.title }}<br>\r\n<b>Создана</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Автор заявки</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Приоритет</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Статус</b>: {{ ticket.get_status }}<br>\r\n<b>Присвоена</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href=\"{{ ticket.staff_url }}\">Перейти к заявке</a></b> Оставить комментарий (требуется авторизация)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Изначальное описание :</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Был добавлен следующий комментарий:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ comment }}</blockquote>\r\n\r\n<p style=\"font-family: Tahoma, Arial, sans-serif; font-size: 11pt;\">Эта информация {% if private %}не{% endif %} была отправленна на электронный ящик автора заявки.</p>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Здравствуйте,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Уведомляем Вас о том, что заявка{{ ticket.ticket }} (\"{{ ticket.title }}\") от {{ ticket.submitter_email }} была обновлена.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>ID заявки</b>: {{ ticket.ticket }}<br>\r\n<b>Очередь</b>: {{ queue.title }}<br>\r\n<b>Заголовок</b>: {{ ticket.title }}<br>\r\n<b>Создана</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Автор заявки</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Приоритет</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Статус</b>: {{ ticket.get_status }}<br>\r\n<b>Присвоена</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href=\"{{ ticket.staff_url }}\">Перейти к заявке</a></b> Оставить комментарий (требуется авторизация)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Изначальное описание :</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Был добавлен следующий комментарий:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ comment }}</blockquote>\r\n\r\n<p style=\"font-family: Tahoma, Arial, sans-serif; font-size: 11pt;\">Эта информация {% if private %}не{% endif %} была отправленна на электронный ящик автора заявки.</p>",
|
||||
"plain_text": "Здравствуйте,\r\n\r\nУведомляем Вас о том, чтоо заявка {{ ticket.ticket }} (\"{{ ticket.title }}\") от {{ ticket.submitter_email }} была обновлена.\r\n\r\nID заявки: {{ ticket.ticket }}\r\nОчередь: {{ queue.title }}\r\nЗаголовок: {{ ticket.title }}\r\nСоздана: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nАвтор заявки: {{ ticket.submitter_email|default:\"Unknown\" }}\r\nПриоритет: {{ ticket.get_priority_display }}\r\nСтатус: {{ ticket.get_status }}\r\nПрисвоена: {{ ticket.get_assigned_to }}\r\nПросмотреть онлайн: {{ ticket.staff_url }} (login required)\r\n\r\nИзначальное описание:\r\n\r\n{{ ticket.description }}\r\n\r\nБыл добавлен следующий комментарий:\r\n\r\n{{ comment }}\r\n\r\nЭта информация {% if private %}не {% endif %} была отправлена адресатуbeen e-mailed to the submitter.\r\n\r\nЕсли Вы хотите просмотреть заявку онлайн, перейдите по следующей ссылке{{ ticket.staff_url }}.",
|
||||
"heading": "Заявка обновлена",
|
||||
"subject": " ",
|
||||
@ -364,7 +364,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"template_name": "updated_owner",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Здравствуйте,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Уведомляем Вас о том, что к заявке {{ ticket.ticket }} (\"{{ ticket.title }}\") от {{ ticket.submitter_email }}, которая была присвоенна Вам, был добавлен новый комментарий.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>ID заявки</b>: {{ ticket.ticket }}<br>\r\n<b>Очередь</b>: {{ queue.title }}<br>\r\n<b>Заголовок</b>: {{ ticket.title }}<br>\r\n<b>Создана</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Автор заявки</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Приоритет</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Статус</b>: {{ ticket.get_status }}<br>\r\n<b>Присвоена</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href=\"{{ ticket.staff_url }}\">Перейти к заявке</a></b> оставить комментарий (требуется авторизация)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Изначальное описание :</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Был добавлен следующий комментарий:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ comment }}</blockquote>\r\n\r\n<p style=\"font-family: Tahoma, Arial, sans-serif; font-size: 11pt;\">Эта информация{% if private %}не {% endif %}была отправлена на электронный ящик автора заявки.</p>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Здравствуйте,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Уведомляем Вас о том, что к заявке {{ ticket.ticket }} (\"{{ ticket.title }}\") от {{ ticket.submitter_email }}, которая была присвоенна Вам, был добавлен новый комментарий.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>ID заявки</b>: {{ ticket.ticket }}<br>\r\n<b>Очередь</b>: {{ queue.title }}<br>\r\n<b>Заголовок</b>: {{ ticket.title }}<br>\r\n<b>Создана</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Автор заявки</b>: {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Приоритет</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Статус</b>: {{ ticket.get_status }}<br>\r\n<b>Присвоена</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href=\"{{ ticket.staff_url }}\">Перейти к заявке</a></b> оставить комментарий (требуется авторизация)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Изначальное описание :</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Был добавлен следующий комментарий:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ comment }}</blockquote>\r\n\r\n<p style=\"font-family: Tahoma, Arial, sans-serif; font-size: 11pt;\">Эта информация{% if private %}не {% endif %}была отправлена на электронный ящик автора заявки.</p>",
|
||||
"plain_text": "Здравствуйте,\r\n\r\nУведомляем Вас о том, что к заявке {{ ticket.ticket }} (\"{{ ticket.title }}\") от {{ ticket.submitter_email }}, которая была присвоенна Вам, был добавлен новый комментарий.\r\n\r\nID заявки: {{ ticket.ticket }}\r\nОчередь: {{ queue.title }}\r\nЗаголовок: {{ ticket.title }}\r\nСоздана: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nАвтор заявки: {{ ticket.submitter_email|default:\"Unknown\" }}\r\nПриоритет: {{ ticket.get_priority_display }}\r\nСтатус: {{ ticket.get_status }}\r\nПрсвоена: {{ ticket.get_assigned_to }}\r\nПерейти к заявке: {{ ticket.staff_url }} (требуется авторизация)\r\n\r\nИзначальное описание:\r\n\r\n{{ ticket.description }}\r\n\r\nБыл добавлен следующий комментарий:\r\n\r\n{{ comment }}\r\n\r\nЭта информация {% if private %}не {% endif %} была отправленна на электронный ящик автора заявки.\r\n\r\nДля просмотра заявки онлайн перейдите по следующей ссылке {{ ticket.staff_url }}.",
|
||||
"heading": "Заявка обновлена",
|
||||
"subject": " ",
|
||||
@ -388,7 +388,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"template_name": "assigned_cc",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hallo,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">gerne teilen wir Ihnen mit, dass Ticket <a href=\"{{ ticket.staff_url }}\"><b>{{ ticket.ticket }}</b></a> (<em>{{ ticket.title }}</em>) für {{ ticket.submitter_email }} {% if ticket.assigned_to %}zugewiesen wurde an {{ ticket.assigned_to }}{% else %}nicht mehr zugeordnet ist{% endif %}.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Ticketsammlung</b>: {{ queue.title }}<br>\r\n<b>Titel</b>: {{ ticket.title }}<br>\r\n<b>Eröffnet</b>: {{ ticket.created|date:\"l, j. N Y, \\u\\m H:i\" }}<br>\r\n<b>Ersteller</b>: {{ ticket.submitter_email|default:\"Unbekannt\" }}<br>\r\n<b>Priorität</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Zugewiesen an</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Online ansehen</a></b> um dieses Ticket zu aktualisieren (Login erforderlich).</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Die ursprüngliche Ticketbeschreibung war:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hallo,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">gerne teilen wir Ihnen mit, dass Ticket <a href=\"{{ ticket.staff_url }}\"><b>{{ ticket.ticket }}</b></a> (<em>{{ ticket.title }}</em>) für {{ ticket.submitter_email }} {% if ticket.assigned_to %}zugewiesen wurde an {{ ticket.assigned_to }}{% else %}nicht mehr zugeordnet ist{% endif %}.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Ticketsammlung</b>: {{ queue.title }}<br>\r\n<b>Titel</b>: {{ ticket.title }}<br>\r\n<b>Eröffnet</b>: {{ ticket.created|date:\"l, j. N Y, \\u\\m H:i\" }}<br>\r\n<b>Ersteller</b>: {{ ticket.submitter_email|default:\"Unbekannt\" }}<br>\r\n<b>Priorität</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Zugewiesen an</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Online ansehen</a></b> um dieses Ticket zu aktualisieren (Login erforderlich).</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Die ursprüngliche Ticketbeschreibung war:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>",
|
||||
"plain_text": "Hallo,\r\n\r\ngerne teilen wir Ihnen mit, dass Ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") für {{ ticket.submitter_email }} {% if ticket.assigned_to %}zugewiesen wurde an {{ ticket.assigned_to }}{% else %}nicht mehr zugeordnet ist{% endif %}.\r\n\r\nTicket ID: {{ ticket.ticket }}\r\nTicketsammlung: {{ queue.title }}\r\nTitel: {{ ticket.title }}\r\nEröffnet: {{ ticket.created|date:\"l, j. N Y, \\u\\m H:i\" }}\r\nErsteller: {{ ticket.submitter_email|default:\"Unbekannt\" }}\r\nPriorität: {{ ticket.get_priority_display }}\r\nStatus: {{ ticket.get_status }}\r\nZugewiesen an: {{ ticket.get_assigned_to }}\r\nOnline ansehen: {{ ticket.staff_url }}\r\n\r\nDie ursprüngliche Ticketbeschreibung war:\r\n\r\n{{ ticket.description }}\r\n\r\n",
|
||||
"heading": "Ticket Zugewiesen",
|
||||
"subject": "(Zugewiesen)",
|
||||
@ -400,7 +400,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"template_name": "assigned_owner",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hallo,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">gerne teilen wir Ihnen mit, dass Ticket <a href=\"{{ ticket.staff_url }}\"><b>{{ ticket.ticket }}</b></a> (<em>{{ ticket.title }}</em>) für {{ ticket.submitter_email }} <b>Ihnen</b> zugewiesen wurde.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Ticketsammlung</b>: {{ queue.title }}<br>\r\n<b>Titel</b>: {{ ticket.title }}<br>\r\n<b>Eröffnet</b>: {{ ticket.created|date:\"l, j. N Y, \\u\\m H:i\" }}<br>\r\n<b>Ersteller</b>: {{ ticket.submitter_email|default:\"Unbekannt\" }}<br>\r\n<b>Priorität</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Zugewiesen an</b>: SIE<br>\r\n<b><a href='{{ ticket.staff_url }}'>Online ansehen</a></b> um dieses Ticket zu aktualisieren (Login erforderlich)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Die ursprüngliche Ticketbeschreibung war:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hallo,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">gerne teilen wir Ihnen mit, dass Ticket <a href=\"{{ ticket.staff_url }}\"><b>{{ ticket.ticket }}</b></a> (<em>{{ ticket.title }}</em>) für {{ ticket.submitter_email }} <b>Ihnen</b> zugewiesen wurde.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Ticketsammlung</b>: {{ queue.title }}<br>\r\n<b>Titel</b>: {{ ticket.title }}<br>\r\n<b>Eröffnet</b>: {{ ticket.created|date:\"l, j. N Y, \\u\\m H:i\" }}<br>\r\n<b>Ersteller</b>: {{ ticket.submitter_email|default:\"Unbekannt\" }}<br>\r\n<b>Priorität</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Zugewiesen an</b>: SIE<br>\r\n<b><a href='{{ ticket.staff_url }}'>Online ansehen</a></b> um dieses Ticket zu aktualisieren (Login erforderlich)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Die ursprüngliche Ticketbeschreibung war:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>",
|
||||
"plain_text": "Hello,\r\n\r\ngerne teilen wir Ihnen mit, dass Ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") für {{ ticket.submitter_email }} Ihnen zugewiesen wurde.\r\n\r\nTicket ID: {{ ticket.ticket }}\r\nTicketsammlung: {{ queue.title }}\r\nTitel: {{ ticket.title }}\r\nEröffnet: {{ ticket.created|date:\"l, j. N Y, \\u\\m H:i\" }}\r\nErsteller: {{ ticket.submitter_email|default:\"Unbekannt\" }}\r\nPriorität: {{ ticket.get_priority_display }}\r\nStatus: {{ ticket.get_status }}\r\nZugewiesen an: SIE\r\nOnline ansehen: {{ ticket.staff_url }}\r\n\r\nDie ursprüngliche Ticketbeschreibung war:\r\n\r\n{{ ticket.description }}\r\n\r\n",
|
||||
"heading": "Ein Ticket wurde Ihnen zugewiesen",
|
||||
"subject": "(Ihnen zugewiesen)",
|
||||
@ -412,7 +412,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"template_name": "closed_cc",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hallo,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Ticket <i>{{ ticket.title }}</i> ('{{ ticket.title }}'){% if ticket.assigned_to %}, zugewiesen an {{ ticket.get_assigned_to }}{% endif %} wurde geschlossen.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Ticketsammlung</b>: {{ queue.title }}<br>\r\n<b>Titel</b>: {{ ticket.title }}<br>\r\n<b>Eröffnet</b>: {{ ticket.created|date:\"l, j. N Y, \\u\\m H:i\" }}<br>\r\n<b>Ersteller</b>: {{ ticket.submitter_email|default:\"Unbekannt\" }}<br>\r\n<b>Priorität</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Zugewiesen an</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Online ansehen</a></b> um dieses Ticket zu aktualisieren (Login erforderlich)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Die ursprüngliche Ticketbeschreibung war:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Die Lösung war:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ resolution }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Sie können dieses Ticket unter folgendem Link online ansehen: <a href='{{ ticket.staff_url }}'>{{ ticket.staff_url }}</a>.</p>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hallo,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Ticket <i>{{ ticket.title }}</i> ('{{ ticket.title }}'){% if ticket.assigned_to %}, zugewiesen an {{ ticket.get_assigned_to }}{% endif %} wurde geschlossen.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Ticketsammlung</b>: {{ queue.title }}<br>\r\n<b>Titel</b>: {{ ticket.title }}<br>\r\n<b>Eröffnet</b>: {{ ticket.created|date:\"l, j. N Y, \\u\\m H:i\" }}<br>\r\n<b>Ersteller</b>: {{ ticket.submitter_email|default:\"Unbekannt\" }}<br>\r\n<b>Priorität</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Zugewiesen an</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Online ansehen</a></b> um dieses Ticket zu aktualisieren (Login erforderlich)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Die ursprüngliche Ticketbeschreibung war:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Die Lösung war:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ resolution }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Sie können dieses Ticket unter folgendem Link online ansehen: <a href='{{ ticket.staff_url }}'>{{ ticket.staff_url }}</a>.</p>",
|
||||
"plain_text": "Hallo,\r\n\r\nTicket {{ ticket.title }} (\"{{ ticket.title }}\"){% if ticket.assigned_to %}, zugewiesen an {{ ticket.assigned_to }}{% endif %} wurde geschlossen.\r\n\r\nTicket ID: {{ ticket.ticket }}\r\nTicketsammlung: {{ queue.title }}\r\nTitel: {{ ticket.title }}\r\nEröffnet: {{ ticket.created|date:\"l, j. N Y, \\u\\m H:i\" }}\r\nErsteller: {{ ticket.submitter_email|default:\"Unbekannt\" }}\r\nPriorität: {{ ticket.get_priority_display }}\r\nStatus: {{ ticket.get_status }}\r\nZugewiesen an: {{ ticket.get_assigned_to }}\r\nOnline ansehen: {{ ticket.staff_url }} (Login erforderlich)\r\n\r\nDie ursprüngliche Ticketbeschreibung war:\r\n\r\n{{ ticket.description }}\r\n\r\nDie Lösung war:\r\n\r\n{{ resolution }}\r\n\r\n",
|
||||
"heading": "Ticket geschlossen",
|
||||
"subject": "(Geschlossen)",
|
||||
@ -424,7 +424,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"template_name": "closed_owner",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hallo,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Das folgende Ticket, das Ihnen zugewiesen war, wurde geschlossen.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Ticketsammlung</b>: {{ queue.title }}<br>\r\n<b>Titel</b>: {{ ticket.title }}<br>\r\n<b>Eröffnet</b>: {{ ticket.created|date:\"l, j. N Y, \\u\\m H:i\" }}<br>\r\n<b>Ersteller</b>: {{ ticket.submitter_email|default:\"Unbekannt\" }}<br>\r\n<b>Priorität</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Zugewiesen an</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Online ansehen</a></b> um dieses Ticket zu aktualisieren (Login erforderlich)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Die ursprüngliche Ticketbeschreibung war:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Die Lösung war:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.resolution }}</blockquote>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hallo,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Das folgende Ticket, das Ihnen zugewiesen war, wurde geschlossen.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Ticketsammlung</b>: {{ queue.title }}<br>\r\n<b>Titel</b>: {{ ticket.title }}<br>\r\n<b>Eröffnet</b>: {{ ticket.created|date:\"l, j. N Y, \\u\\m H:i\" }}<br>\r\n<b>Ersteller</b>: {{ ticket.submitter_email|default:\"Unbekannt\" }}<br>\r\n<b>Priorität</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Zugewiesen an</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Online ansehen</a></b> um dieses Ticket zu aktualisieren (Login erforderlich)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Die ursprüngliche Ticketbeschreibung war:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Die Lösung war:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.resolution }}</blockquote>",
|
||||
"plain_text": "Hallo,\r\n\r\nDas folgende Ticket, das Ihnen zugewiesen war, wurde geschlossen.\r\n\r\nTicket ID: {{ ticket.ticket }}\r\nTicketsammlung: {{ queue.title }}\r\nTitel: {{ ticket.title }}\r\nEröffnet: {{ ticket.created|date:\"l, j. N Y, \\u\\m H:i\" }}\r\nErsteller: {{ ticket.submitter_email|default:\"Unbekannt\" }}\r\nPriorität: {{ ticket.get_priority_display }}\r\nStatus: {{ ticket.get_status }}\r\nZugewiesen an: {{ ticket.get_assigned_to }}\r\nOnline ansehen: {{ ticket.staff_url }} (Login erforderlich)\r\n\r\nDie Lösung war:\r\n\r\n{{ resolution }}\r\n\r\n",
|
||||
"heading": "Ticket geschlossen",
|
||||
"subject": "(Geschlossen)",
|
||||
@ -448,7 +448,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"template_name": "escalated_cc",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hallo,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Gerne teilen wir Ihnen mit, dass das Ticket <i>{{ ticket.ticket }}</i> ('{{ ticket.title }}') automatisch eskaliert wurde.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Ticketsammlung</b>: {{ queue.title }}<br>\r\n<b>Titel</b>: {{ ticket.title }}<br>\r\n<b>Eröffnet</b>: {{ ticket.created|date:\"l, j. N Y, \\u\\m H:i\" }}<br>\r\n<b>Ersteller</b>: {{ ticket.submitter_email|default:\"Unbekannt\" }}<br>\r\n<b>Priorität</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Zugewiesen an</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Online ansehen</a></b> um dieses Ticket zu aktualisieren (Login erforderlich)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Die ursprüngliche Ticketbeschreibung war:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hallo,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Gerne teilen wir Ihnen mit, dass das Ticket <i>{{ ticket.ticket }}</i> ('{{ ticket.title }}') automatisch eskaliert wurde.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Ticketsammlung</b>: {{ queue.title }}<br>\r\n<b>Titel</b>: {{ ticket.title }}<br>\r\n<b>Eröffnet</b>: {{ ticket.created|date:\"l, j. N Y, \\u\\m H:i\" }}<br>\r\n<b>Ersteller</b>: {{ ticket.submitter_email|default:\"Unbekannt\" }}<br>\r\n<b>Priorität</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Zugewiesen an</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Online ansehen</a></b> um dieses Ticket zu aktualisieren (Login erforderlich)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Die ursprüngliche Ticketbeschreibung war:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>",
|
||||
"plain_text": "Hallo,\r\n\r\nGerne teilen wir Ihnen mit, dass das Ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") automatisch eskaliert wurde.\r\n\r\nTicket ID: {{ ticket.ticket }}\r\nTicketsammlung: {{ queue.title }}\r\nTitel: {{ ticket.title }}\r\nEröffnet: {{ ticket.created|date:\"l, j. N Y, \\u\\m H:i\" }}\r\nErsteller: {{ ticket.submitter_email|default:\"Unbekannt\" }}\r\nPriorität: {{ ticket.get_priority_display }}\r\nStatus: {{ ticket.get_status }}\r\nZugewiesen an: {{ ticket.get_assigned_to }}\r\nOnline ansehen: {{ ticket.staff_url }} (Login erforderlich)\r\n\r\nDie ursprüngliche Ticketbeschreibung war:\r\n\r\n{{ ticket.description }}\r\n\r\n",
|
||||
"heading": "Ticket Eskaliert",
|
||||
"subject": "(Eskaliert)",
|
||||
@ -460,7 +460,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"template_name": "escalated_owner",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hallo,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Ein an Sie zugewiesenes Ticket wurde automatisch eskaliert da es länger offen war als erwartet.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Ticketsammlung</b>: {{ queue.title }}<br>\r\n<b>Titel</b>: {{ ticket.title }}<br>\r\n<b>Eröffnet</b>: {{ ticket.created|date:\"l, j. N Y, \\u\\m H:i\" }}<br>\r\n<b>Ersteller</b>: {{ ticket.submitter_email|default:\"Unbekannt\" }}<br>\r\n<b>Priorität</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Zugewiesen an</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Online ansehen</a></b> um dieses Ticket zu aktualisieren (Login erforderlich)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Die ursprüngliche Ticketbeschreibung war:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Bitte prüfen Sie dieses Ticket und versuchen Sie so bald wie möglich eine Lösung zu finden.</p>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hallo,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Ein an Sie zugewiesenes Ticket wurde automatisch eskaliert da es länger offen war als erwartet.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Ticketsammlung</b>: {{ queue.title }}<br>\r\n<b>Titel</b>: {{ ticket.title }}<br>\r\n<b>Eröffnet</b>: {{ ticket.created|date:\"l, j. N Y, \\u\\m H:i\" }}<br>\r\n<b>Ersteller</b>: {{ ticket.submitter_email|default:\"Unbekannt\" }}<br>\r\n<b>Priorität</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Zugewiesen an</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Online ansehen</a></b> um dieses Ticket zu aktualisieren (Login erforderlich)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Die ursprüngliche Ticketbeschreibung war:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Bitte prüfen Sie dieses Ticket und versuchen Sie so bald wie möglich eine Lösung zu finden.</p>",
|
||||
"plain_text": "Hallo,\r\n\r\nEin an Sie zugewiesenes Ticket wurde automatisch eskaliert da es länger offen war als erwartet.\r\n\r\nTicket ID: {{ ticket.ticket }}\r\nTicketsammlung: {{ queue.title }}\r\nTitel: {{ ticket.title }}\r\nEröffnet: {{ ticket.created|date:\"l, j. N Y, \\u\\m H:i\" }}\r\nErsteller: {{ ticket.submitter_email|default:\"Unbekannt\" }}\r\nPriorität: {{ ticket.get_priority_display }}\r\nStatus: {{ ticket.get_status }}\r\nZugewiesen an: {{ ticket.get_assigned_to }}\r\nOnline ansehen: {{ ticket.staff_url }} (Login erforderlich)\r\n\r\nDie ursprüngliche Ticketbeschreibung war:\r\n\r\n{{ ticket.description }}\r\n\r\nBitte prüfen Sie dieses Ticket und versuchen Sie so bald wie möglich eine Lösung zu finden.\r\n\r\n",
|
||||
"heading": "Ein an Sie zugewiesenes Ticket wurde eskaliert",
|
||||
"subject": "(Eskaliert)",
|
||||
@ -484,7 +484,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"template_name": "newticket_cc",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hallo,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Gerne teilen wir Ihnen mit, dass ein neues Ticket eröffnet wurde.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Ticketsammlung</b>: {{ queue.title }}<br>\r\n<b>Titel</b>: {{ ticket.title }}<br>\r\n<b>Eröffnet</b>: {{ ticket.created|date:\"l, j. N Y, \\u\\m H:i\" }}<br>\r\n<b>Ersteller</b>: {{ ticket.submitter_email|default:\"Unbekannt\" }}<br>\r\n<b>Priorität</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Online ansehen</a></b> um dieses Ticket zu aktualisieren (Login erforderlich)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Beschreibung:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hallo,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Gerne teilen wir Ihnen mit, dass ein neues Ticket eröffnet wurde.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Ticketsammlung</b>: {{ queue.title }}<br>\r\n<b>Titel</b>: {{ ticket.title }}<br>\r\n<b>Eröffnet</b>: {{ ticket.created|date:\"l, j. N Y, \\u\\m H:i\" }}<br>\r\n<b>Ersteller</b>: {{ ticket.submitter_email|default:\"Unbekannt\" }}<br>\r\n<b>Priorität</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Online ansehen</a></b> um dieses Ticket zu aktualisieren (Login erforderlich)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Beschreibung:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>",
|
||||
"plain_text": "Hallo,\r\n\r\nGerne teilen wir Ihnen mit, dass ein neues Ticket eröffnet wurde.\r\n\r\nTicket ID: {{ ticket.ticket }}\r\nTicketsammlung: {{ queue.title }}\r\nTitel: {{ ticket.title }}\r\nEröffnet: {{ ticket.created|date:\"l, j. N Y, \\u\\m H:i\" }}\r\nErsteller: {{ ticket.submitter_email|default:\"Unbekannt\" }}\r\nPriorität: {{ ticket.get_priority_display }}\r\nStatus: {{ ticket.get_status }}\r\nOnline ansehen: {{ ticket.staff_url }} (Login erforderlich)\r\n\r\nBeschreibung:\r\n{{ ticket.description }}\r\n\r\n",
|
||||
"heading": "Neues Ticket eröffnet",
|
||||
"subject": "(Eröffnet)",
|
||||
@ -508,7 +508,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"template_name": "resolved_cc",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hallo,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Das folgende Ticket wurde gelöst:</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Ticketsammlung</b>: {{ queue.title }}<br>\r\n<b>Titel</b>: {{ ticket.title }}<br>\r\n<b>Eröffnet</b>: {{ ticket.created|date:\"l, j. N Y, \\u\\m H:i\" }}<br>\r\n<b>Ersteller</b>: {{ ticket.submitter_email|default:\"Unbekannt\" }}<br>\r\n<b>Priorität</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Zugewiesen an</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Online ansehen</a></b> um dieses Ticket zu aktualisieren (Login erforderlich)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Die ursprüngliche Ticketbeschreibung war:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Die vergeschlagene Lösung ist:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.resolution }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Diese Lösung wurde an den Ersteller gesendet, der die Lösung überprüfen muss, bevor dieses Ticket geschlossen werden kann.</p>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hallo,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Das folgende Ticket wurde gelöst:</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Ticketsammlung</b>: {{ queue.title }}<br>\r\n<b>Titel</b>: {{ ticket.title }}<br>\r\n<b>Eröffnet</b>: {{ ticket.created|date:\"l, j. N Y, \\u\\m H:i\" }}<br>\r\n<b>Ersteller</b>: {{ ticket.submitter_email|default:\"Unbekannt\" }}<br>\r\n<b>Priorität</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Zugewiesen an</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Online ansehen</a></b> um dieses Ticket zu aktualisieren (Login erforderlich)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Die ursprüngliche Ticketbeschreibung war:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Die vergeschlagene Lösung ist:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.resolution }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Diese Lösung wurde an den Ersteller gesendet, der die Lösung überprüfen muss, bevor dieses Ticket geschlossen werden kann.</p>",
|
||||
"plain_text": "Hallo,\r\n\r\nDas folgende Ticket wurde gelöst:\r\n\r\nTicket ID: {{ ticket.ticket }}\r\nTicketsammlung: {{ queue.title }}\r\nTitel: {{ ticket.title }}\r\nEröffnet: {{ ticket.created|date:\"l, j. N Y, \\u\\m H:i\" }}\r\nErsteller: {{ ticket.submitter_email|default:\"Unbekannt\" }}\r\nPriorität: {{ ticket.get_priority_display }}\r\nStatus: {{ ticket.get_status }}\r\nZugewiesen an: {{ ticket.get_assigned_to }}\r\nOnline ansehen: {{ ticket.staff_url }} (Login erforderlich)\r\n\r\nDie ursprüngliche Ticketbeschreibung war:\r\n\r\n{{ ticket.description }}\r\n\r\nDie vorgeschlagene Lösung ist:\r\n\r\n{{ ticket.resolution }}\r\n\r\nDiese Lösung wurde an den Ersteller gesendet, der die Lösung überprüfen muss, bevor dieses Ticket geschlossen werden kann.\r\n\r\n",
|
||||
"heading": "Ticket gelöst",
|
||||
"subject": "(Gelöst)",
|
||||
@ -520,7 +520,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"template_name": "resolved_owner",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hallo,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Ein Ihnen zugeordnetes Ticket wurde gelöst.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Ticketsammlung</b>: {{ queue.title }}<br>\r\n<b>Titel</b>: {{ ticket.title }}<br>\r\n<b>Eröffnet</b>: {{ ticket.created|date:\"l, j. N Y, \\u\\m H:i\" }}<br>\r\n<b>Ersteller</b>: {{ ticket.submitter_email|default:\"Unbekannt\" }}<br>\r\n<b>Priorität</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Zugewiesen an</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Online ansehen</a></b> um dieses Ticket zu aktualisieren (Login erforderlich)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Die ursprüngliche Ticketbeschreibung war:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Die vergeschlagene Lösung ist:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.resolution }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Diese Lösung wurde an den Ersteller gesendet, der die Lösung überprüfen muss, bevor dieses Ticket geschlossen werden kann.</p>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hallo,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Ein Ihnen zugeordnetes Ticket wurde gelöst.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Ticketsammlung</b>: {{ queue.title }}<br>\r\n<b>Titel</b>: {{ ticket.title }}<br>\r\n<b>Eröffnet</b>: {{ ticket.created|date:\"l, j. N Y, \\u\\m H:i\" }}<br>\r\n<b>Ersteller</b>: {{ ticket.submitter_email|default:\"Unbekannt\" }}<br>\r\n<b>Priorität</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Zugewiesen an</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Online ansehen</a></b> um dieses Ticket zu aktualisieren (Login erforderlich)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Die ursprüngliche Ticketbeschreibung war:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Die vergeschlagene Lösung ist:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.resolution }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Diese Lösung wurde an den Ersteller gesendet, der die Lösung überprüfen muss, bevor dieses Ticket geschlossen werden kann.</p>",
|
||||
"plain_text": "Hallo,\r\n\r\nEin Ihnen zugeordnetes Ticket wurde gelöst.\r\n\r\nTicket ID: {{ ticket.ticket }}\r\nTicketsammlung: {{ queue.title }}\r\nTitel: {{ ticket.title }}\r\nEröffnet: {{ ticket.created|date:\"l, j. N Y, \\u\\m H:i\" }}\r\nErsteller: {{ ticket.submitter_email|default:\"Unbekannt\" }}\r\nPriorität: {{ ticket.get_priority_display }}\r\nStatus: {{ ticket.get_status }}\r\nZugewiesen an: {{ ticket.get_assigned_to }}\r\nOnline ansehen: {{ ticket.staff_url }} (Login erforderlich)\r\n\r\nDie ursprüngliche Ticketbeschreibung war:\r\n\r\n{{ ticket.description }}\r\n\r\nDie vorgeschlagene Lösung ist:\r\n\r\n{{ ticket.resolution }}\r\n\r\nDiese Lösung wurde an den Ersteller gesendet, der die Lösung überprüfen muss, bevor dieses Ticket geschlossen werden kann.\r\n\r\n",
|
||||
"heading": "Ticket gelöst",
|
||||
"subject": "(Gelöst)",
|
||||
@ -544,7 +544,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"template_name": "updated_cc",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hallo,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Gerne teilen wir Ihnen mit, dass das Ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") für {{ ticket.submitter_email }} aktualisiert wurde.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Ticketsammlung</b>: {{ queue.title }}<br>\r\n<b>Titel</b>: {{ ticket.title }}<br>\r\n<b>Eröffnet</b>: {{ ticket.created|date:\"l, j. N Y, \\u\\m H:i\" }}<br>\r\n<b>Ersteller</b>: {{ ticket.submitter_email|default:\"Unbekannt\" }}<br>\r\n<b>Priorität</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Zugewiesen an</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Online ansehen</a></b> um dieses Ticket zu aktualisieren (Login erforderlich)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Die ursprüngliche Ticketbeschreibung war:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Folgender Kommentar wurde hinzugefügt:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ comment }}</blockquote>\r\n\r\n<p style=\"font-family: Tahoma, Arial, sans-serif; font-size: 11pt;\">Diese Information wurde {% if private %}nicht {% endif %} an den Ersteller gesendet.</p>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hallo,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Gerne teilen wir Ihnen mit, dass das Ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") für {{ ticket.submitter_email }} aktualisiert wurde.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Ticketsammlung</b>: {{ queue.title }}<br>\r\n<b>Titel</b>: {{ ticket.title }}<br>\r\n<b>Eröffnet</b>: {{ ticket.created|date:\"l, j. N Y, \\u\\m H:i\" }}<br>\r\n<b>Ersteller</b>: {{ ticket.submitter_email|default:\"Unbekannt\" }}<br>\r\n<b>Priorität</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Zugewiesen an</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Online ansehen</a></b> um dieses Ticket zu aktualisieren (Login erforderlich)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Die ursprüngliche Ticketbeschreibung war:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Folgender Kommentar wurde hinzugefügt:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ comment }}</blockquote>\r\n\r\n<p style=\"font-family: Tahoma, Arial, sans-serif; font-size: 11pt;\">Diese Information wurde {% if private %}nicht {% endif %} an den Ersteller gesendet.</p>",
|
||||
"plain_text": "Hallo,\r\n\r\nGerne teilen wir Ihnen mit, dass das Ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") für {{ ticket.submitter_email }} aktualisiert wurde.\r\n\r\nTicket ID: {{ ticket.ticket }}\r\nTicketsammlung: {{ queue.title }}\r\nTitel: {{ ticket.title }}\r\nEröffnet: {{ ticket.created|date:\"l, j. N Y, \\u\\m H:i\" }}\r\nErsteller: {{ ticket.submitter_email|default:\"Unbekannt\" }}\r\nPriorität: {{ ticket.get_priority_display }}\r\nStatus: {{ ticket.get_status }}\r\nZugewiesen an: {{ ticket.get_assigned_to }}\r\nOnline ansehen: {{ ticket.staff_url }} (Login erforderlich)\r\n\r\nUrsprüngliche Ticketbeschreibung:\r\n\r\n{{ ticket.description }}\r\n\r\nFolgender Kommentar wurde hinzugefügt:\r\n\r\n{{ comment }}\r\n\r\nDiese Information wurde {% if private %}nicht {% endif %} an den Ersteller gesendet.\r\n\r\nUnter folgendem Link können Sie das Ticket online ansehen: {{ ticket.staff_url }}.\r\n\r\n",
|
||||
"heading": "Ticket aktualisiert",
|
||||
"subject": "(Aktualisiert)",
|
||||
@ -556,7 +556,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"template_name": "updated_owner",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hallo,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Gerne teilen wir Ihnen mit, dass das Ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") für {{ ticket.submitter_email }}, das Ihnen zugewiesen ist, aktualisiert wurde.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Ticketsammlung</b>: {{ queue.title }}<br>\r\n<b>Titel</b>: {{ ticket.title }}<br>\r\n<b>Eröffnet</b>: {{ ticket.created|date:\"l, j. N Y, \\u\\m H:i\" }}<br>\r\n<b>Ersteller</b>: {{ ticket.submitter_email|default:\"Unbekannt\" }}<br>\r\n<b>Priorität</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Zugewiesen an</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Online ansehen</a></b> um dieses Ticket zu aktualisieren (Login erforderlich)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Die ursprüngliche Ticketbeschreibung war:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Folgender Kommentar wurde hinzugefügt:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ comment }}</blockquote>\r\n\r\n<p style=\"font-family: Tahoma, Arial, sans-serif; font-size: 11pt;\">Diese Information wurde {% if private %}nicht {% endif %} an den Ersteller gesendet.</p>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hallo,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Gerne teilen wir Ihnen mit, dass das Ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") für {{ ticket.submitter_email }}, das Ihnen zugewiesen ist, aktualisiert wurde.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Ticketsammlung</b>: {{ queue.title }}<br>\r\n<b>Titel</b>: {{ ticket.title }}<br>\r\n<b>Eröffnet</b>: {{ ticket.created|date:\"l, j. N Y, \\u\\m H:i\" }}<br>\r\n<b>Ersteller</b>: {{ ticket.submitter_email|default:\"Unbekannt\" }}<br>\r\n<b>Priorität</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Status</b>: {{ ticket.get_status }}<br>\r\n<b>Zugewiesen an</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Online ansehen</a></b> um dieses Ticket zu aktualisieren (Login erforderlich)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Die ursprüngliche Ticketbeschreibung war:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Folgender Kommentar wurde hinzugefügt:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ comment }}</blockquote>\r\n\r\n<p style=\"font-family: Tahoma, Arial, sans-serif; font-size: 11pt;\">Diese Information wurde {% if private %}nicht {% endif %} an den Ersteller gesendet.</p>",
|
||||
"plain_text": "Hallo,\r\n\r\nGerne teilen wir Ihnen mit, dass das Ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") für {{ ticket.submitter_email }}, das Ihnen zugewiesen ist, aktualisiert wurde.\r\n\r\nTicket ID: {{ ticket.ticket }}\r\nTicketsammlung: {{ queue.title }}\r\nTitel: {{ ticket.title }}\r\nEröffnet: {{ ticket.created|date:\"l, j. N Y, \\u\\m H:i\" }}\r\nErsteller: {{ ticket.submitter_email|default:\"Unbekannt\" }}\r\nPriorität: {{ ticket.get_priority_display }}\r\nStatus: {{ ticket.get_status }}\r\nZugewiesen an: {{ ticket.get_assigned_to }}\r\nOnline ansehen: {{ ticket.staff_url }} (Login erforderlich)\r\n\r\nUrsprüngliche Ticketbeschreibung:\r\n\r\n{{ ticket.description }}\r\n\r\nFolgender Kommentar wurde hinzugefügt:\r\n\r\n{{ comment }}\r\n\r\nDiese Information wurde {% if private %}nicht {% endif %} an den Ersteller gesendet.\r\n\r\nUnter folgendem Link können Sie das Ticket online ansehen: {{ ticket.staff_url }}\r\n\r\n",
|
||||
"heading": "Ticket Aktualisiert",
|
||||
"subject": "(Aktualisiert)",
|
||||
@ -580,7 +580,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"heading": "Ticket Assign\u00e9",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Bonjour,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Ce courriel indicatif permet de vous pr\u00e9venir que le ticket <a href=\"{{ ticket.staff_url }}\"><b>{{ ticket.ticket }}</b></a> (<em>{{ ticket.title }}</em>) par {{ ticket.submitter_email }} {% if ticket.assigned_to %}a \u00e9t\u00e9 assign\u00e9 \u00e0 {{ ticket.assigned_to }}{% else %} n'est plus assign\u00e9 \u00e0 personne{% endif %}.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>File d'attente</b> : {{ ticket.ticket }}<br>\r\n<b>Queue</b> : {{ queue.title }}<br>\r\n<b>Titre</b> : {{ ticket.title }}<br>\r\n<b>Ouvert le</b> : {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Soumis par</b> : {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priorit\u00e9</b> : {{ ticket.get_priority_display }}<br>\r\n<b>Statut</b> : {{ ticket.get_status }}<br>\r\n<b>Assign\u00e9 \u00e0</b> : {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Voir le ticket en ligne</a></b> pour le mettre \u00e0 jour (apr\u00e8s authentification)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Pour m\u00e9moire, la description originelle \u00e9tait :</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Bonjour,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Ce courriel indicatif permet de vous pr\u00e9venir que le ticket <a href=\"{{ ticket.staff_url }}\"><b>{{ ticket.ticket }}</b></a> (<em>{{ ticket.title }}</em>) par {{ ticket.submitter_email }} {% if ticket.assigned_to %}a \u00e9t\u00e9 assign\u00e9 \u00e0 {{ ticket.assigned_to }}{% else %} n'est plus assign\u00e9 \u00e0 personne{% endif %}.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>File d'attente</b> : {{ ticket.ticket }}<br>\r\n<b>Queue</b> : {{ queue.title }}<br>\r\n<b>Titre</b> : {{ ticket.title }}<br>\r\n<b>Ouvert le</b> : {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Soumis par</b> : {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priorit\u00e9</b> : {{ ticket.get_priority_display }}<br>\r\n<b>Statut</b> : {{ ticket.get_status }}<br>\r\n<b>Assign\u00e9 \u00e0</b> : {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Voir le ticket en ligne</a></b> pour le mettre \u00e0 jour (apr\u00e8s authentification)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Pour m\u00e9moire, la description originelle \u00e9tait :</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>",
|
||||
"locale": "fr",
|
||||
"plain_text": "Bonjour,\r\n\r\nCe courriel indicatif permet de vous pr\u00e9venir que le ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") par {{ ticket.submitter_email }} {% if ticket.assigned_to %} a \u00e9t\u00e9 assign\u00e9 \u00e0 {{ ticket.assigned_to }}{% else %} n'est plus assign\u00e9 \u00e0 personne{% endif %}.\r\n\r\nIdentifiant\u00a0: {{ ticket.ticket }}\r\nFile d'attente\u00a0: {{ queue.title }}\r\nTitre\u00a0: {{ ticket.title }}\r\nOuvert le\u00a0: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nSoumis par\u00a0: {{ ticket.submitter_email|default:\"Unknown\" }}\r\nPriorit\u00e9\u00a0: {{ ticket.get_priority_display }}\r\nStatut\u00a0: {{ ticket.get_status }}\r\nAssign\u00e9 \u00e0\u00a0: {{ ticket.get_assigned_to }}\r\nAdresse\u00a0: {{ ticket.staff_url }}\r\n\r\nLa description originelle \u00e9tait\u00a0:\r\n\r\n{{ ticket.description }}\r\n\r\n",
|
||||
"subject": "(Assign\u00e9)",
|
||||
@ -592,7 +592,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"heading": "Le ticket vous est assign\u00e9",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Bonjour,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Ce courriel indicatif permet de vous pr\u00e9venir que le ticket <a href=\"{{ ticket.staff_url }}\"><b>{{ ticket.ticket }}</b></a> (<em>{{ ticket.title }}</em>) pour {{ ticket.submitter_email }} <b>vous</b> a \u00e9t\u00e9 assign\u00e9.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>File d'attente</b> : {{ ticket.ticket }}<br>\r\n<b>Queue</b> : {{ queue.title }}<br>\r\n<b>Titre</b> : {{ ticket.title }}<br>\r\n<b>Ouvert le</b> : {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Soumis par</b> : {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priorit\u00e9</b> : {{ ticket.get_priority_display }}<br>\r\n<b>Statut</b> : {{ ticket.get_status }}<br>\r\n<b>Assign\u00e9 \u00e0</b> : {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Voir le ticket en ligne</a></b> pour le mettre \u00e0 jour (apr\u00e8s authentification)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Pour m\u00e9moire, la description originelle \u00e9tait :</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Bonjour,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Ce courriel indicatif permet de vous pr\u00e9venir que le ticket <a href=\"{{ ticket.staff_url }}\"><b>{{ ticket.ticket }}</b></a> (<em>{{ ticket.title }}</em>) pour {{ ticket.submitter_email }} <b>vous</b> a \u00e9t\u00e9 assign\u00e9.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>File d'attente</b> : {{ ticket.ticket }}<br>\r\n<b>Queue</b> : {{ queue.title }}<br>\r\n<b>Titre</b> : {{ ticket.title }}<br>\r\n<b>Ouvert le</b> : {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Soumis par</b> : {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priorit\u00e9</b> : {{ ticket.get_priority_display }}<br>\r\n<b>Statut</b> : {{ ticket.get_status }}<br>\r\n<b>Assign\u00e9 \u00e0</b> : {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Voir le ticket en ligne</a></b> pour le mettre \u00e0 jour (apr\u00e8s authentification)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Pour m\u00e9moire, la description originelle \u00e9tait :</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>",
|
||||
"locale": "fr",
|
||||
"plain_text": "Bonjour,\r\n\r\nCe courriel indicatif permet de vous pr\u00e9venir que le ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") pour {{ ticket.submitter_email }} vous a \u00e9t\u00e9 assign\u00e9.\r\n\r\nIdentifiant : {{ ticket.ticket }}\r\nFile d'attente : {{ queue.title }}\r\nTitre : {{ ticket.title }}\r\nOuvert le : {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nSoumis par : {{ ticket.submitter_email|default:\"Unknown\" }}\r\nPriorit\u00e9 : {{ ticket.get_priority_display }}\r\nStatut : {{ ticket.get_status }}\r\nAssign\u00e9 \u00e0 : {{ ticket.get_assigned_to }}\r\nAdresse : {{ ticket.staff_url }}\r\n\r\nLa description originelle \u00e9tait :\r\n\r\n{{ ticket.description }}",
|
||||
"subject": "(Pour vous)",
|
||||
@ -604,7 +604,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"heading": "Ticket Ferm\u00e9",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Bonjour,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Le ticket <i>{{ ticket.title }}</i> ('{{ ticket.title }}'){% if ticket.assigned_to %}, assign\u00e9 \u00e0 {{ ticket.get_assigned_to }}{% endif %} a \u00e9t\u00e9 ferm\u00e9.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>File d'attente</b> : {{ ticket.ticket }}<br>\r\n<b>Queue</b> : {{ queue.title }}<br>\r\n<b>Titre</b> : {{ ticket.title }}<br>\r\n<b>Ouvert le</b> : {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Soumis par</b> : {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priorit\u00e9</b> : {{ ticket.get_priority_display }}<br>\r\n<b>Statut</b> : {{ ticket.get_status }}<br>\r\n<b>Assign\u00e9 \u00e0</b> : {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Voir le ticket en ligne</a></b> pour le mettre \u00e0 jour (apr\u00e8s authentification)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Pour m\u00e9moire, la description originelle \u00e9tait :</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">La motivation de r\u00e9solution est:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ resolution }}</blockquote>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Bonjour,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Le ticket <i>{{ ticket.title }}</i> ('{{ ticket.title }}'){% if ticket.assigned_to %}, assign\u00e9 \u00e0 {{ ticket.get_assigned_to }}{% endif %} a \u00e9t\u00e9 ferm\u00e9.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>File d'attente</b> : {{ ticket.ticket }}<br>\r\n<b>Queue</b> : {{ queue.title }}<br>\r\n<b>Titre</b> : {{ ticket.title }}<br>\r\n<b>Ouvert le</b> : {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Soumis par</b> : {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priorit\u00e9</b> : {{ ticket.get_priority_display }}<br>\r\n<b>Statut</b> : {{ ticket.get_status }}<br>\r\n<b>Assign\u00e9 \u00e0</b> : {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Voir le ticket en ligne</a></b> pour le mettre \u00e0 jour (apr\u00e8s authentification)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Pour m\u00e9moire, la description originelle \u00e9tait :</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">La motivation de r\u00e9solution est:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ resolution }}</blockquote>",
|
||||
"locale": "fr",
|
||||
"plain_text": "Bonjour,\r\n\r\nLe ticket {{ ticket.title }} (\"{{ ticket.title }}\"){% if ticket.assigned_to %}, assign\u00e9 \u00e0 {{ ticket.assigned_to }}{% endif %} a \u00e9t\u00e9 ferm\u00e9.\r\n\r\nIdentifiant : {{ ticket.ticket }}\r\nFile d'attente : {{ queue.title }}\r\nTitre : {{ ticket.title }}\r\nOuvert le : {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nSoumis par : {{ ticket.submitter_email|default:\"Unknown\" }}\r\nPriorit\u00e9 : {{ ticket.get_priority_display }}\r\nStatut : {{ ticket.get_status }}\r\nAssign\u00e9 \u00e0 : {{ ticket.get_assigned_to }}\r\nAdresse : {{ ticket.staff_url }}\r\n\r\nLa description originelle \u00e9tait :\r\n\r\n{{ ticket.description }}\r\n\r\nLa motivation de r\u00e9solution est:\r\n\r\n{{ resolution }}\r\n\r\n",
|
||||
"subject": "(Ferm\u00e9)",
|
||||
@ -616,7 +616,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"heading": "Ticket Ferm\u00e9",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Bonjour,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\nLe ticket suivant qui vous est actuellement assign\u00e9 a \u00e9t\u00e9 ferm\u00e9.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>File d'attente</b> : {{ ticket.ticket }}<br>\r\n<b>Queue</b> : {{ queue.title }}<br>\r\n<b>Titre</b> : {{ ticket.title }}<br>\r\n<b>Ouvert le</b> : {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Soumis par</b> : {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priorit\u00e9</b> : {{ ticket.get_priority_display }}<br>\r\n<b>Statut</b> : {{ ticket.get_status }}<br>\r\n<b>Assign\u00e9 \u00e0</b> : {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Voir le ticket en ligne</a></b> pour le mettre \u00e0 jour (apr\u00e8s authentification)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Pour m\u00e9moire, la description originelle \u00e9tait :</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">La motivation de r\u00e9solution est:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ resolution }}</blockquote>\r\n",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Bonjour,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\nLe ticket suivant qui vous est actuellement assign\u00e9 a \u00e9t\u00e9 ferm\u00e9.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>File d'attente</b> : {{ ticket.ticket }}<br>\r\n<b>Queue</b> : {{ queue.title }}<br>\r\n<b>Titre</b> : {{ ticket.title }}<br>\r\n<b>Ouvert le</b> : {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Soumis par</b> : {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priorit\u00e9</b> : {{ ticket.get_priority_display }}<br>\r\n<b>Statut</b> : {{ ticket.get_status }}<br>\r\n<b>Assign\u00e9 \u00e0</b> : {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Voir le ticket en ligne</a></b> pour le mettre \u00e0 jour (apr\u00e8s authentification)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Pour m\u00e9moire, la description originelle \u00e9tait :</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">La motivation de r\u00e9solution est:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ resolution }}</blockquote>\r\n",
|
||||
"locale": "fr",
|
||||
"plain_text": "Bonjour,\r\n\r\nLe ticket suivant qui vous est actuellement assign\u00e9 a \u00e9t\u00e9 ferm\u00e9.\r\n\r\n\r\nIdentifiant : {{ ticket.ticket }}\r\nFile d'attente : {{ queue.title }}\r\nTitre : {{ ticket.title }}\r\nOuvert le : {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nSoumis par : {{ ticket.submitter_email|default:\"Unknown\" }}\r\nPriorit\u00e9 : {{ ticket.get_priority_display }}\r\nStatut : {{ ticket.get_status }}\r\nAssign\u00e9 \u00e0 : {{ ticket.get_assigned_to }}\r\nAdresse : {{ ticket.staff_url }} (authentification obligatoire)\r\n\r\nLa description originelle \u00e9tait :\r\n\r\n{{ ticket.description }}\r\n\r\nLa motivation de r\u00e9solution est:\r\n\r\n{{ resolution }}",
|
||||
"subject": "(Ferm\u00e9 - \u00e0 vous)",
|
||||
@ -640,7 +640,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"heading": "Priorit\u00e9 du ticket augment\u00e9e",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Bonjour,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Ce courriel indicatif permet de vous pr\u00e9venir que le ticket <i>{{ ticket.ticket }}</i> ('{{ ticket.title }}') a vu sa priorit\u00e9 augment\u00e9 de mani\u00e8re automatique.</p>\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>File d'attente</b> : {{ ticket.ticket }}<br>\r\n<b>Queue</b> : {{ queue.title }}<br>\r\n<b>Titre</b> : {{ ticket.title }}<br>\r\n<b>Ouvert le</b> : {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Soumis par</b> : {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priorit\u00e9</b> : {{ ticket.get_priority_display }}<br>\r\n<b>Statut</b> : {{ ticket.get_status }}<br>\r\n<b>Assign\u00e9 \u00e0</b> : {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Voir le ticket en ligne</a></b> pour le mettre \u00e0 jour (apr\u00e8s authentification)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Pour m\u00e9moire, la description originelle \u00e9tait :</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Bonjour,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Ce courriel indicatif permet de vous pr\u00e9venir que le ticket <i>{{ ticket.ticket }}</i> ('{{ ticket.title }}') a vu sa priorit\u00e9 augment\u00e9 de mani\u00e8re automatique.</p>\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>File d'attente</b> : {{ ticket.ticket }}<br>\r\n<b>Queue</b> : {{ queue.title }}<br>\r\n<b>Titre</b> : {{ ticket.title }}<br>\r\n<b>Ouvert le</b> : {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Soumis par</b> : {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priorit\u00e9</b> : {{ ticket.get_priority_display }}<br>\r\n<b>Statut</b> : {{ ticket.get_status }}<br>\r\n<b>Assign\u00e9 \u00e0</b> : {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Voir le ticket en ligne</a></b> pour le mettre \u00e0 jour (apr\u00e8s authentification)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Pour m\u00e9moire, la description originelle \u00e9tait :</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>",
|
||||
"locale": "fr",
|
||||
"plain_text": "Bonjour,\r\n\r\nCe courriel indicatif permet de vous pr\u00e9venir que le ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") a vu sa priorit\u00e9 augment\u00e9 de mani\u00e8re automatique.\r\n\r\nIdentifiant : {{ ticket.ticket }}\r\nFile d'attente : {{ queue.title }}\r\nTitre : {{ ticket.title }}\r\nOuvert le : {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nSoumis par : {{ ticket.submitter_email|default:\"Unknown\" }}\r\nPriorit\u00e9 : {{ ticket.get_priority_display }}\r\nStatut : {{ ticket.get_status }}\r\nAssign\u00e9 \u00e0 : {{ ticket.get_assigned_to }}\r\nAdresse : {{ ticket.staff_url }}\r\n\r\nLa description originelle \u00e9tait :\r\n\r\n{{ ticket.description }}\r\n",
|
||||
"subject": "(Priorit\u00e9 augment\u00e9e)",
|
||||
@ -664,7 +664,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"heading": "Priorit\u00e9 de votre ticket augment\u00e9e",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Bonjour,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Un ticket qui vous est assign\u00e9 a vu sa priorit\u00e9 augment\u00e9 vu son d\u00e9lai de r\u00e9solution plus long que pr\u00e9vu.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>File d'attente</b> : {{ ticket.ticket }}<br>\r\n<b>Queue</b> : {{ queue.title }}<br>\r\n<b>Titre</b> : {{ ticket.title }}<br>\r\n<b>Ouvert le</b> : {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Soumis par</b> : {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priorit\u00e9</b> : {{ ticket.get_priority_display }}<br>\r\n<b>Statut</b> : {{ ticket.get_status }}<br>\r\n<b>Assign\u00e9 \u00e0</b> : {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Voir le ticket en ligne</a></b> pour le mettre \u00e0 jour (apr\u00e8s authentification)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Pour m\u00e9moire, la description originelle \u00e9tait :</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Merci de reprendre ce ticket afin d'essayer de le r\u00e9soudre le plus vite possible..</p>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Bonjour,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Un ticket qui vous est assign\u00e9 a vu sa priorit\u00e9 augment\u00e9 vu son d\u00e9lai de r\u00e9solution plus long que pr\u00e9vu.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>File d'attente</b> : {{ ticket.ticket }}<br>\r\n<b>Queue</b> : {{ queue.title }}<br>\r\n<b>Titre</b> : {{ ticket.title }}<br>\r\n<b>Ouvert le</b> : {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Soumis par</b> : {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priorit\u00e9</b> : {{ ticket.get_priority_display }}<br>\r\n<b>Statut</b> : {{ ticket.get_status }}<br>\r\n<b>Assign\u00e9 \u00e0</b> : {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Voir le ticket en ligne</a></b> pour le mettre \u00e0 jour (apr\u00e8s authentification)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Pour m\u00e9moire, la description originelle \u00e9tait :</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Merci de reprendre ce ticket afin d'essayer de le r\u00e9soudre le plus vite possible..</p>",
|
||||
"locale": "fr",
|
||||
"plain_text": "Bonjour,\r\n\r\nUn ticket qui vous est assign\u00e9 a vu sa priorit\u00e9 augment\u00e9 vu son d\u00e9lai de r\u00e9solution plus long que pr\u00e9vu.\r\n\r\nIdentifiant : {{ ticket.ticket }}\r\nFile d'attente : {{ queue.title }}\r\nTitre : {{ ticket.title }}\r\nOuvert le : {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nSoumis par : {{ ticket.submitter_email|default:\"Unknown\" }}\r\nPriorit\u00e9 : {{ ticket.get_priority_display }}\r\nStatut : {{ ticket.get_status }}\r\nAssign\u00e9 \u00e0 : {{ ticket.get_assigned_to }}\r\nAdresse : {{ ticket.staff_url }}\r\n\r\nLa description originelle \u00e9tait :\r\n\r\n{{ ticket.description }}\r\n\r\nMerci de reprendre ce ticket afin d'essayer de le r\u00e9soudre le plus vite possible.\r\n",
|
||||
"subject": "(Priorit\u00e9 augment\u00e9e - \u00e0 vous)",
|
||||
@ -676,7 +676,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"heading": "Nouveau ticket ouvert",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Bonjour,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Ce courriel indicatif permet de vous pr\u00e9venir qu'un nouveau ticket a \u00e9t\u00e9 ouvert.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>File d'attente</b> : {{ ticket.ticket }}<br>\r\n<b>Queue</b> : {{ queue.title }}<br>\r\n<b>Titre</b> : {{ ticket.title }}<br>\r\n<b>Ouvert le</b> : {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Soumis par</b> : {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priorit\u00e9</b> : {{ ticket.get_priority_display }}<br>\r\n<b>Statut</b> : {{ ticket.get_status }}<br>\r\n<b>Assign\u00e9 \u00e0</b> : {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Voir le ticket en ligne</a></b> pour le mettre \u00e0 jour (apr\u00e8s authentification)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Description :</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Bonjour,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Ce courriel indicatif permet de vous pr\u00e9venir qu'un nouveau ticket a \u00e9t\u00e9 ouvert.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>File d'attente</b> : {{ ticket.ticket }}<br>\r\n<b>Queue</b> : {{ queue.title }}<br>\r\n<b>Titre</b> : {{ ticket.title }}<br>\r\n<b>Ouvert le</b> : {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Soumis par</b> : {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priorit\u00e9</b> : {{ ticket.get_priority_display }}<br>\r\n<b>Statut</b> : {{ ticket.get_status }}<br>\r\n<b>Assign\u00e9 \u00e0</b> : {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Voir le ticket en ligne</a></b> pour le mettre \u00e0 jour (apr\u00e8s authentification)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Description :</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>",
|
||||
"locale": "fr",
|
||||
"plain_text": "Bonjour,\r\n\r\nCe courriel indicatif permet de vous pr\u00e9venir qu'un nouveau ticket a \u00e9t\u00e9 ouvert.\r\n\r\nIdentifiant : {{ ticket.ticket }}\r\nFile d'attente : {{ queue.title }}\r\nTitre : {{ ticket.title }}\r\nOuvert le : {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nSoumis par : {{ ticket.submitter_email|default:\"Unknown\" }}\r\nPriorit\u00e9 : {{ ticket.get_priority_display }}\r\nStatut : {{ ticket.get_status }}\r\nAssign\u00e9 \u00e0 : {{ ticket.get_assigned_to }}\r\nAdresse : {{ ticket.staff_url }}\r\n\r\nDescription\u00a0:\r\n{{ ticket.description }}\r\n\r\n",
|
||||
"subject": "(Ouvert)",
|
||||
@ -700,7 +700,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"heading": "Ticket r\u00e9solu",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Bonjour,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Le ticket suivant a \u00e9t\u00e9 r\u00e9solu.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>File d'attente</b> : {{ ticket.ticket }}<br>\r\n<b>Queue</b> : {{ queue.title }}<br>\r\n<b>Titre</b> : {{ ticket.title }}<br>\r\n<b>Ouvert le</b> : {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Soumis par</b> : {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priorit\u00e9</b> : {{ ticket.get_priority_display }}<br>\r\n<b>Statut</b> : {{ ticket.get_status }}<br>\r\n<b>Assign\u00e9 \u00e0</b> : {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Voir le ticket en ligne</a></b> pour le mettre \u00e0 jour (apr\u00e8s authentification)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Pour m\u00e9moire, la description originelle \u00e9tait :</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">La motivation de r\u00e9solution est:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ resolution }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\nCette information a \u00e9t\u00e9 envoy\u00e9 au cr\u00e9ateur de ce ticket, qui la confirmera avant que vous puissiez fermer ce ticket.</p>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Bonjour,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Le ticket suivant a \u00e9t\u00e9 r\u00e9solu.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>File d'attente</b> : {{ ticket.ticket }}<br>\r\n<b>Queue</b> : {{ queue.title }}<br>\r\n<b>Titre</b> : {{ ticket.title }}<br>\r\n<b>Ouvert le</b> : {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Soumis par</b> : {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priorit\u00e9</b> : {{ ticket.get_priority_display }}<br>\r\n<b>Statut</b> : {{ ticket.get_status }}<br>\r\n<b>Assign\u00e9 \u00e0</b> : {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Voir le ticket en ligne</a></b> pour le mettre \u00e0 jour (apr\u00e8s authentification)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Pour m\u00e9moire, la description originelle \u00e9tait :</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">La motivation de r\u00e9solution est:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ resolution }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\nCette information a \u00e9t\u00e9 envoy\u00e9 au cr\u00e9ateur de ce ticket, qui la confirmera avant que vous puissiez fermer ce ticket.</p>",
|
||||
"locale": "fr",
|
||||
"plain_text": "Bonjour,\r\n\r\nLe ticket suivant a \u00e9t\u00e9 r\u00e9solu.\r\n\r\nIdentifiant : {{ ticket.ticket }}\r\nFile d'attente : {{ queue.title }}\r\nTitre : {{ ticket.title }}\r\nOuvert le : {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nSoumis par : {{ ticket.submitter_email|default:\"Unknown\" }}\r\nPriorit\u00e9 : {{ ticket.get_priority_display }}\r\nStatut : {{ ticket.get_status }}\r\nAssign\u00e9 \u00e0 : {{ ticket.get_assigned_to }}\r\nAdresse : {{ ticket.staff_url }}\r\n\r\nLa description originelle \u00e9tait :\r\n\r\n{{ ticket.description }}\r\n\r\nLa motivation de r\u00e9solution est:\r\n\r\n{{ resolution }}\r\n\r\nCette information a \u00e9t\u00e9 envoy\u00e9 au cr\u00e9ateur de ce ticket, qui la confirmera avant que vous puissiez fermer ce ticket.\r\n\r\n",
|
||||
"subject": "(R\u00e9solu)",
|
||||
@ -712,7 +712,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"heading": "Ticket r\u00e9solu",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Bonjour,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Un ticket qui vous est assign\u00e9 a \u00e9t\u00e9 r\u00e9solu.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>File d'attente</b> : {{ ticket.ticket }}<br>\r\n<b>Queue</b> : {{ queue.title }}<br>\r\n<b>Titre</b> : {{ ticket.title }}<br>\r\n<b>Ouvert le</b> : {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Soumis par</b> : {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priorit\u00e9</b> : {{ ticket.get_priority_display }}<br>\r\n<b>Statut</b> : {{ ticket.get_status }}<br>\r\n<b>Assign\u00e9 \u00e0</b> : {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Voir le ticket en ligne</a></b> pour le mettre \u00e0 jour (apr\u00e8s authentification)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Pour m\u00e9moire, la description originelle \u00e9tait :</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">La motivation de r\u00e9solution est:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ resolution }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\nCette information a \u00e9t\u00e9 envoy\u00e9 au cr\u00e9ateur de ce ticket, qui la confirmera avant que vous puissiez fermer ce ticket.</p>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Bonjour,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Un ticket qui vous est assign\u00e9 a \u00e9t\u00e9 r\u00e9solu.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>File d'attente</b> : {{ ticket.ticket }}<br>\r\n<b>Queue</b> : {{ queue.title }}<br>\r\n<b>Titre</b> : {{ ticket.title }}<br>\r\n<b>Ouvert le</b> : {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Soumis par</b> : {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priorit\u00e9</b> : {{ ticket.get_priority_display }}<br>\r\n<b>Statut</b> : {{ ticket.get_status }}<br>\r\n<b>Assign\u00e9 \u00e0</b> : {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Voir le ticket en ligne</a></b> pour le mettre \u00e0 jour (apr\u00e8s authentification)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Pour m\u00e9moire, la description originelle \u00e9tait :</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">La motivation de r\u00e9solution est:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ resolution }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\nCette information a \u00e9t\u00e9 envoy\u00e9 au cr\u00e9ateur de ce ticket, qui la confirmera avant que vous puissiez fermer ce ticket.</p>",
|
||||
"locale": "fr",
|
||||
"plain_text": "Bonjour,\r\n\r\nUn ticket qui vous est assign\u00e9 a \u00e9t\u00e9 r\u00e9solu.\r\n\r\n\r\nIdentifiant : {{ ticket.ticket }}\r\nFile d'attente : {{ queue.title }}\r\nTitre : {{ ticket.title }}\r\nOuvert le : {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nSoumis par : {{ ticket.submitter_email|default:\"Unknown\" }}\r\nPriorit\u00e9 : {{ ticket.get_priority_display }}\r\nStatut : {{ ticket.get_status }}\r\nAssign\u00e9 \u00e0 : {{ ticket.get_assigned_to }}\r\nAdresse : {{ ticket.staff_url }}\r\n\r\nLa description originelle \u00e9tait :\r\n\r\n{{ ticket.description }}\r\n\r\nLa motivation de r\u00e9solution est:\r\n\r\n{{ resolution }}\r\n\r\nCette information a \u00e9t\u00e9 envoy\u00e9 au cr\u00e9ateur de ce ticket, qui la confirmera avant que vous puissiez fermer ce ticket.\r\n\r\n",
|
||||
"subject": "(R\u00e9solu - \u00e0 vous)",
|
||||
@ -736,7 +736,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"heading": "Ticket mis \u00e0 jour",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Bonjour,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Ce courriel indicatif permet de vous pr\u00e9venir que le ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") par {{ ticket.submitter_email }} a \u00e9t\u00e9 mis \u00e0 jour.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>File d'attente</b> : {{ ticket.ticket }}<br>\r\n<b>Queue</b> : {{ queue.title }}<br>\r\n<b>Titre</b> : {{ ticket.title }}<br>\r\n<b>Ouvert le</b> : {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Soumis par</b> : {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priorit\u00e9</b> : {{ ticket.get_priority_display }}<br>\r\n<b>Statut</b> : {{ ticket.get_status }}<br>\r\n<b>Assign\u00e9 \u00e0</b> : {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Voir le ticket en ligne</a></b> pour le mettre \u00e0 jour (apr\u00e8s authentification)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Pour m\u00e9moire, la description originelle \u00e9tait :</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Le commentaire suivant a \u00e9t\u00e9 ajout\u00e9 :</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ comment }}</blockquote>\r\n\r\n<p style=\"font-family: Tahoma, Arial, sans-serif; font-size: 11pt;\">Cette information {% if private %} n' a pas {% else %} a {% endif %} \u00e9t\u00e9 envoy\u00e9 par mail \u00e0 l'\u00e9metteur.</p>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Bonjour,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Ce courriel indicatif permet de vous pr\u00e9venir que le ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") par {{ ticket.submitter_email }} a \u00e9t\u00e9 mis \u00e0 jour.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>File d'attente</b> : {{ ticket.ticket }}<br>\r\n<b>Queue</b> : {{ queue.title }}<br>\r\n<b>Titre</b> : {{ ticket.title }}<br>\r\n<b>Ouvert le</b> : {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Soumis par</b> : {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priorit\u00e9</b> : {{ ticket.get_priority_display }}<br>\r\n<b>Statut</b> : {{ ticket.get_status }}<br>\r\n<b>Assign\u00e9 \u00e0</b> : {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Voir le ticket en ligne</a></b> pour le mettre \u00e0 jour (apr\u00e8s authentification)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Pour m\u00e9moire, la description originelle \u00e9tait :</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Le commentaire suivant a \u00e9t\u00e9 ajout\u00e9 :</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ comment }}</blockquote>\r\n\r\n<p style=\"font-family: Tahoma, Arial, sans-serif; font-size: 11pt;\">Cette information {% if private %} n' a pas {% else %} a {% endif %} \u00e9t\u00e9 envoy\u00e9 par mail \u00e0 l'\u00e9metteur.</p>",
|
||||
"locale": "fr",
|
||||
"plain_text": "Bonjour,\r\n\r\nCe courriel indicatif permet de vous pr\u00e9venir que le ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") par {{ ticket.submitter_email }} a \u00e9t\u00e9 mis \u00e0 jour.\r\n\r\nIdentifiant : {{ ticket.ticket }}\r\nFile d'attente : {{ queue.title }}\r\nTitre : {{ ticket.title }}\r\nOuvert le : {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nSoumis par : {{ ticket.submitter_email|default:\"Unknown\" }}\r\nPriorit\u00e9 : {{ ticket.get_priority_display }}\r\nStatut : {{ ticket.get_status }}\r\nAssign\u00e9 \u00e0 : {{ ticket.get_assigned_to }}\r\nAdresse : {{ ticket.staff_url }}\r\n\r\nDescription originelle :\r\n\r\n{{ ticket.description }}\r\n\r\nLe commentaire suivant a \u00e9t\u00e9 ajout\u00e9\u00a0:\r\n\r\n{{ comment }}\r\n\r\nCette information {% if private %} n' a pas {% else %} a {% endif %} \u00e9t\u00e9 envoy\u00e9 par mail \u00e0 l'\u00e9metteur.\r\n\r\n",
|
||||
"subject": "(Mis \u00e0 jour)",
|
||||
@ -748,7 +748,7 @@
|
||||
"model": "helpdesk.emailtemplate",
|
||||
"fields": {
|
||||
"heading": "Ticket mis \u00e0 jour",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Bonjour,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Ce courriel indicatif permet de vous pr\u00e9venir que le ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") par {{ ticket.submitter_email }}, qui vous est assign\u00e9, a \u00e9t\u00e9 mis \u00e0 jour.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>File d'attente</b> : {{ ticket.ticket }}<br>\r\n<b>Queue</b> : {{ queue.title }}<br>\r\n<b>Titre</b> : {{ ticket.title }}<br>\r\n<b>Ouvert le</b> : {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Soumis par</b> : {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priorit\u00e9</b> : {{ ticket.get_priority_display }}<br>\r\n<b>Statut</b> : {{ ticket.get_status }}<br>\r\n<b>Assign\u00e9 \u00e0</b> : {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Voir le ticket en ligne</a></b> pour le mettre \u00e0 jour (apr\u00e8s authentification)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Pour m\u00e9moire, la description originelle \u00e9tait :</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Le commentaire suivant a \u00e9t\u00e9 ajout\u00e9 :</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ comment }}</blockquote>\r\n\r\n<p style=\"font-family: Tahoma, Arial, sans-serif; font-size: 11pt;\">Cette information {% if private %} n' a pas {% else %} a {% endif %} \u00e9t\u00e9 envoy\u00e9 par mail \u00e0 l'\u00e9metteur.</p>",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Bonjour,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Ce courriel indicatif permet de vous pr\u00e9venir que le ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") par {{ ticket.submitter_email }}, qui vous est assign\u00e9, a \u00e9t\u00e9 mis \u00e0 jour.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>File d'attente</b> : {{ ticket.ticket }}<br>\r\n<b>Queue</b> : {{ queue.title }}<br>\r\n<b>Titre</b> : {{ ticket.title }}<br>\r\n<b>Ouvert le</b> : {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Soumis par</b> : {{ ticket.submitter_email|default:\"Unknown\" }}<br>\r\n<b>Priorit\u00e9</b> : {{ ticket.get_priority_display }}<br>\r\n<b>Statut</b> : {{ ticket.get_status }}<br>\r\n<b>Assign\u00e9 \u00e0</b> : {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Voir le ticket en ligne</a></b> pour le mettre \u00e0 jour (apr\u00e8s authentification)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Pour m\u00e9moire, la description originelle \u00e9tait :</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Le commentaire suivant a \u00e9t\u00e9 ajout\u00e9 :</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ comment }}</blockquote>\r\n\r\n<p style=\"font-family: Tahoma, Arial, sans-serif; font-size: 11pt;\">Cette information {% if private %} n' a pas {% else %} a {% endif %} \u00e9t\u00e9 envoy\u00e9 par mail \u00e0 l'\u00e9metteur.</p>",
|
||||
"locale": "fr",
|
||||
"plain_text": "Hello,\r\n\r\nCe courriel indicatif permet de vous pr\u00e9venir que le ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") par {{ ticket.submitter_email }}, qui vous est assign\u00e9, a \u00e9t\u00e9 mis \u00e0 jour.\r\n\r\nIdentifiant : {{ ticket.ticket }}\r\nFile d'attente : {{ queue.title }}\r\nTitre : {{ ticket.title }}\r\nOuvert le : {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nSoumis par : {{ ticket.submitter_email|default:\"Unknown\" }}\r\nPriorit\u00e9 : {{ ticket.get_priority_display }}\r\nStatut : {{ ticket.get_status }}\r\nAssign\u00e9 \u00e0 : {{ ticket.get_assigned_to }}\r\nAdresse : {{ ticket.staff_url }}\r\n\r\nDescription originelle :\r\n\r\n{{ ticket.description }}\r\n\r\nLe commentaire suivant a \u00e9t\u00e9 ajout\u00e9 :\r\n\r\n{{ comment }}\r\n\r\nCette information {% if private %} n' a pas {% else %} a {% endif %} \u00e9t\u00e9 envoy\u00e9 par mail \u00e0 l'\u00e9metteur.\r\n\r\n",
|
||||
"subject": "(Mis \u00e0 jour - \u00e0 vous)",
|
||||
@ -773,8 +773,8 @@
|
||||
"fields": {
|
||||
"locale": "it",
|
||||
"template_name": "assigned_cc",
|
||||
"plain_text": "Salve,\r\n\r\nTi \u00e8 stata inviata questa email per informarti che il ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") per {{ ticket.submitter_email }} {% if ticket.assigned_to %}\u00e8 stato assegnato a {{ ticket.assigned_to }}{% else %}non \u00e8 pi\u00f9 assegnato{% endif %}.\r\n\r\nID Ticket: {{ ticket.ticket }}\r\nCoda: {{ queue.title }}\r\nTitolo: {{ ticket.title }}\r\nAperto: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nInserito da: {{ ticket.submitter_email|default:\"Sconosciuto\" }}\r\nPriorit\u00e0: {{ ticket.get_priority_display }}\r\nStato: {{ ticket.get_status }}\r\nAssegnato a: {{ ticket.get_assigned_to }}\r\nVedi Online: {{ ticket.staff_url }} (richiesto login)\r\n\r\nLa descrizione del ticket era:\r\n\r\n{{ ticket.description }}",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Salve,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Ti \u00e8 stata inviata questa email per informarti che il ticket <a href=\"{{ ticket.staff_url }}\"><b>{{ ticket.ticket }}</b></a> (<em>{{ ticket.title }}</em>) per {{ ticket.submitter_email }} {% if ticket.assigned_to %}\u00e8 stato assegnato a {{ ticket.assigned_to }}{% else %}non \u00e8 pi\u00f9 assegnato{% endif %}.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Coda</b>: {{ queue.title }}<br>\r\n<b>Titolo</b>: {{ ticket.title }}<br>\r\n<b>Aperto</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Inserito da</b>: {{ ticket.submitter_email|default:\"Sconosciuto\" }}<br>\r\n<b>Priorit\u00e0</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Stato</b>: {{ ticket.get_status }}<br>\r\n<b>Assegnato a</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Vedi Online</a></b> per aggiornare questo ticket (richiesto login)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Per riferimento, la descrizione del ticket era:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>",
|
||||
"plain_text": "Salve,\r\n\r\nTi \u00e8 stata inviata questa email per informarti che il ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") per {{ ticket.submitter_email }} {% if ticket.assigned_to %}\u00e8 stato assegnato a {{ ticket.assigned_to }}{% else %}non \u00e8 pi\u00f9 assegnato{% endif %}.\r\n\r\nID Ticket: {{ ticket.ticket }}\r\nCoda: {{ queue.title }}\r\nTitolo: {{ ticket.title }}\r\nAperto: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nInserito da: {{ ticket.submitter_email|default:\"Sconosciuto\" }}\r\nPriorit\u00e0: {{ ticket.get_priority_display }}\r\nStato: {{ ticket.get_status }}\r\nAssegnato a: {{ ticket.get_assigned_to }}\r\nVedi Online: {{ ticket.staff_url }} (richiede login)\r\n\r\nLa descrizione del ticket era:\r\n\r\n{{ ticket.description }}",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Salve,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Ti \u00e8 stata inviata questa email per informarti che il ticket <a href=\"{{ ticket.staff_url }}\"><b>{{ ticket.ticket }}</b></a> (<em>{{ ticket.title }}</em>) per {{ ticket.submitter_email }} {% if ticket.assigned_to %}\u00e8 stato assegnato a {{ ticket.assigned_to }}{% else %}non \u00e8 pi\u00f9 assegnato{% endif %}.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Coda</b>: {{ queue.title }}<br>\r\n<b>Titolo</b>: {{ ticket.title }}<br>\r\n<b>Aperto</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Inserito da</b>: {{ ticket.submitter_email|default:\"Sconosciuto\" }}<br>\r\n<b>Priorit\u00e0</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Stato</b>: {{ ticket.get_status }}<br>\r\n<b>Assegnato a</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Vedi Online</a></b> per aggiornare questo ticket (richiede login)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Per riferimento, la descrizione del ticket era:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>",
|
||||
"heading": "Ticket Assegnato",
|
||||
"subject": "(Assegnato)"
|
||||
}
|
||||
@ -785,9 +785,9 @@
|
||||
"fields": {
|
||||
"locale": "it",
|
||||
"template_name": "assigned_owner",
|
||||
"plain_text": "Salve,\r\n\r\nTi \u00e8 stata inviata questa email per informarti che ti \u00e8 stato assegnato il ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") per {{ ticket.submitter_email }}.\r\n\r\nID Ticket: {{ ticket.ticket }}\r\nCoda: {{ queue.title }}\r\nTitolo: {{ ticket.title }}\r\nAperto: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nInserito da: {{ ticket.submitter_email|default:\"Sconosciuto\" }}\r\nPriorit\u00e0: {{ ticket.get_priority_display }}\r\nStato: {{ ticket.get_status }}\r\nAssegnato a: {{ ticket.get_assigned_to }}\r\nVedi Online: {{ ticket.staff_url }} (richiesto login)\r\n\r\nLa descrizione del ticket \u00e8:\r\n\r\n{{ ticket.description }}",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Salve,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Ti \u00e8 stata inviata questa email per informarti che ti \u00e8 stato assegnato il ticket <a href=\"{{ ticket.staff_url }}\"><b>{{ ticket.ticket }}</b></a> (<em>{{ ticket.title }}</em>) per {{ ticket.submitter_email }}.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Coda</b>: {{ queue.title }}<br>\r\n<b>Titolo</b>: {{ ticket.title }}<br>\r\n<b>Aperto</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Inserito da</b>: {{ ticket.submitter_email|default:\"Sconosciuto\" }}<br>\r\n<b>Priorit\u00e0</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Stato</b>: {{ ticket.get_status }}<br>\r\n<b>Assegnato a</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Vedi Online</a></b> per aggiornare questo ticket (richiesto login)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">La descrizione del ticket \u00e8:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>",
|
||||
"heading": "Ticket Assegnato A Te",
|
||||
"plain_text": "Salve,\r\n\r\nTi \u00e8 stata inviata questa email per informarti che ti \u00e8 stato assegnato il ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") per {{ ticket.submitter_email }}.\r\n\r\nID Ticket: {{ ticket.ticket }}\r\nCoda: {{ queue.title }}\r\nTitolo: {{ ticket.title }}\r\nAperto: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nInserito da: {{ ticket.submitter_email|default:\"Sconosciuto\" }}\r\nPriorit\u00e0: {{ ticket.get_priority_display }}\r\nStato: {{ ticket.get_status }}\r\nAssegnato a: {{ ticket.get_assigned_to }}\r\nVedi Online: {{ ticket.staff_url }} (richiede login)\r\n\r\nLa descrizione del ticket \u00e8:\r\n\r\n{{ ticket.description }}",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Salve,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Ti \u00e8 stata inviata questa email per informarti che ti \u00e8 stato assegnato il ticket <a href=\"{{ ticket.staff_url }}\"><b>{{ ticket.ticket }}</b></a> (<em>{{ ticket.title }}</em>) per {{ ticket.submitter_email }}.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Coda</b>: {{ queue.title }}<br>\r\n<b>Titolo</b>: {{ ticket.title }}<br>\r\n<b>Aperto</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Inserito da</b>: {{ ticket.submitter_email|default:\"Sconosciuto\" }}<br>\r\n<b>Priorit\u00e0</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Stato</b>: {{ ticket.get_status }}<br>\r\n<b>Assegnato a</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Vedi Online</a></b> per aggiornare questo ticket (richiede login)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">La descrizione del ticket \u00e8:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>",
|
||||
"heading": "Ticket Assegnato a Te",
|
||||
"subject": "(Assegnato a Te)"
|
||||
}
|
||||
},
|
||||
@ -797,8 +797,8 @@
|
||||
"fields": {
|
||||
"locale": "it",
|
||||
"template_name": "closed_cc",
|
||||
"plain_text": "Salve,\r\n\r\nIl ticket {{ ticket.title }} (\"{{ ticket.title }}\"){% if ticket.assigned_to %}, assegnato a {{ ticket.assigned_to }}{% endif %} \u00e8 stato chiuso.\r\n\r\nID Ticket: {{ ticket.ticket }}\r\nCoda: {{ queue.title }}\r\nTitolo: {{ ticket.title }}\r\nAperto: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nInserito da: {{ ticket.submitter_email|default:\"Sconosciuto\" }}\r\nPriorit\u00e0: {{ ticket.get_priority_display }}\r\nStato: {{ ticket.get_status }}\r\nAssegnato a: {{ ticket.get_assigned_to }}\r\nVedi Online: {{ ticket.staff_url }} (richiesto login)\r\n\r\nLa descrizione del ticket \u00e8:\r\n\r\n{{ ticket.description }}\r\n\r\nLa risoluzione fornita \u00e8:\r\n\r\n{{ resolution }}",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Salve,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Il ticket <i>{{ ticket.title }}</i> ('{{ ticket.title }}'){% if ticket.assigned_to %}, assegnato a {{ ticket.get_assigned_to }}{% endif %} \u00e8 stato chiuso.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Coda</b>: {{ queue.title }}<br>\r\n<b>Titolo</b>: {{ ticket.title }}<br>\r\n<b>Aperto</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Inserito da</b>: {{ ticket.submitter_email|default:\"Sconosciuto\" }}<br>\r\n<b>Priorit\u00e0</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Stato</b>: {{ ticket.get_status }}<br>\r\n<b>Assegnato a</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Vedi Online</a></b> per aggiornare questo ticket (richiesto login)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">La descrizione del ticket \u00e8:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">La risoluzione fornita \u00e8:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ resolution }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Se vuoi vedere questo ticket online, puoi visitare l'indirizzo <a href='{{ ticket.staff_url }}'>{{ ticket.staff_url }}</a>.</p>",
|
||||
"plain_text": "Salve,\r\n\r\nIl ticket {{ ticket.title }} (\"{{ ticket.title }}\"){% if ticket.assigned_to %}, assegnato a {{ ticket.assigned_to }}{% endif %} \u00e8 stato chiuso.\r\n\r\nID Ticket: {{ ticket.ticket }}\r\nCoda: {{ queue.title }}\r\nTitolo: {{ ticket.title }}\r\nAperto: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nInserito da: {{ ticket.submitter_email|default:\"Sconosciuto\" }}\r\nPriorit\u00e0: {{ ticket.get_priority_display }}\r\nStato: {{ ticket.get_status }}\r\nAssegnato a: {{ ticket.get_assigned_to }}\r\nVedi Online: {{ ticket.staff_url }} (richiede login)\r\n\r\nLa descrizione del ticket \u00e8:\r\n\r\n{{ ticket.description }}\r\n\r\nLa soluzione fornita \u00e8:\r\n\r\n{{ resolution }}",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Salve,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Il ticket <i>{{ ticket.title }}</i> ('{{ ticket.title }}'){% if ticket.assigned_to %}, assegnato a {{ ticket.get_assigned_to }}{% endif %} \u00e8 stato chiuso.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Coda</b>: {{ queue.title }}<br>\r\n<b>Titolo</b>: {{ ticket.title }}<br>\r\n<b>Aperto</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Inserito da</b>: {{ ticket.submitter_email|default:\"Sconosciuto\" }}<br>\r\n<b>Priorit\u00e0</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Stato</b>: {{ ticket.get_status }}<br>\r\n<b>Assegnato a</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Vedi Online</a></b> per aggiornare questo ticket (richiede login)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">La descrizione del ticket \u00e8:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">La soluzione fornita \u00e8:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ resolution }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Se vuoi vedere questo ticket online, puoi visitare l'indirizzo <a href='{{ ticket.staff_url }}'>{{ ticket.staff_url }}</a>.</p>",
|
||||
"heading": "Ticket Chiuso",
|
||||
"subject": "(Closed)"
|
||||
}
|
||||
@ -809,8 +809,8 @@
|
||||
"fields": {
|
||||
"locale": "it",
|
||||
"template_name": "closed_owner",
|
||||
"plain_text": "Salve,\r\n\r\nIl ticket seguente, correntemente a te assegnato, \u00e8 stato chiuso.\r\n\r\nID Ticket: {{ ticket.ticket }}\r\nCoda: {{ queue.title }}\r\nTitolo: {{ ticket.title }}\r\nAperto: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nInserito da: {{ ticket.submitter_email|default:\"Sconosciuto\" }}\r\nPriorit\u00e0: {{ ticket.get_priority_display }}\r\nStato: {{ ticket.get_status }}\r\nAssegnato a: {{ ticket.get_assigned_to }}\r\nVedi Online: {{ ticket.staff_url }} (richiesto login)\r\n\r\nSe vuoi vedere il ticket online, puoi visitare l'indirizzo {{ ticket.staff_url }}.",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Salve,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Il ticket seguente, correntemente a te assegnato, \u00e8 stato chiuso.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Coda</b>: {{ queue.title }}<br>\r\n<b>Titolo</b>: {{ ticket.title }}<br>\r\n<b>Aperto</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Inserito da</b>: {{ ticket.submitter_email|default:\"Sconosciuto\" }}<br>\r\n<b>Priorit\u00e0</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Stato</b>: {{ ticket.get_status }}<br>\r\n<b>Assegnato a</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Vedi Online</a></b> per aggiornare questo ticket (richiesto login)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">La descrizione del ticket \u00e8:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">La risoluzione fornita \u00e8:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.resolution }}</blockquote>",
|
||||
"plain_text": "Salve,\r\n\r\nIl seguente ticket, attualmente assegnato a te, \u00e8 stato chiuso.\r\n\r\nID Ticket: {{ ticket.ticket }}\r\nCoda: {{ queue.title }}\r\nTitolo: {{ ticket.title }}\r\nAperto: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nInserito da: {{ ticket.submitter_email|default:\"Sconosciuto\" }}\r\nPriorit\u00e0: {{ ticket.get_priority_display }}\r\nStato: {{ ticket.get_status }}\r\nAssegnato a: {{ ticket.get_assigned_to }}\r\nVedi Online: {{ ticket.staff_url }} (richiede login)\r\n\r\nSe vuoi vedere il ticket online, puoi visitare l'indirizzo {{ ticket.staff_url }}.",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Salve,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Il seguente ticket, attualmente assegnato a te, \u00e8 stato chiuso.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Coda</b>: {{ queue.title }}<br>\r\n<b>Titolo</b>: {{ ticket.title }}<br>\r\n<b>Aperto</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Inserito da</b>: {{ ticket.submitter_email|default:\"Sconosciuto\" }}<br>\r\n<b>Priorit\u00e0</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Stato</b>: {{ ticket.get_status }}<br>\r\n<b>Assegnato a</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Vedi Online</a></b> per aggiornare questo ticket (richiede login)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">La descrizione del ticket \u00e8:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">La soluzione fornita \u00e8:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.resolution }}</blockquote>",
|
||||
"heading": "Ticket Chiuso",
|
||||
"subject": "(Chiuso)"
|
||||
}
|
||||
@ -821,8 +821,8 @@
|
||||
"fields": {
|
||||
"locale": "it",
|
||||
"template_name": "closed_submitter",
|
||||
"plain_text": "Salve,\r\n\r\nHai recentemente inserito un ticket dall'oggetto \"{{ ticket.title }}\". Questa email ti \u00e8 inviata come conferma della chiusura del ticket.\r\n\r\nSe credi che ci sia bisogno di ulteriore lavoro per questo ticket, per cortesia faccelo sapere rispondendo a questa email mantenendone invariato l'oggetto.\r\n\r\nSe vuoi vedere il ticket online, puoi visitare l'indirizzo {{ ticket.ticket_url }}.\r\n\r\nLa risoluzione fornita \u00e8:\r\n\r\n{{ ticket.resolution }}",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Salve,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Hai recentemente inserito un ticket dall'oggetto <i>{{ ticket.title }}</i>. Questa email ti \u00e8 inviata come conferma della chiusura del ticket..</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">La risoluzione fornita \u00e8:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.resolution }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Se vuoi vedere il ticket online, puoi visitare l'indirizzo <a href=\"{{ ticket.ticket_url }}\">{{ ticket.ticket_url }}</a>. Se credi che ci sia bisogno di ulteriore lavoro per questo ticket, per cortesia faccelo sapere rispondendo a questa email mantenendone invariato l'oggetto.\r\n</p>",
|
||||
"plain_text": "Salve,\r\n\r\nHai recentemente inserito un ticket dal titolo \"{{ ticket.title }}\". Questa email ti \u00e8 inviata come conferma della chiusura del ticket.\r\n\r\nSe ritieni che questo ticket richieda ulteriori attivit\u00e0, per cortesia faccelo sapere rispondendo a questa email mantenendone invariato l'oggetto.\r\n\r\nSe vuoi vedere il ticket online, puoi visitare l'indirizzo {{ ticket.ticket_url }}.\r\n\r\nLa soluzione proposta \u00e8:\r\n\r\n{{ ticket.resolution }}",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Salve,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Hai recentemente inserito un ticket dal titolo <i>{{ ticket.title }}</i>. Questa email ti \u00e8 inviata come conferma della chiusura del ticket.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">La soluzione proposta \u00e8:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.resolution }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Se vuoi vedere il ticket online, puoi visitare l'indirizzo <a href=\"{{ ticket.ticket_url }}\">{{ ticket.ticket_url }}</a>. Se ritieni che questo ticket richieda ulteriori attivit\u00e0, per cortesia faccelo sapere rispondendo a questa email mantenendone invariato l'oggetto.\r\n</p>",
|
||||
"heading": "Ticket Chiuso",
|
||||
"subject": "(Closed)"
|
||||
}
|
||||
@ -833,8 +833,8 @@
|
||||
"fields": {
|
||||
"locale": "it",
|
||||
"template_name": "escalated_cc",
|
||||
"plain_text": "Salve,\r\n\r\nTi \u00e8 stata inviata questa email per informarti che la priorit\u00e0 del ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") \u00e8 stata aumentata automaticamente.\r\n\r\nID Ticket: {{ ticket.ticket }}\r\nCoda: {{ queue.title }}\r\nTitolo: {{ ticket.title }}\r\nAperto: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nInserito da: {{ ticket.submitter_email|default:\"Sconosciuto\" }}\r\nPriorit\u00e0: {{ ticket.get_priority_display }}\r\nStato: {{ ticket.get_status }}\r\nAssegnato a: {{ ticket.get_assigned_to }}\r\nVedi Online: {{ ticket.staff_url }} (richiesto login)\r\n\r\nLa descrizione originale del ticket era:\r\n\r\n{{ ticket.description }}",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Salve,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Ti \u00e8 stata inviata questa email per informarti che la priorit\u00e0 del ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") \u00e8 stata aumentata automaticamente.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Coda</b>: {{ queue.title }}<br>\r\n<b>Titolo</b>: {{ ticket.title }}<br>\r\n<b>Aperto</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Inserito da</b>: {{ ticket.submitter_email|default:\"Sconosciuto\" }}<br>\r\n<b>Priorit\u00e0</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Stato</b>: {{ ticket.get_status }}<br>\r\n<b>Assegnato a</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Vedi Online</a></b> per aggiornare questo ticket (richiesto login)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Per riferimento, la descrizione originale del ticket era:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>",
|
||||
"plain_text": "Salve,\r\n\r\nTi \u00e8 stata inviata questa email per informarti che la priorit\u00e0 del ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") \u00e8 stata aumentata automaticamente.\r\n\r\nID Ticket: {{ ticket.ticket }}\r\nCoda: {{ queue.title }}\r\nTitolo: {{ ticket.title }}\r\nAperto: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nInserito da: {{ ticket.submitter_email|default:\"Sconosciuto\" }}\r\nPriorit\u00e0: {{ ticket.get_priority_display }}\r\nStato: {{ ticket.get_status }}\r\nAssegnato a: {{ ticket.get_assigned_to }}\r\nVedi Online: {{ ticket.staff_url }} (richiede login)\r\n\r\nLa descrizione originale del ticket era:\r\n\r\n{{ ticket.description }}",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Salve,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Ti \u00e8 stata inviata questa email per informarti che la priorit\u00e0 del ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") \u00e8 stata aumentata automaticamente.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Coda</b>: {{ queue.title }}<br>\r\n<b>Titolo</b>: {{ ticket.title }}<br>\r\n<b>Aperto</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Inserito da</b>: {{ ticket.submitter_email|default:\"Sconosciuto\" }}<br>\r\n<b>Priorit\u00e0</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Stato</b>: {{ ticket.get_status }}<br>\r\n<b>Assegnato a</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Vedi Online</a></b> per aggiornare questo ticket (richiede login)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Per riferimento, la descrizione originale del ticket era:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>",
|
||||
"heading": "Priorit\u00e0 Aumentata",
|
||||
"subject": "(Priorit\u00e0)"
|
||||
}
|
||||
@ -845,9 +845,9 @@
|
||||
"fields": {
|
||||
"locale": "it",
|
||||
"template_name": "escalated_owner",
|
||||
"plain_text": "Salve,\r\n\r\nLa priorit\u00e0 di un ticket a te assegnato \u00e8 stata automaticamente aumentata in quanto questo \u00e8 stato aperto pi\u00f9 del previsto.\r\n\r\nID Ticket: {{ ticket.ticket }}\r\nCoda: {{ queue.title }}\r\nTitolo: {{ ticket.title }}\r\nAperto: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nInserito da: {{ ticket.submitter_email|default:\"Sconosciuto\" }}\r\nPriorit\u00e0: {{ ticket.get_priority_display }}\r\nStato: {{ ticket.get_status }}\r\nAssegnato a: {{ ticket.get_assigned_to }}\r\nVedi Online: {{ ticket.staff_url }} (richiesto login)\r\n\r\nLa descrizione originale del ticket era:\r\n\r\n{{ ticket.description }}\r\n\r\nEsamina questo ticket e cerca di fornire una soluzione al pi\u00f9 presto.",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Salve,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">La priorit\u00e0 di un ticket a te assegnato \u00e8 stata automaticamente aumentata in quanto questo \u00e8 stato aperto pi\u00f9 del previsto.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Coda</b>: {{ queue.title }}<br>\r\n<b>Titolo</b>: {{ ticket.title }}<br>\r\n<b>Aperto</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Inserito da</b>: {{ ticket.submitter_email|default:\"Sconosciuto\" }}<br>\r\n<b>Priorit\u00e0</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Stato</b>: {{ ticket.get_status }}<br>\r\n<b>Assegnato a</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Vedi Online</a></b> per aggiornare questo ticket (richiesto login)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Per riferimento, la descrizione originale del ticket era:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>",
|
||||
"heading": "La Priorit\u00e0 Di Un Ticket A Te Assegnato \u00e8 Stata Aumentata",
|
||||
"plain_text": "Salve,\r\n\r\nLa priorit\u00e0 di un ticket a te assegnato \u00e8 stata automaticamente aumentata in quanto questo \u00e8 rimasto aperto pi\u00f9 del previsto.\r\n\r\nID Ticket: {{ ticket.ticket }}\r\nCoda: {{ queue.title }}\r\nTitolo: {{ ticket.title }}\r\nAperto: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nInserito da: {{ ticket.submitter_email|default:\"Sconosciuto\" }}\r\nPriorit\u00e0: {{ ticket.get_priority_display }}\r\nStato: {{ ticket.get_status }}\r\nAssegnato a: {{ ticket.get_assigned_to }}\r\nVedi Online: {{ ticket.staff_url }} (richiede login)\r\n\r\nLa descrizione originale del ticket era:\r\n\r\n{{ ticket.description }}\r\n\r\nRiesamina questo ticket e cerca di fornire una soluzione al pi\u00f9 presto.",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Salve,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">La priorit\u00e0 di un ticket a te assegnato \u00e8 stata automaticamente aumentata in quanto questo \u00e8 rimasto aperto pi\u00f9 del previsto.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Coda</b>: {{ queue.title }}<br>\r\n<b>Titolo</b>: {{ ticket.title }}<br>\r\n<b>Aperto</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Inserito da</b>: {{ ticket.submitter_email|default:\"Sconosciuto\" }}<br>\r\n<b>Priorit\u00e0</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Stato</b>: {{ ticket.get_status }}<br>\r\n<b>Assegnato a</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Vedi Online</a></b> per aggiornare questo ticket (richiede login)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Per riferimento, la descrizione originale del ticket era:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>",
|
||||
"heading": "La Priorit\u00e0 di un Ticket Assegnato a Te \u00e8 Stata Aumentata",
|
||||
"subject": "(Priorit\u00e0)"
|
||||
}
|
||||
},
|
||||
@ -857,9 +857,9 @@
|
||||
"fields": {
|
||||
"locale": "it",
|
||||
"template_name": "escalated_submitter",
|
||||
"plain_text": "Salve,\r\n\r\nHai recentemente inserito un ticket dall'oggetto \"{{ ticket.title }}\". Questa email ti \u00e8 inviata per informarti che la priorit\u00e0 del ticket \u00e8 stata automaticamente alzata in quanto questo \u00e8 stato aperto pi\u00f9 a lungo del previsto.\r\n\r\nEsamineremo a breve il ticket e cercheremo di fornire una risoluzione quanto prima.\r\n\r\nSe vuoi visitare il ticket online, puoi visitare l'indirizzo {{ ticket.ticket_url }}.",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 11pt;\">Salve,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 11pt;\">Hai recentemente inserito un ticket dall'oggetto <i>{{ ticket.title }}</i>. Questa email ti \u00e8 inviata per informarti che la priorit\u00e0 del ticket \u00e8 stata automaticamente alzata in quanto questo \u00e8 stato aperto pi\u00f9 a lungo del previsto.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 11pt;\">Esamineremo a breve il ticket e cercheremo di fornire una risoluzione quanto prima.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 11pt;\">Se vuoi visitare il ticket online, puoi visitare l'indirizzo <a href=\"{{ ticket.ticket_url }}\">{{ ticket.ticket_url }}</a>.</p>",
|
||||
"heading": "La Priorit\u00e0 Del Tuo Ticket \u00e8 Stata Aumentata",
|
||||
"plain_text": "Salve,\r\n\r\nHai recentemente inserito un ticket dal titolo \"{{ ticket.title }}\". Questa email ti \u00e8 inviata per informarti che la priorit\u00e0 del ticket \u00e8 stata automaticamente aumentata in quanto questo \u00e8 rimasto aperto pi\u00f9 a lungo del previsto.\r\n\r\nRiesamineremo a breve il ticket e cercheremo di fornire una soluzione quanto prima.\r\n\r\nSe vuoi visualizzare il ticket online, puoi visitare l'indirizzo {{ ticket.ticket_url }}.",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 11pt;\">Salve,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 11pt;\">Hai recentemente inserito un ticket dal titolo <i>{{ ticket.title }}</i>. Questa email ti \u00e8 inviata per informarti che la priorit\u00e0 del ticket \u00e8 stata automaticamente aumentata in quanto questo \u00e8 rimasto aperto pi\u00f9 a lungo del previsto.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 11pt;\">Riesamineremo a breve il ticket e cercheremo di fornire una soluzione quanto prima.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 11pt;\">Se vuoi visualizzare il ticket online, puoi visitare l'indirizzo <a href=\"{{ ticket.ticket_url }}\">{{ ticket.ticket_url }}</a>.</p>",
|
||||
"heading": "La Priorit\u00e0 del Tuo Ticket \u00e8 Stata Aumentata",
|
||||
"subject": "(Priorit\u00e0)"
|
||||
}
|
||||
},
|
||||
@ -869,8 +869,8 @@
|
||||
"fields": {
|
||||
"locale": "it",
|
||||
"template_name": "newticket_cc",
|
||||
"plain_text": "Salve,\r\n\r\nQuesta email ti \u00e8 stata inviata per informarti che un nuovo ticket \u00e8 stato aperto.\r\n\r\nID Ticket: {{ ticket.ticket }}\r\nCoda: {{ queue.title }}\r\nTitolo: {{ ticket.title }}\r\nAperto: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nInserito da: {{ ticket.submitter_email|default:\"Sconosciuto\" }}\r\nPriorit\u00e0: {{ ticket.get_priority_display }}\r\nStato: {{ ticket.get_status }}\r\nVedi Online: {{ ticket.staff_url }} (richiesto login)\r\n\r\nDescrizione:\r\n{{ ticket.description }}",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Salve,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Questa email ti \u00e8 stata inviata per informarti che un nuovo ticket \u00e8 stato aperto.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Coda</b>: {{ queue.title }}<br>\r\n<b>Titolo</b>: {{ ticket.title }}<br>\r\n<b>Aperto</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Inserito da</b>: {{ ticket.submitter_email|default:\"Sconosciuto\" }}<br>\r\n<b>Priorit\u00e0</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Stato</b>: {{ ticket.get_status }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Vedi Online</a></b> per aggiornare questo ticket (richiesto login)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Descrizione:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>",
|
||||
"plain_text": "Salve,\r\n\r\nQuesta email ti \u00e8 stata inviata per informarti che \u00e8 stato aperto un nuovo ticket.\r\n\r\nID Ticket: {{ ticket.ticket }}\r\nCoda: {{ queue.title }}\r\nTitolo: {{ ticket.title }}\r\nAperto: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nInserito da: {{ ticket.submitter_email|default:\"Sconosciuto\" }}\r\nPriorit\u00e0: {{ ticket.get_priority_display }}\r\nStato: {{ ticket.get_status }}\r\nVedi Online: {{ ticket.staff_url }} (richiede login)\r\n\r\nDescrizione:\r\n{{ ticket.description }}",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Salve,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Questa email ti \u00e8 stata inviata per informarti che \u00e8 stato aperto un nuovo ticket.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Coda</b>: {{ queue.title }}<br>\r\n<b>Titolo</b>: {{ ticket.title }}<br>\r\n<b>Aperto</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Inserito da</b>: {{ ticket.submitter_email|default:\"Sconosciuto\" }}<br>\r\n<b>Priorit\u00e0</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Stato</b>: {{ ticket.get_status }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Vedi Online</a></b> per aggiornare questo ticket (richiede login)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Descrizione:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>",
|
||||
"heading": "Nuovo Ticket Aperto",
|
||||
"subject": "(Aperto)"
|
||||
}
|
||||
@ -881,8 +881,8 @@
|
||||
"fields": {
|
||||
"locale": "it",
|
||||
"template_name": "newticket_submitter",
|
||||
"plain_text": "Salve,\r\n\r\nQuesta email ti \u00e8 stata inviata per informarti che abbiamo ricevuto la tua richiesta di helpdesk dall'oggetto \"{{ ticket.title }}\". \r\n\r\nNon \u00e8 necessario fare altro al momento. Al tuo ticket \u00e8 stato assegnato l'identificativo {{ ticket.ticket }} e verr\u00e0 presto esaminato.\r\n\r\nSe vuoi aggiungere ulteriori dettagli o hai domande sul ticket, rispondi a questa email includendo l'id \"{{ ticket.ticket }}\" del ticket nell'oggetto. Il modo pi\u00f9 semplice per farlo \u00e8 di premere il pulsante \"rispondi\" del tuo client di posta.\r\n\r\nSe vuoi vedere questo ticket online per aggiungere ulteriori informazioni, allegare file o vedere gli aggiornamenti, puoi visitare l'indirizzo {{ ticket.ticket_url }}.\r\n\r\nAnalizzeremo la tua richiesta e cercheremo di risolverla quanto prima. Riceverai successivi aggiornamenti e la notifica di risoluzione a questo indirizzo email.",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Salve,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Questa email ti \u00e8 stata inviata per informarti che abbiamo ricevuto la tua richiesta di helpdesk dall'oggetto <i>{{ ticket.title }}</i>.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Non \u00e8 necessario fare altro al momento. Al tuo ticket \u00e8 stato assegnato l'identificativo <b>{{ ticket.ticket }}</b> e verr\u00e0 presto esaminato.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Se vuoi aggiungere ulteriori dettagli o hai domande sul ticket, rispondi a questa email includendo l'id <b>{{ ticket.ticket}}</b> del ticket nell'oggetto. Il modo pi\u00f9 semplice per farlo \u00e8 di premere il pulsante \"rispondi\" del tuo client di posta.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Se vuoi vedere questo ticket online per aggiungere ulteriori informazioni, allegare file o vedere gli aggiornamenti, puoi visitare l'indirizzo <a href=\"{{ ticket.ticket_url }}\">{{ ticket.ticket_url }}</a>.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Analizzeremo la tua richiesta e cercheremo di risolverla quanto prima. Riceverai successivi aggiornamenti e la notifica di risoluzione a questo indirizzo email.</p>",
|
||||
"plain_text": "Salve,\r\n\r\nQuesta email ti \u00e8 stata inviata per informarti che abbiamo ricevuto la tua richiesta di assistenza dal titolo \"{{ ticket.title }}\".\r\n\r\nNon \u00e8 necessario fare altro al momento. Il tuo ticket \u00e8 identificato dal codice {{ ticket.ticket }}, e verr\u00e0 esaminato al pi\u00f9 presto.\r\n\r\nSe vuoi aggiungere ulteriori dettagli o hai domande sul ticket, rispondi a questa email includendo l'id \"{{ ticket.ticket }}\" del ticket nell'oggetto. Il modo pi\u00f9 semplice per farlo \u00e8 premere il pulsante \"rispondi\" del tuo client di posta.\r\n\r\nSe vuoi vedere questo ticket online per aggiungere ulteriori informazioni, allegare file o vedere gli aggiornamenti, puoi visitare l'indirizzo {{ ticket.ticket_url }}.\r\n\r\nAnalizzeremo la tua richiesta e cercheremo di risolverla quanto prima. Riceverai successivi aggiornamenti e la notifica di risoluzione a questo indirizzo email.",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Salve,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Questa email ti \u00e8 stata inviata per informarti che abbiamo ricevuto la tua richiesta di assistenza dal titolo <i>{{ ticket.title }}</i>.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Non \u00e8 necessario fare altro al momento. Il tuo ticket \u00e8 identificato dal codice <b>{{ ticket.ticket }}</b> e verr\u00e0 esaminato al pi\u00f9 presto.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Se vuoi aggiungere ulteriori dettagli o hai domande sul ticket, rispondi a questa email includendo l'id <b>{{ ticket.ticket}}</b> del ticket nell'oggetto. Il modo pi\u00f9 semplice per farlo \u00e8 premere il pulsante \"rispondi\" del tuo client di posta.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Se vuoi vedere questo ticket online per aggiungere ulteriori informazioni, allegare file o vedere gli aggiornamenti, puoi visitare l'indirizzo <a href=\"{{ ticket.ticket_url }}\">{{ ticket.ticket_url }}</a>.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Analizzeremo la tua richiesta e cercheremo di risolverla quanto prima. Riceverai successivi aggiornamenti e la notifica di risoluzione a questo indirizzo email.</p>",
|
||||
"heading": "Il Tuo Ticket \u00e8 Stato Aperto",
|
||||
"subject": "(Aperto)"
|
||||
}
|
||||
@ -893,8 +893,8 @@
|
||||
"fields": {
|
||||
"locale": "it",
|
||||
"template_name": "resolved_cc",
|
||||
"plain_text": "Salve,\r\n\r\nIl seguente ticket \u00e8 stato risolto:\r\n\r\nID Ticket: {{ ticket.ticket }}\r\nCoda: {{ queue.title }}\r\nTitolo: {{ ticket.title }}\r\nAperto: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nInserito da: {{ ticket.submitter_email|default:\"Sconosciuto\" }}\r\nPriorit\u00e0: {{ ticket.get_priority_display }}\r\nStato: {{ ticket.get_status }}\r\nAssegnato a: {{ ticket.get_assigned_to }}\r\nVedi Online: {{ ticket.staff_url }} (richiesto login)\r\n\r\nLa descrizione del ticket \u00e8:\r\n\r\n{{ ticket.description }}\r\n\r\nLa risoluzione fornita \u00e8:\r\n\r\n{{ ticket.resolution }}\r\n\r\nLa risoluzione \u00e8 stata inviata al proprietario del ticket, che dovr\u00e0 verificarla prima che il ticket possa essere chiuso.",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Salve,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Il seguente ticket \u00e8 stato risolto:</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Coda</b>: {{ queue.title }}<br>\r\n<b>Titolo</b>: {{ ticket.title }}<br>\r\n<b>Aperto</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Inserito da</b>: {{ ticket.submitter_email|default:\"Sconosciuto\" }}<br>\r\n<b>Priorit\u00e0</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Stato</b>: {{ ticket.get_status }}<br>\r\n<b>Assegnato a</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Vedi Online</a></b> per aggiornare questo ticket (richiesto login)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Per riferimento, la descrizione originale del ticket era:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">La risoluzione aggiunta era:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.resolution }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">La risoluzione \u00e8 stata inviata al proprietario del ticket, che dovr\u00e0 verificarla prima che il ticket possa essere chiuso.</p>",
|
||||
"plain_text": "Salve,\r\n\r\nIl seguente ticket \u00e8 stato risolto:\r\n\r\nID Ticket: {{ ticket.ticket }}\r\nCoda: {{ queue.title }}\r\nTitolo: {{ ticket.title }}\r\nAperto: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nInserito da: {{ ticket.submitter_email|default:\"Sconosciuto\" }}\r\nPriorit\u00e0: {{ ticket.get_priority_display }}\r\nStato: {{ ticket.get_status }}\r\nAssegnato a: {{ ticket.get_assigned_to }}\r\nVedi Online: {{ ticket.staff_url }} (richiede login)\r\n\r\nLa descrizione del ticket \u00e8:\r\n\r\n{{ ticket.description }}\r\n\r\nLa risoluzione fornita \u00e8:\r\n\r\n{{ ticket.resolution }}\r\n\r\nLa risoluzione \u00e8 stata inviata al proprietario del ticket, che dovr\u00e0 verificarla prima che il ticket possa essere chiuso.",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Salve,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Il seguente ticket \u00e8 stato risolto:</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Coda</b>: {{ queue.title }}<br>\r\n<b>Titolo</b>: {{ ticket.title }}<br>\r\n<b>Aperto</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Inserito da</b>: {{ ticket.submitter_email|default:\"Sconosciuto\" }}<br>\r\n<b>Priorit\u00e0</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Stato</b>: {{ ticket.get_status }}<br>\r\n<b>Assegnato a</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Vedi Online</a></b> per aggiornare questo ticket (richiede login)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Per riferimento, la descrizione originale del ticket era:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">La risoluzione aggiunta era:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.resolution }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">La risoluzione \u00e8 stata inviata al proprietario del ticket, che dovr\u00e0 verificarla prima che il ticket possa essere chiuso.</p>",
|
||||
"heading": "Ticket Risolto",
|
||||
"subject": "(Risolto)"
|
||||
}
|
||||
@ -905,8 +905,8 @@
|
||||
"fields": {
|
||||
"locale": "it",
|
||||
"template_name": "resolved_owner",
|
||||
"plain_text": "Salve,\r\n\r\nun ticket a te assegnato \u00e8 stato risolto.\r\n\r\nID Ticket: {{ ticket.ticket }}\r\nCoda: {{ queue.title }}\r\nTitolo: {{ ticket.title }}\r\nAperto: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nInserito da: {{ ticket.submitter_email|default:\"Sconosciuto\" }}\r\nPriorit\u00e0: {{ ticket.get_priority_display }}\r\nStato: {{ ticket.get_status }}\r\nAssegnato a: {{ ticket.get_assigned_to }}\r\nVedi Online: {{ ticket.staff_url }} (richiesto login)\r\n\r\nLa descrizione del ticket \u00e8:\r\n\r\n{{ ticket.description }}\r\n\r\nLa risoluzione fornita \u00e8:\r\n\r\n{{ ticket.resolution }}\r\n\r\nLa risoluzione \u00e8 stata inviata al proprietario del ticket, che dovr\u00e0 verificarla prima che il ticket possa essere chiuso.",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Salve,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Un ticket a te assegnato \u00e8 stato risolto.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Coda</b>: {{ queue.title }}<br>\r\n<b>Titolo</b>: {{ ticket.title }}<br>\r\n<b>Aperto</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Inserito da</b>: {{ ticket.submitter_email|default:\"Sconosciuto\" }}<br>\r\n<b>Priorit\u00e0</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Stato</b>: {{ ticket.get_status }}<br>\r\n<b>Assegnato a</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Vedi Online</a></b> per aggiornare questo ticket (richiesto login)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">La descrizione del ticket \u00e8:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">La risoluzione fornita \u00e8:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.resolution }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">La risoluzione \u00e8 stata inviata al proprietario del ticket, che dovr\u00e0 verificarla prima che il ticket possa essere chiuso.</p>",
|
||||
"plain_text": "Salve,\r\n\r\nun ticket a te assegnato \u00e8 stato risolto.\r\n\r\nID Ticket: {{ ticket.ticket }}\r\nCoda: {{ queue.title }}\r\nTitolo: {{ ticket.title }}\r\nAperto: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nInserito da: {{ ticket.submitter_email|default:\"Sconosciuto\" }}\r\nPriorit\u00e0: {{ ticket.get_priority_display }}\r\nStato: {{ ticket.get_status }}\r\nAssegnato a: {{ ticket.get_assigned_to }}\r\nVedi Online: {{ ticket.staff_url }} (richiede login)\r\n\r\nLa descrizione del ticket \u00e8:\r\n\r\n{{ ticket.description }}\r\n\r\nLa risoluzione fornita \u00e8:\r\n\r\n{{ ticket.resolution }}\r\n\r\nLa risoluzione \u00e8 stata inviata al proprietario del ticket, che dovr\u00e0 verificarla prima che il ticket possa essere chiuso.",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Salve,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Un ticket a te assegnato \u00e8 stato risolto.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Coda</b>: {{ queue.title }}<br>\r\n<b>Titolo</b>: {{ ticket.title }}<br>\r\n<b>Aperto</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Inserito da</b>: {{ ticket.submitter_email|default:\"Sconosciuto\" }}<br>\r\n<b>Priorit\u00e0</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Stato</b>: {{ ticket.get_status }}<br>\r\n<b>Assegnato a</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Vedi Online</a></b> per aggiornare questo ticket (richiede login)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">La descrizione del ticket \u00e8:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">La risoluzione fornita \u00e8:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.resolution }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">La risoluzione \u00e8 stata inviata al proprietario del ticket, che dovr\u00e0 verificarla prima che il ticket possa essere chiuso.</p>",
|
||||
"heading": "Ticket Risolto",
|
||||
"subject": "(Risolto)"
|
||||
}
|
||||
@ -917,8 +917,8 @@
|
||||
"fields": {
|
||||
"locale": "it",
|
||||
"template_name": "resolved_submitter",
|
||||
"plain_text": "Salve,\r\n\r\nHai recentemente inserito un ticket dall'oggetto \"{{ ticket.title }}\". Questa email vi \u00e8 stata inviata per informarvi della risoluzione del ticket.\r\n\r\nLa seguente risoluzione \u00e8 stata inserita al ticket {{ ticket.ticket }}:\r\n\r\n{{ resolution }}\r\n\r\nPu\u00f2 per cortesia confermare che questa risoluzione risolve i vostri problemi in modo tale da poter chiudere il ticket? Se ha ulteriori domande, o non crede che la risoluzione adottata \u00e8 adeguata, risponda a questa email mantenendo invariato l'oggetto.\r\n\r\nSe vuole vedere il ticket online, pu\u00f2 visitare l'indirizzo {{ ticket.ticket_url }}",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Hello,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Hai recentemente inserito un ticket dall'oggetto <i>{{ ticket.title }}</i>. Questa email vi \u00e8 stata inviata per informarvi della risoluzione del ticket.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">La seguente risoluzione \u00e8 stata inserita al ticket <b>{{ ticket.ticket }}</b>:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ resolution }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Pu\u00f2 per cortesia confermare che questa risoluzione risolve i vostri problemi in modo tale da poter chiudere il ticket? Se ha ulteriori domande, o non crede che la risoluzione adottata \u00e8 adeguata, risponda a questa email mantenendo invariato l'oggetto.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Se vuole vedere il ticket online, pu\u00f2 visitare l'indirizzo <a href=\"{{ ticket.ticket_url }}\">{{ ticket.ticket_url }}</a>.</p>",
|
||||
"plain_text": "Salve,\r\n\r\nHai recentemente inserito un ticket con titolo \"{{ ticket.title }}\". Questa email ti \u00e8 stata inviata per informarti della risoluzione del ticket.\r\n\r\nLa seguente risoluzione \u00e8 stata indicata per il ticket {{ ticket.ticket }}:\r\n\r\n{{ resolution }}\r\n\r\nPuoi per cortesia confermare che questa soluzione risolva i vostri problemi in modo tale da poter chiudere il ticket? Se hai ulteriori domande, o ritieni che la soluzione proposta non sia adeguata, rispondi a questa email mantenendo invariato l'oggetto.\r\n\r\nSe vuoi vedere il ticket online, puoi visitare l'indirizzo {{ ticket.ticket_url }}",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Salve,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Hai recentemente inserito un ticket con titolo <i>{{ ticket.title }}</i>. Questa email ti \u00e8 stata inviata per informarti della risoluzione del ticket.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">La seguente risoluzione \u00e8 stata indicata per il ticket <b>{{ ticket.ticket }}</b>:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ resolution }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Puoi per cortesia confermare che questa soluzione risolva i vostri problemi in modo tale da poter chiudere il ticket? Se hai ulteriori domande, o ritieni che la soluzione proposta non sia adeguata, rispondi a questa email mantenendo invariato l'oggetto.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Se vuoi vedere il ticket online, puoi visitare l'indirizzo <a href=\"{{ ticket.ticket_url }}\">{{ ticket.ticket_url }}</a>.</p>",
|
||||
"heading": "Il Tuo Ticket \u00e8 Stato Risolto",
|
||||
"subject": "(Risolto)"
|
||||
}
|
||||
@ -929,8 +929,8 @@
|
||||
"fields": {
|
||||
"locale": "it",
|
||||
"template_name": "updated_cc",
|
||||
"plain_text": "Salve,\r\n\r\nQuesta email ti \u00e8 stata inviata per informarti che il ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") per {{ ticket.submitter_email }} \u00e8 stato aggiornato.\r\n\r\nID Ticket: {{ ticket.ticket }}\r\nCoda: {{ queue.title }}\r\nTitolo: {{ ticket.title }}\r\nAperto: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nInserito da: {{ ticket.submitter_email|default:\"Sconosciuto\" }}\r\nPriorit\u00e0: {{ ticket.get_priority_display }}\r\nStato: {{ ticket.get_status }}\r\nAssegnato a: {{ ticket.get_assigned_to }}\r\nVedi Online: {{ ticket.staff_url }} (richiesto login)\r\n\r\nDescrizione originale:\r\n\r\n{{ ticket.description }}\r\n\r\nIl seguente commento \u00e8 stato aggiunto:\r\n\r\n{{ comment }}\r\n\r\nQuesta informazione{% if private %} non{% endif %} \u00e8 stata inviata al proprietario del ticket.\r\n\r\nSe vuoi vedere il ticket online, puoi visitare l'indirizzo {{ ticket.staff_url }}.",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Salve,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Questa email ti \u00e8 stata inviata per informarti che il ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") per {{ ticket.submitter_email }} \u00e8 stato aggiornato.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Coda</b>: {{ queue.title }}<br>\r\n<b>Titolo</b>: {{ ticket.title }}<br>\r\n<b>Aperto</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Inserito da</b>: {{ ticket.submitter_email|default:\"Sconosciuto\" }}<br>\r\n<b>Priorit\u00e0</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Stato</b>: {{ ticket.get_status }}<br>\r\n<b>Assegnato a</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Vedi Online</a></b> per aggiornare questo ticket (richiesto login)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Per riferimento, la descrizione originale era:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Il seguente commento \u00e8 stato aggiunto:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ comment }}</blockquote>\r\n\r\n<p style=\"font-family: Tahoma, Arial, sans-serif; font-size: 11pt;\">Questa informazione{% if private %} non{% endif %} \u00e8 stata inviata al proprietario del ticket.</p>",
|
||||
"plain_text": "Salve,\r\n\r\nQuesta email ti \u00e8 stata inviata per informarti che il ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") per {{ ticket.submitter_email }} \u00e8 stato aggiornato.\r\n\r\nID Ticket: {{ ticket.ticket }}\r\nCoda: {{ queue.title }}\r\nTitolo: {{ ticket.title }}\r\nAperto: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nInserito da: {{ ticket.submitter_email|default:\"Sconosciuto\" }}\r\nPriorit\u00e0: {{ ticket.get_priority_display }}\r\nStato: {{ ticket.get_status }}\r\nAssegnato a: {{ ticket.get_assigned_to }}\r\nVedi Online: {{ ticket.staff_url }} (richiede login)\r\n\r\nDescrizione originale:\r\n\r\n{{ ticket.description }}\r\n\r\nIl seguente commento \u00e8 stato aggiunto:\r\n\r\n{{ comment }}\r\n\r\nQuesta informazione{% if private %} non{% endif %} \u00e8 stata inviata al proprietario del ticket.\r\n\r\nSe vuoi vedere il ticket online, puoi visitare l'indirizzo {{ ticket.staff_url }}.",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Salve,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Questa email ti \u00e8 stata inviata per informarti che il ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") per {{ ticket.submitter_email }} \u00e8 stato aggiornato.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Coda</b>: {{ queue.title }}<br>\r\n<b>Titolo</b>: {{ ticket.title }}<br>\r\n<b>Aperto</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Inserito da</b>: {{ ticket.submitter_email|default:\"Sconosciuto\" }}<br>\r\n<b>Priorit\u00e0</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Stato</b>: {{ ticket.get_status }}<br>\r\n<b>Assegnato a</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Vedi Online</a></b> per aggiornare questo ticket (richiede login)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Per riferimento, la descrizione originale era:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Il seguente commento \u00e8 stato aggiunto:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ comment }}</blockquote>\r\n\r\n<p style=\"font-family: Tahoma, Arial, sans-serif; font-size: 11pt;\">Questa informazione{% if private %} non{% endif %} \u00e8 stata inviata al proprietario del ticket.</p>",
|
||||
"heading": "Ticket Aggiornato",
|
||||
"subject": "(Aggiornato)"
|
||||
}
|
||||
@ -941,8 +941,8 @@
|
||||
"fields": {
|
||||
"locale": "it",
|
||||
"template_name": "updated_owner",
|
||||
"plain_text": "Salve,\r\n\r\nTi \u00e8 stata inviata questa email per informavi che il ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") per {{ ticket.submitter_email }}, a te assegnato, \u00e8 stato aggiornato.\r\n\r\nID Ticket: {{ ticket.ticket }}\r\nCoda: {{ queue.title }}\r\nTitolo: {{ ticket.title }}\r\nAperto: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nInserito da: {{ ticket.submitter_email|default:\"Sconosciuto\" }}\r\nPriorit\u00e0: {{ ticket.get_priority_display }}\r\nStato: {{ ticket.get_status }}\r\nAssegnato a: {{ ticket.get_assigned_to }}\r\nVedi Online: {{ ticket.staff_url }} (richiesto login)\r\n\r\nDescrizione originale:\r\n\r\n{{ ticket.description }}\r\n\r\nIl seguente commento \u00e8 stato aggiunto:\r\n\r\n{{ comment }}\r\n\r\nQuesta informazione{% if private %} non{% endif %} \u00e8 stata inviata al proprietario del ticket.\r\n\r\nSe vuoi vedere il ticket online, puoi visitare l'indirizzo {{ ticket.staff_url }}.",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Salve,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Ti \u00e8 stata inviata questa email per informavi che il ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") per {{ ticket.submitter_email }}, a te assegnato, \u00e8 stato aggiornato.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Coda</b>: {{ queue.title }}<br>\r\n<b>Titolo</b>: {{ ticket.title }}<br>\r\n<b>Aperto</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Inserito da</b>: {{ ticket.submitter_email|default:\"Sconosciuto\" }}<br>\r\n<b>Priorit\u00e0</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Stato</b>: {{ ticket.get_status }}<br>\r\n<b>Assegnato a</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Vedi Online</a></b> per aggiornare questo ticket (richiesto login)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Per riferimento, la descrizione originale del ticket era:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Il seguente commento \u00e8 stato aggiunto:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ comment }}</blockquote>\r\n\r\n<p style=\"font-family: Tahoma, Arial, sans-serif; font-size: 11pt;\">Questa informazione{% if private %} non{% endif %} \u00e8 stata inviata al proprietario del ticket.</p>",
|
||||
"plain_text": "Salve,\r\n\r\nTi \u00e8 stata inviata questa email per informarti che il ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") per {{ ticket.submitter_email }}, a te assegnato, \u00e8 stato aggiornato.\r\n\r\nID Ticket: {{ ticket.ticket }}\r\nCoda: {{ queue.title }}\r\nTitolo: {{ ticket.title }}\r\nAperto: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}\r\nInserito da: {{ ticket.submitter_email|default:\"Sconosciuto\" }}\r\nPriorit\u00e0: {{ ticket.get_priority_display }}\r\nStato: {{ ticket.get_status }}\r\nAssegnato a: {{ ticket.get_assigned_to }}\r\nVedi Online: {{ ticket.staff_url }} (richiede login)\r\n\r\nDescrizione originale:\r\n\r\n{{ ticket.description }}\r\n\r\nIl seguente commento \u00e8 stato aggiunto:\r\n\r\n{{ comment }}\r\n\r\nQuesta informazione{% if private %} non{% endif %} \u00e8 stata inviata al proprietario del ticket.\r\n\r\nSe vuoi vedere il ticket online, puoi visitare l'indirizzo {{ ticket.staff_url }}.",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Salve,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Ti \u00e8 stata inviata questa email per informarti che il ticket {{ ticket.ticket }} (\"{{ ticket.title }}\") per {{ ticket.submitter_email }}, a te assegnato, \u00e8 stato aggiornato.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">\r\n<b>Ticket ID</b>: {{ ticket.ticket }}<br>\r\n<b>Coda</b>: {{ queue.title }}<br>\r\n<b>Titolo</b>: {{ ticket.title }}<br>\r\n<b>Aperto</b>: {{ ticket.created|date:\"l N jS Y, \\a\\t P\" }}<br>\r\n<b>Inserito da</b>: {{ ticket.submitter_email|default:\"Sconosciuto\" }}<br>\r\n<b>Priorit\u00e0</b>: {{ ticket.get_priority_display }}<br>\r\n<b>Stato</b>: {{ ticket.get_status }}<br>\r\n<b>Assegnato a</b>: {{ ticket.get_assigned_to }}<br>\r\n<b><a href='{{ ticket.staff_url }}'>Vedi Online</a></b> per aggiornare questo ticket (richiede login)</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Per riferimento, la descrizione originale del ticket era:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ ticket.description|linebreaksbr }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Il seguente commento \u00e8 stato aggiunto:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ comment }}</blockquote>\r\n\r\n<p style=\"font-family: Tahoma, Arial, sans-serif; font-size: 11pt;\">Questa informazione{% if private %} non{% endif %} \u00e8 stata inviata al proprietario del ticket.</p>",
|
||||
"heading": "Ticket Aggiornato",
|
||||
"subject": "(Updated)"
|
||||
}
|
||||
@ -953,8 +953,8 @@
|
||||
"fields": {
|
||||
"locale": "it",
|
||||
"template_name": "updated_submitter",
|
||||
"plain_text": "Salve,\r\n\r\nHai recentemente inserito un ticket dall'oggetto \"{{ ticket.title }}\". Questa email ti \u00e8 stata inviata per informarti di un aggiornamento riguardo il ticket suddetto.\r\n\r\nIl seguente commento \u00e8 stato aggiunto al ticket {{ ticket.ticket }}:\r\n\r\n{{ comment }}\r\n\r\nSe c'\u00e8 bisogno di fornire informazioni aggiuntive, risponda a questa email mantenendone l'oggetto invariato. In alternativa, \u00e8 possibile vedere ed aggiornare il ticket online visitando l'indirizzo {{ ticket.ticket_url }}\r\n",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Salve,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Hai recentemente inserito un ticket dall'oggetto <i>{{ ticket.title }}</i>. Questa email ti \u00e8 stata inviata per informarti di un aggiornamento riguardo il ticket suddetto.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Il seguente commento \u00e8 stato aggiunto al ticket <b>{{ ticket.ticket }}</b>:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ comment }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Se c'\u00e8 bisogno di fornire informazioni aggiuntive, risponda a questa email mantenendone l'oggetto invariato. In alternativa, \u00e8 possibile vedere ed aggiornare il ticket online visitando l'indirizzo <a href=\"{{ ticket.ticket_url }}\">{{ ticket.ticket_url }}</a>.</p>",
|
||||
"plain_text": "Salve,\r\n\r\nHai recentemente inserito un ticket con titolo \"{{ ticket.title }}\". Questa email ti \u00e8 stata inviata per informarti di un aggiornamento alla tua richiesta.\r\n\r\nIl seguente commento \u00e8 stato aggiunto al ticket {{ ticket.ticket }}:\r\n\r\n{{ comment }}\r\n\r\nPer fornire informazioni aggiuntive, rispondi a questa email mantenendone l'oggetto invariato. In alternativa, \u00e8 possibile vedere ed aggiornare il ticket online visitando l'indirizzo {{ ticket.ticket_url }}\r\n",
|
||||
"html": "<p style=\"font-family: sans-serif; font-size: 1em;\">Salve,</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Hai recentemente inserito un ticket con titolo <i>{{ ticket.title }}</i>. Questa email ti \u00e8 stata inviata per informarti di un aggiornamento alla tua richiesta.</p>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Il seguente commento \u00e8 stato aggiunto al ticket <b>{{ ticket.ticket }}</b>:</p>\r\n\r\n<blockquote style=\"font-family: sans-serif; font-size: 1em;\">{{ comment }}</blockquote>\r\n\r\n<p style=\"font-family: sans-serif; font-size: 1em;\">Per fornire informazioni aggiuntive, rispondi a questa email mantenendone l'oggetto invariato. In alternativa, \u00e8 possibile vedere ed aggiornare il ticket online visitando l'indirizzo <a href=\"{{ ticket.ticket_url }}\">{{ ticket.ticket_url }}</a>.</p>",
|
||||
"heading": "Il Tuo Ticket \u00e8 Stato Aggiornato",
|
||||
"subject": "(Aggiornato)"
|
||||
}
|
||||
|
@ -7,21 +7,71 @@ forms.py - Definitions of newforms-based forms for creating and maintaining
|
||||
tickets.
|
||||
"""
|
||||
|
||||
from datetime import datetime
|
||||
from StringIO import StringIO
|
||||
|
||||
from django import forms
|
||||
from django.forms import extras
|
||||
from django.core.files.storage import default_storage
|
||||
from django.conf import settings
|
||||
from django.contrib.auth.models import User
|
||||
from django.utils.translation import ugettext as _
|
||||
try:
|
||||
from django.contrib.auth import get_user_model
|
||||
User = get_user_model()
|
||||
except ImportError:
|
||||
from django.contrib.auth.models import User
|
||||
try:
|
||||
from django.utils import timezone
|
||||
except ImportError:
|
||||
from datetime import datetime as timezone
|
||||
|
||||
from helpdesk.lib import send_templated_mail, safe_template_context
|
||||
from helpdesk.models import Ticket, Queue, FollowUp, Attachment, IgnoreEmail, TicketCC, CustomField, TicketCustomFieldValue, TicketDependency
|
||||
from helpdesk.settings import HAS_TAG_SUPPORT
|
||||
from helpdesk import settings as helpdesk_settings
|
||||
|
||||
class EditTicketForm(forms.ModelForm):
|
||||
class CustomFieldMixin(object):
|
||||
"""
|
||||
Mixin that provides a method to turn CustomFields into an actual field
|
||||
"""
|
||||
def customfield_to_field(self, field, instanceargs):
|
||||
if field.data_type == 'varchar':
|
||||
fieldclass = forms.CharField
|
||||
instanceargs['max_length'] = field.max_length
|
||||
elif field.data_type == 'text':
|
||||
fieldclass = forms.CharField
|
||||
instanceargs['widget'] = forms.Textarea
|
||||
instanceargs['max_length'] = field.max_length
|
||||
elif field.data_type == 'integer':
|
||||
fieldclass = forms.IntegerField
|
||||
elif field.data_type == 'decimal':
|
||||
fieldclass = forms.DecimalField
|
||||
instanceargs['decimal_places'] = field.decimal_places
|
||||
instanceargs['max_digits'] = field.max_length
|
||||
elif field.data_type == 'list':
|
||||
fieldclass = forms.ChoiceField
|
||||
choices = field.choices_as_array
|
||||
if field.empty_selection_list:
|
||||
choices.insert(0, ('','---------' ) )
|
||||
instanceargs['choices'] = choices
|
||||
elif field.data_type == 'boolean':
|
||||
fieldclass = forms.BooleanField
|
||||
elif field.data_type == 'date':
|
||||
fieldclass = forms.DateField
|
||||
elif field.data_type == 'time':
|
||||
fieldclass = forms.TimeField
|
||||
elif field.data_type == 'datetime':
|
||||
fieldclass = forms.DateTimeField
|
||||
elif field.data_type == 'email':
|
||||
fieldclass = forms.EmailField
|
||||
elif field.data_type == 'url':
|
||||
fieldclass = forms.URLField
|
||||
elif field.data_type == 'ipaddress':
|
||||
fieldclass = forms.IPAddressField
|
||||
elif field.data_type == 'slug':
|
||||
fieldclass = forms.SlugField
|
||||
|
||||
self.fields['custom_%s' % field.name] = fieldclass(**instanceargs)
|
||||
|
||||
class EditTicketForm(CustomFieldMixin, forms.ModelForm):
|
||||
class Meta:
|
||||
model = Ticket
|
||||
exclude = ('created', 'modified', 'status', 'on_hold', 'resolution', 'last_escalation', 'assigned_to')
|
||||
@ -44,43 +94,8 @@ class EditTicketForm(forms.ModelForm):
|
||||
'required': field.required,
|
||||
'initial': initial_value,
|
||||
}
|
||||
if field.data_type == 'varchar':
|
||||
fieldclass = forms.CharField
|
||||
instanceargs['max_length'] = field.max_length
|
||||
elif field.data_type == 'text':
|
||||
fieldclass = forms.CharField
|
||||
instanceargs['widget'] = forms.Textarea
|
||||
instanceargs['max_length'] = field.max_length
|
||||
elif field.data_type == 'integer':
|
||||
fieldclass = forms.IntegerField
|
||||
elif field.data_type == 'decimal':
|
||||
fieldclass = forms.DecimalField
|
||||
instanceargs['decimal_places'] = field.decimal_places
|
||||
instanceargs['max_digits'] = field.max_length
|
||||
elif field.data_type == 'list':
|
||||
fieldclass = forms.ChoiceField
|
||||
choices = field.choices_as_array
|
||||
if field.empty_selection_list:
|
||||
choices.insert(0, ('','---------' ) )
|
||||
instanceargs['choices'] = choices
|
||||
elif field.data_type == 'boolean':
|
||||
fieldclass = forms.BooleanField
|
||||
elif field.data_type == 'date':
|
||||
fieldclass = forms.DateField
|
||||
elif field.data_type == 'time':
|
||||
fieldclass = forms.TimeField
|
||||
elif field.data_type == 'datetime':
|
||||
fieldclass = forms.DateTimeField
|
||||
elif field.data_type == 'email':
|
||||
fieldclass = forms.EmailField
|
||||
elif field.data_type == 'url':
|
||||
fieldclass = forms.URLField
|
||||
elif field.data_type == 'ipaddress':
|
||||
fieldclass = forms.IPAddressField
|
||||
elif field.data_type == 'slug':
|
||||
fieldclass = forms.SlugField
|
||||
|
||||
self.fields['custom_%s' % field.name] = fieldclass(**instanceargs)
|
||||
|
||||
self.customfield_to_field(field, instanceargs)
|
||||
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
@ -108,7 +123,7 @@ class EditFollowUpForm(forms.ModelForm):
|
||||
model = FollowUp
|
||||
exclude = ('date', 'user',)
|
||||
|
||||
class TicketForm(forms.Form):
|
||||
class TicketForm(CustomFieldMixin, forms.Form):
|
||||
queue = forms.ChoiceField(
|
||||
label=_('Queue'),
|
||||
required=True,
|
||||
@ -172,17 +187,6 @@ class TicketForm(forms.Form):
|
||||
help_text=_('You can attach a file such as a document or screenshot to this ticket.'),
|
||||
)
|
||||
|
||||
if HAS_TAG_SUPPORT:
|
||||
tags = forms.CharField(
|
||||
max_length=255,
|
||||
required=False,
|
||||
widget=forms.TextInput(),
|
||||
label=_('Tags'),
|
||||
help_text=_('Words, separated by spaces, or phrases separated by commas. '
|
||||
'These should communicate significant characteristics of this '
|
||||
'ticket'),
|
||||
)
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
"""
|
||||
Add any custom fields that are defined to the form
|
||||
@ -194,44 +198,8 @@ class TicketForm(forms.Form):
|
||||
'help_text': field.help_text,
|
||||
'required': field.required,
|
||||
}
|
||||
if field.data_type == 'varchar':
|
||||
fieldclass = forms.CharField
|
||||
instanceargs['max_length'] = field.max_length
|
||||
elif field.data_type == 'text':
|
||||
fieldclass = forms.CharField
|
||||
instanceargs['widget'] = forms.Textarea
|
||||
instanceargs['max_length'] = field.max_length
|
||||
elif field.data_type == 'integer':
|
||||
fieldclass = forms.IntegerField
|
||||
elif field.data_type == 'decimal':
|
||||
fieldclass = forms.DecimalField
|
||||
instanceargs['decimal_places'] = field.decimal_places
|
||||
instanceargs['max_digits'] = field.max_length
|
||||
elif field.data_type == 'list':
|
||||
fieldclass = forms.ChoiceField
|
||||
choices = field.choices_as_array
|
||||
if field.empty_selection_list:
|
||||
choices.insert(0, ('','---------' ) )
|
||||
instanceargs['choices'] = choices
|
||||
elif field.data_type == 'boolean':
|
||||
fieldclass = forms.BooleanField
|
||||
elif field.data_type == 'date':
|
||||
fieldclass = forms.DateField
|
||||
instanceargs['widget'] = extras.SelectDateWidget
|
||||
elif field.data_type == 'time':
|
||||
fieldclass = forms.TimeField
|
||||
elif field.data_type == 'datetime':
|
||||
fieldclass = forms.DateTimeField
|
||||
elif field.data_type == 'email':
|
||||
fieldclass = forms.EmailField
|
||||
elif field.data_type == 'url':
|
||||
fieldclass = forms.URLField
|
||||
elif field.data_type == 'ipaddress':
|
||||
fieldclass = forms.IPAddressField
|
||||
elif field.data_type == 'slug':
|
||||
fieldclass = forms.SlugField
|
||||
|
||||
self.fields['custom_%s' % field.name] = fieldclass(**instanceargs)
|
||||
|
||||
self.customfield_to_field(field, instanceargs)
|
||||
|
||||
|
||||
def save(self, user):
|
||||
@ -243,7 +211,7 @@ class TicketForm(forms.Form):
|
||||
|
||||
t = Ticket( title = self.cleaned_data['title'],
|
||||
submitter_email = self.cleaned_data['submitter_email'],
|
||||
created = datetime.now(),
|
||||
created = timezone.now(),
|
||||
status = Ticket.OPEN_STATUS,
|
||||
queue = q,
|
||||
description = self.cleaned_data['body'],
|
||||
@ -251,9 +219,6 @@ class TicketForm(forms.Form):
|
||||
due_date = self.cleaned_data['due_date'],
|
||||
)
|
||||
|
||||
if HAS_TAG_SUPPORT:
|
||||
t.tags = self.cleaned_data['tags']
|
||||
|
||||
if self.cleaned_data['assigned_to']:
|
||||
try:
|
||||
u = User.objects.get(id=self.cleaned_data['assigned_to'])
|
||||
@ -273,7 +238,7 @@ class TicketForm(forms.Form):
|
||||
|
||||
f = FollowUp( ticket = t,
|
||||
title = _('Ticket Opened'),
|
||||
date = datetime.now(),
|
||||
date = timezone.now(),
|
||||
public = True,
|
||||
comment = self.cleaned_data['body'],
|
||||
user = user,
|
||||
@ -302,7 +267,10 @@ class TicketForm(forms.Form):
|
||||
if file.size < getattr(settings, 'MAX_EMAIL_ATTACHMENT_SIZE', 512000):
|
||||
# Only files smaller than 512kb (or as defined in
|
||||
# settings.MAX_EMAIL_ATTACHMENT_SIZE) are sent via email.
|
||||
files.append(a.file.path)
|
||||
try:
|
||||
files.append(a.file.path)
|
||||
except NotImplementedError:
|
||||
pass
|
||||
|
||||
context = safe_template_context(t)
|
||||
context['comment'] = f.comment
|
||||
@ -320,7 +288,7 @@ class TicketForm(forms.Form):
|
||||
)
|
||||
messages_sent_to.append(t.submitter_email)
|
||||
|
||||
if t.assigned_to and t.assigned_to != user and getattr(t.assigned_to.usersettings.settings, 'email_on_ticket_assign', False) and t.assigned_to.email and t.assigned_to.email not in messages_sent_to:
|
||||
if t.assigned_to and t.assigned_to != user and t.assigned_to.usersettings.settings.get('email_on_ticket_assign', False) and t.assigned_to.email and t.assigned_to.email not in messages_sent_to:
|
||||
send_templated_mail(
|
||||
'assigned_owner',
|
||||
context,
|
||||
@ -355,7 +323,7 @@ class TicketForm(forms.Form):
|
||||
return t
|
||||
|
||||
|
||||
class PublicTicketForm(forms.Form):
|
||||
class PublicTicketForm(CustomFieldMixin, forms.Form):
|
||||
queue = forms.ChoiceField(
|
||||
label=_('Queue'),
|
||||
required=True,
|
||||
@ -414,43 +382,8 @@ class PublicTicketForm(forms.Form):
|
||||
'help_text': field.help_text,
|
||||
'required': field.required,
|
||||
}
|
||||
if field.data_type == 'varchar':
|
||||
fieldclass = forms.CharField
|
||||
instanceargs['max_length'] = field.max_length
|
||||
elif field.data_type == 'text':
|
||||
fieldclass = forms.CharField
|
||||
instanceargs['widget'] = forms.Textarea
|
||||
instanceargs['max_length'] = field.max_length
|
||||
elif field.data_type == 'integer':
|
||||
fieldclass = forms.IntegerField
|
||||
elif field.data_type == 'decimal':
|
||||
fieldclass = forms.DecimalField
|
||||
instanceargs['decimal_places'] = field.decimal_places
|
||||
instanceargs['max_digits'] = field.max_length
|
||||
elif field.data_type == 'list':
|
||||
fieldclass = forms.ChoiceField
|
||||
choices = field.choices_as_array
|
||||
if field.empty_selection_list:
|
||||
choices.insert(0, ('','---------' ) )
|
||||
instanceargs['choices'] = choices
|
||||
elif field.data_type == 'boolean':
|
||||
fieldclass = forms.BooleanField
|
||||
elif field.data_type == 'date':
|
||||
fieldclass = forms.DateField
|
||||
elif field.data_type == 'time':
|
||||
fieldclass = forms.TimeField
|
||||
elif field.data_type == 'datetime':
|
||||
fieldclass = forms.DateTimeField
|
||||
elif field.data_type == 'email':
|
||||
fieldclass = forms.EmailField
|
||||
elif field.data_type == 'url':
|
||||
fieldclass = forms.URLField
|
||||
elif field.data_type == 'ipaddress':
|
||||
fieldclass = forms.IPAddressField
|
||||
elif field.data_type == 'slug':
|
||||
fieldclass = forms.SlugField
|
||||
|
||||
self.fields['custom_%s' % field.name] = fieldclass(**instanceargs)
|
||||
|
||||
self.customfield_to_field(field, instanceargs)
|
||||
|
||||
def save(self):
|
||||
"""
|
||||
@ -462,7 +395,7 @@ class PublicTicketForm(forms.Form):
|
||||
t = Ticket(
|
||||
title = self.cleaned_data['title'],
|
||||
submitter_email = self.cleaned_data['submitter_email'],
|
||||
created = datetime.now(),
|
||||
created = timezone.now(),
|
||||
status = Ticket.OPEN_STATUS,
|
||||
queue = q,
|
||||
description = self.cleaned_data['body'],
|
||||
@ -484,7 +417,7 @@ class PublicTicketForm(forms.Form):
|
||||
f = FollowUp(
|
||||
ticket = t,
|
||||
title = _('Ticket Opened Via Web'),
|
||||
date = datetime.now(),
|
||||
date = timezone.now(),
|
||||
public = True,
|
||||
comment = self.cleaned_data['body'],
|
||||
)
|
||||
|
@ -54,6 +54,7 @@ def send_templated_mail(template_name, email_context, recipients, sender=None, b
|
||||
from django.template import loader, Context
|
||||
|
||||
from helpdesk.models import EmailTemplate
|
||||
from helpdesk.settings import HELPDESK_EMAIL_SUBJECT_TEMPLATE
|
||||
import os
|
||||
|
||||
context = Context(email_context)
|
||||
@ -104,8 +105,9 @@ def send_templated_mail(template_name, email_context, recipients, sender=None, b
|
||||
).render(context)
|
||||
|
||||
subject_part = loader.get_template_from_string(
|
||||
"{{ ticket.ticket }} {{ ticket.title|safe }} %s" % t.subject
|
||||
).render(context)
|
||||
HELPDESK_EMAIL_SUBJECT_TEMPLATE % {
|
||||
"subject": t.subject,
|
||||
}).render(context)
|
||||
|
||||
if isinstance(recipients,(str,unicode)):
|
||||
if recipients.find(','):
|
||||
@ -113,7 +115,7 @@ def send_templated_mail(template_name, email_context, recipients, sender=None, b
|
||||
elif type(recipients) != list:
|
||||
recipients = [recipients,]
|
||||
|
||||
msg = EmailMultiAlternatives( subject_part,
|
||||
msg = EmailMultiAlternatives( subject_part.replace('\n', ''),
|
||||
text_part,
|
||||
sender,
|
||||
recipients,
|
||||
@ -153,7 +155,7 @@ def query_to_dict(results, descriptions):
|
||||
|
||||
def apply_query(queryset, params):
|
||||
"""
|
||||
Apply a dict-based set of filters & paramaters to a queryset.
|
||||
Apply a dict-based set of filters & parameters to a queryset.
|
||||
|
||||
queryset is a Django queryset, eg MyModel.objects.all() or
|
||||
MyModel.objects.filter(user=request.user)
|
||||
@ -174,7 +176,7 @@ def apply_query(queryset, params):
|
||||
queryset = queryset.filter(params['other_filter'])
|
||||
|
||||
sorting = params.get('sorting', None)
|
||||
if not sorting:
|
||||
if sorting:
|
||||
sortreverse = params.get('sortreverse', None)
|
||||
if sortreverse:
|
||||
sorting = "-%s" % sorting
|
||||
@ -186,7 +188,7 @@ def apply_query(queryset, params):
|
||||
def safe_template_context(ticket):
|
||||
"""
|
||||
Return a dictionary that can be used as a template context to render
|
||||
comments and other details with ticket or queue paramaters. Note that
|
||||
comments and other details with ticket or queue parameters. Note that
|
||||
we don't just provide the Ticket & Queue objects to the template as
|
||||
they could reveal confidential information. Just imagine these two options:
|
||||
* {{ ticket.queue.email_box_password }}
|
||||
@ -241,9 +243,13 @@ def text_is_spam(text, request):
|
||||
from helpdesk.akismet import Akismet
|
||||
except:
|
||||
return False
|
||||
try:
|
||||
site = Site.objects.get_current()
|
||||
except:
|
||||
site = Site(domain='configure-django-sites.com')
|
||||
|
||||
ak = Akismet(
|
||||
blog_url='http://%s/' % Site.objects.get(pk=settings.SITE_ID).domain,
|
||||
blog_url='http://%s/' % site.domain,
|
||||
agent='django-helpdesk',
|
||||
)
|
||||
|
||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
BIN
helpdesk/locale/el/LC_MESSAGES/django.mo
Normal file
BIN
helpdesk/locale/el/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
2321
helpdesk/locale/el/LC_MESSAGES/django.po
Normal file
2321
helpdesk/locale/el/LC_MESSAGES/django.po
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
BIN
helpdesk/locale/es_CO/LC_MESSAGES/django.mo
Normal file
BIN
helpdesk/locale/es_CO/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
2321
helpdesk/locale/es_CO/LC_MESSAGES/django.po
Normal file
2321
helpdesk/locale/es_CO/LC_MESSAGES/django.po
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
BIN
helpdesk/locale/fa_IR/LC_MESSAGES/django.mo
Normal file
BIN
helpdesk/locale/fa_IR/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
2320
helpdesk/locale/fa_IR/LC_MESSAGES/django.po
Normal file
2320
helpdesk/locale/fa_IR/LC_MESSAGES/django.po
Normal file
File diff suppressed because it is too large
Load Diff
BIN
helpdesk/locale/fi/LC_MESSAGES/django.mo
Normal file
BIN
helpdesk/locale/fi/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
2320
helpdesk/locale/fi/LC_MESSAGES/django.po
Normal file
2320
helpdesk/locale/fi/LC_MESSAGES/django.po
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
BIN
helpdesk/locale/hu/LC_MESSAGES/django.mo
Normal file
BIN
helpdesk/locale/hu/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
2320
helpdesk/locale/hu/LC_MESSAGES/django.po
Normal file
2320
helpdesk/locale/hu/LC_MESSAGES/django.po
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
BIN
helpdesk/locale/nb_NO/LC_MESSAGES/django.mo
Normal file
BIN
helpdesk/locale/nb_NO/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
2321
helpdesk/locale/nb_NO/LC_MESSAGES/django.po
Normal file
2321
helpdesk/locale/nb_NO/LC_MESSAGES/django.po
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
BIN
helpdesk/locale/pt_BR/LC_MESSAGES/django.mo
Normal file
BIN
helpdesk/locale/pt_BR/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
2326
helpdesk/locale/pt_BR/LC_MESSAGES/django.po
Normal file
2326
helpdesk/locale/pt_BR/LC_MESSAGES/django.po
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
BIN
helpdesk/locale/sv/LC_MESSAGES/django.mo
Normal file
BIN
helpdesk/locale/sv/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
2322
helpdesk/locale/sv/LC_MESSAGES/django.po
Normal file
2322
helpdesk/locale/sv/LC_MESSAGES/django.po
Normal file
File diff suppressed because it is too large
Load Diff
BIN
helpdesk/locale/zh_CN/LC_MESSAGES/django.mo
Normal file
BIN
helpdesk/locale/zh_CN/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
2320
helpdesk/locale/zh_CN/LC_MESSAGES/django.po
Normal file
2320
helpdesk/locale/zh_CN/LC_MESSAGES/django.po
Normal file
File diff suppressed because it is too large
Load Diff
@ -9,7 +9,7 @@ scripts/create_escalation_exclusion.py - Easy way to routinely add particular
|
||||
escalation should take place.
|
||||
"""
|
||||
|
||||
from datetime import datetime, timedelta, date
|
||||
from datetime import timedelta, date
|
||||
import getopt
|
||||
from optparse import make_option
|
||||
import sys
|
||||
|
@ -10,7 +10,11 @@ users who don't yet have them.
|
||||
|
||||
from django.utils.translation import ugettext as _
|
||||
from django.core.management.base import BaseCommand
|
||||
from django.contrib.auth.models import User
|
||||
try:
|
||||
from django.contrib.auth import get_user_model
|
||||
User = get_user_model()
|
||||
except ImportError:
|
||||
from django.contrib.auth.models import User
|
||||
|
||||
from helpdesk.models import UserSettings
|
||||
from helpdesk.settings import DEFAULT_USER_SETTINGS
|
||||
|
@ -8,7 +8,7 @@ scripts/escalate_tickets.py - Easy way to escalate tickets based on their age,
|
||||
designed to be run from Cron or similar.
|
||||
"""
|
||||
|
||||
from datetime import datetime, timedelta, date
|
||||
from datetime import timedelta, date
|
||||
import getopt
|
||||
from optparse import make_option
|
||||
import sys
|
||||
@ -17,6 +17,11 @@ from django.core.management.base import BaseCommand, CommandError
|
||||
from django.db.models import Q
|
||||
from django.utils.translation import ugettext as _
|
||||
|
||||
try:
|
||||
from django.utils import timezone
|
||||
except ImportError:
|
||||
from datetime import datetime as timezone
|
||||
|
||||
from helpdesk.models import Queue, Ticket, FollowUp, EscalationExclusion, TicketChange
|
||||
from helpdesk.lib import send_templated_mail, safe_template_context
|
||||
|
||||
@ -95,7 +100,7 @@ def escalate_tickets(queues, verbose):
|
||||
| Q(last_escalation__isnull=True, created__lte=req_last_escl_date)
|
||||
):
|
||||
|
||||
t.last_escalation = datetime.now()
|
||||
t.last_escalation = timezone.now()
|
||||
t.priority -= 1
|
||||
t.save()
|
||||
|
||||
@ -138,7 +143,7 @@ def escalate_tickets(queues, verbose):
|
||||
f = FollowUp(
|
||||
ticket = t,
|
||||
title = 'Ticket Escalated',
|
||||
date=datetime.now(),
|
||||
date=timezone.now(),
|
||||
public=True,
|
||||
comment=_('Ticket escalated after %s days' % q.escalate_days),
|
||||
)
|
||||
|
@ -16,16 +16,23 @@ import mimetypes
|
||||
import poplib
|
||||
import re
|
||||
|
||||
from datetime import datetime, timedelta
|
||||
from datetime import timedelta
|
||||
from email.header import decode_header
|
||||
from email.Utils import parseaddr, collapse_rfc2231_value
|
||||
from optparse import make_option
|
||||
|
||||
from email_reply_parser import EmailReplyParser
|
||||
|
||||
from django.core.files.base import ContentFile
|
||||
from django.core.management.base import BaseCommand
|
||||
from django.db.models import Q
|
||||
from django.utils.translation import ugettext as _
|
||||
from django.conf import settings
|
||||
from helpdesk import settings
|
||||
|
||||
try:
|
||||
from django.utils import timezone
|
||||
except ImportError:
|
||||
from datetime import datetime as timezone
|
||||
|
||||
from helpdesk.lib import send_templated_mail, safe_template_context
|
||||
from helpdesk.models import Queue, Ticket, FollowUp, Attachment, IgnoreEmail
|
||||
@ -56,7 +63,7 @@ def process_email(quiet=False):
|
||||
allow_email_submission=True):
|
||||
|
||||
if not q.email_box_last_check:
|
||||
q.email_box_last_check = datetime.now()-timedelta(minutes=30)
|
||||
q.email_box_last_check = timezone.now()-timedelta(minutes=30)
|
||||
|
||||
if not q.email_box_interval:
|
||||
q.email_box_interval = 0
|
||||
@ -64,12 +71,12 @@ def process_email(quiet=False):
|
||||
|
||||
queue_time_delta = timedelta(minutes=q.email_box_interval)
|
||||
|
||||
if (q.email_box_last_check + queue_time_delta) > datetime.now():
|
||||
if (q.email_box_last_check + queue_time_delta) > timezone.now():
|
||||
continue
|
||||
|
||||
process_queue(q, quiet=quiet)
|
||||
|
||||
q.email_box_last_check = datetime.now()
|
||||
q.email_box_last_check = timezone.now()
|
||||
q.save()
|
||||
|
||||
|
||||
@ -135,9 +142,9 @@ def process_queue(q, quiet=False):
|
||||
def decodeUnknown(charset, string):
|
||||
if not charset:
|
||||
try:
|
||||
return string.decode('utf-8')
|
||||
return string.decode('utf-8','ignore')
|
||||
except:
|
||||
return string.decode('iso8859-1')
|
||||
return string.decode('iso8859-1','ignore')
|
||||
return unicode(string, charset)
|
||||
|
||||
def decode_mail_headers(string):
|
||||
@ -150,7 +157,7 @@ def ticket_from_message(message, queue, quiet):
|
||||
message = email.message_from_string(msg)
|
||||
subject = message.get('subject', _('Created from e-mail'))
|
||||
subject = decode_mail_headers(decodeUnknown(message.get_charset(), subject))
|
||||
subject = subject.replace("Re: ", "").replace("Fw: ", "").replace("RE: ", "").replace("FW: ", "").strip()
|
||||
subject = subject.replace("Re: ", "").replace("Fw: ", "").replace("RE: ", "").replace("FW: ", "").replace("Automatic reply: ", "").strip()
|
||||
|
||||
sender = message.get('from', _('Unknown Sender'))
|
||||
sender = decode_mail_headers(decodeUnknown(message.get_charset(), sender))
|
||||
@ -167,7 +174,7 @@ def ticket_from_message(message, queue, quiet):
|
||||
return False
|
||||
return True
|
||||
|
||||
matchobj = re.match(r"^\[(?P<queue>[-A-Za-z0-9]+)-(?P<id>\d+)\]", subject)
|
||||
matchobj = re.match(r".*\["+queue.slug+"-(?P<id>\d+)\]", subject)
|
||||
if matchobj:
|
||||
# This is a reply or forward.
|
||||
ticket = matchobj.group('id')
|
||||
@ -187,7 +194,7 @@ def ticket_from_message(message, queue, quiet):
|
||||
|
||||
if part.get_content_maintype() == 'text' and name == None:
|
||||
if part.get_content_subtype() == 'plain':
|
||||
body_plain = decodeUnknown(part.get_content_charset(), part.get_payload(decode=True))
|
||||
body_plain = EmailReplyParser.parse_reply(decodeUnknown(part.get_content_charset(), part.get_payload(decode=True)))
|
||||
else:
|
||||
body_html = part.get_payload(decode=True)
|
||||
else:
|
||||
@ -215,7 +222,7 @@ def ticket_from_message(message, queue, quiet):
|
||||
'type': 'text/html',
|
||||
})
|
||||
|
||||
now = datetime.now()
|
||||
now = timezone.now()
|
||||
|
||||
if ticket:
|
||||
try:
|
||||
@ -254,7 +261,7 @@ def ticket_from_message(message, queue, quiet):
|
||||
f = FollowUp(
|
||||
ticket = t,
|
||||
title = _('E-Mail Received from %(sender_email)s' % {'sender_email': sender_email}),
|
||||
date = datetime.now(),
|
||||
date = timezone.now(),
|
||||
public = True,
|
||||
comment = body,
|
||||
)
|
||||
@ -266,7 +273,7 @@ def ticket_from_message(message, queue, quiet):
|
||||
f.save()
|
||||
|
||||
if not quiet:
|
||||
print (" [%s-%s] %s%s" % (t.queue.slug, t.id, t.title, update)).encode('ascii', 'replace')
|
||||
print (" [%s-%s] %s" % (t.queue.slug, t.id, t.title,)).encode('ascii', 'replace')
|
||||
|
||||
for file in files:
|
||||
if file['content']:
|
||||
|
@ -67,7 +67,6 @@ class Migration(SchemaMigration):
|
||||
'Meta': {'object_name': 'CustomField'},
|
||||
'data_type': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'decimal_places': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'empty_selection_list': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'help_text': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'label': ('django.db.models.fields.CharField', [], {'max_length': "'30'"}),
|
||||
|
@ -176,6 +176,7 @@ class Migration(SchemaMigration):
|
||||
'assigned_to': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'assigned_to'", 'null': 'True', 'to': "orm['auth.User']"}),
|
||||
'created': ('django.db.models.fields.DateTimeField', [], {'blank': 'True'}),
|
||||
'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'due_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'last_escalation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'modified': ('django.db.models.fields.DateTimeField', [], {'blank': 'True'}),
|
||||
|
234
helpdesk/migrations/0006_auto__add_field_ticket_tags.py
Normal file
234
helpdesk/migrations/0006_auto__add_field_ticket_tags.py
Normal file
@ -0,0 +1,234 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import datetime
|
||||
from south.db import db
|
||||
from south.v2 import SchemaMigration
|
||||
from django.db import models
|
||||
from helpdesk.settings import HAS_TAG_SUPPORT
|
||||
|
||||
|
||||
class Migration(SchemaMigration):
|
||||
|
||||
def forwards(self, orm):
|
||||
# Adding field 'Ticket.tags' if HAS_TAG_SUPPORT is True
|
||||
if HAS_TAG_SUPPORT:
|
||||
db.add_column('helpdesk_ticket', 'tags',
|
||||
self.gf('tagging.fields.TagField')(default=''),
|
||||
keep_default=False)
|
||||
|
||||
def backwards(self, orm):
|
||||
# Deleting field 'Ticket.tags'
|
||||
if HAS_TAG_SUPPORT:
|
||||
db.delete_column('helpdesk_ticket', 'tags')
|
||||
|
||||
models = {
|
||||
'auth.group': {
|
||||
'Meta': {'object_name': 'Group'},
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
|
||||
'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
|
||||
},
|
||||
'auth.permission': {
|
||||
'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
|
||||
'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
|
||||
},
|
||||
'auth.user': {
|
||||
'Meta': {'object_name': 'User'},
|
||||
'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
||||
'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
|
||||
'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
|
||||
'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
|
||||
'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
||||
'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
|
||||
'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
||||
'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
|
||||
'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
|
||||
},
|
||||
'contenttypes.contenttype': {
|
||||
'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
|
||||
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
|
||||
},
|
||||
'helpdesk.attachment': {
|
||||
'Meta': {'ordering': "['filename']", 'object_name': 'Attachment'},
|
||||
'file': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
|
||||
'filename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'followup': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['helpdesk.FollowUp']"}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'mime_type': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
|
||||
'size': ('django.db.models.fields.IntegerField', [], {})
|
||||
},
|
||||
'helpdesk.customfield': {
|
||||
'Meta': {'object_name': 'CustomField'},
|
||||
'data_type': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'decimal_places': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'empty_selection_list': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'help_text': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'label': ('django.db.models.fields.CharField', [], {'max_length': "'30'"}),
|
||||
'list_values': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'max_length': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'name': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}),
|
||||
'ordering': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'required': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'staff_only': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
|
||||
},
|
||||
'helpdesk.emailtemplate': {
|
||||
'Meta': {'ordering': "['template_name', 'locale']", 'object_name': 'EmailTemplate'},
|
||||
'heading': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'html': ('django.db.models.fields.TextField', [], {}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'locale': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
|
||||
'plain_text': ('django.db.models.fields.TextField', [], {}),
|
||||
'subject': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'template_name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
|
||||
},
|
||||
'helpdesk.escalationexclusion': {
|
||||
'Meta': {'object_name': 'EscalationExclusion'},
|
||||
'date': ('django.db.models.fields.DateField', [], {}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'queues': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['helpdesk.Queue']", 'null': 'True', 'blank': 'True'})
|
||||
},
|
||||
'helpdesk.followup': {
|
||||
'Meta': {'ordering': "['date']", 'object_name': 'FollowUp'},
|
||||
'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 5, 11, 0, 0)'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'new_status': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'public': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'ticket': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['helpdesk.Ticket']"}),
|
||||
'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
|
||||
'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True', 'blank': 'True'})
|
||||
},
|
||||
'helpdesk.ignoreemail': {
|
||||
'Meta': {'object_name': 'IgnoreEmail'},
|
||||
'date': ('django.db.models.fields.DateField', [], {'blank': 'True'}),
|
||||
'email_address': ('django.db.models.fields.CharField', [], {'max_length': '150'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'keep_in_mailbox': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'queues': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['helpdesk.Queue']", 'null': 'True', 'blank': 'True'})
|
||||
},
|
||||
'helpdesk.kbcategory': {
|
||||
'Meta': {'ordering': "['title']", 'object_name': 'KBCategory'},
|
||||
'description': ('django.db.models.fields.TextField', [], {}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50'}),
|
||||
'title': ('django.db.models.fields.CharField', [], {'max_length': '100'})
|
||||
},
|
||||
'helpdesk.kbitem': {
|
||||
'Meta': {'ordering': "['title']", 'object_name': 'KBItem'},
|
||||
'answer': ('django.db.models.fields.TextField', [], {}),
|
||||
'category': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['helpdesk.KBCategory']"}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'last_updated': ('django.db.models.fields.DateTimeField', [], {'blank': 'True'}),
|
||||
'question': ('django.db.models.fields.TextField', [], {}),
|
||||
'recommendations': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
|
||||
'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'votes': ('django.db.models.fields.IntegerField', [], {'default': '0'})
|
||||
},
|
||||
'helpdesk.presetreply': {
|
||||
'Meta': {'ordering': "['name']", 'object_name': 'PreSetReply'},
|
||||
'body': ('django.db.models.fields.TextField', [], {}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'queues': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['helpdesk.Queue']", 'null': 'True', 'blank': 'True'})
|
||||
},
|
||||
'helpdesk.queue': {
|
||||
'Meta': {'ordering': "('title',)", 'object_name': 'Queue'},
|
||||
'allow_email_submission': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'allow_public_submission': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'email_address': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}),
|
||||
'email_box_host': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
|
||||
'email_box_imap_folder': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
|
||||
'email_box_interval': ('django.db.models.fields.IntegerField', [], {'default': "'5'", 'null': 'True', 'blank': 'True'}),
|
||||
'email_box_last_check': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'email_box_pass': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
|
||||
'email_box_port': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'email_box_ssl': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'email_box_type': ('django.db.models.fields.CharField', [], {'max_length': '5', 'null': 'True', 'blank': 'True'}),
|
||||
'email_box_user': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
|
||||
'escalate_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'locale': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
|
||||
'new_ticket_cc': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
|
||||
'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50'}),
|
||||
'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'updated_ticket_cc': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'})
|
||||
},
|
||||
'helpdesk.savedsearch': {
|
||||
'Meta': {'object_name': 'SavedSearch'},
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'query': ('django.db.models.fields.TextField', [], {}),
|
||||
'shared': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"})
|
||||
},
|
||||
'helpdesk.ticket': {
|
||||
'Meta': {'object_name': 'Ticket'},
|
||||
'assigned_to': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'assigned_to'", 'null': 'True', 'to': "orm['auth.User']"}),
|
||||
'created': ('django.db.models.fields.DateTimeField', [], {'blank': 'True'}),
|
||||
'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'due_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'last_escalation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'modified': ('django.db.models.fields.DateTimeField', [], {'blank': 'True'}),
|
||||
'on_hold': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'priority': ('django.db.models.fields.IntegerField', [], {'default': '3', 'blank': '3'}),
|
||||
'queue': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['helpdesk.Queue']"}),
|
||||
'resolution': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'status': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
|
||||
'submitter_email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}),
|
||||
'title': ('django.db.models.fields.CharField', [], {'max_length': '200'})
|
||||
},
|
||||
'helpdesk.ticketcc': {
|
||||
'Meta': {'object_name': 'TicketCC'},
|
||||
'can_update': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'can_view': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'ticket': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['helpdesk.Ticket']"}),
|
||||
'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True', 'blank': 'True'})
|
||||
},
|
||||
'helpdesk.ticketchange': {
|
||||
'Meta': {'object_name': 'TicketChange'},
|
||||
'field': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'followup': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['helpdesk.FollowUp']"}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'new_value': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'old_value': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
|
||||
},
|
||||
'helpdesk.ticketcustomfieldvalue': {
|
||||
'Meta': {'unique_together': "(('ticket', 'field'),)", 'object_name': 'TicketCustomFieldValue'},
|
||||
'field': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['helpdesk.CustomField']"}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'ticket': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['helpdesk.Ticket']"}),
|
||||
'value': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
|
||||
},
|
||||
'helpdesk.ticketdependency': {
|
||||
'Meta': {'unique_together': "(('ticket', 'depends_on'),)", 'object_name': 'TicketDependency'},
|
||||
'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'depends_on'", 'to': "orm['helpdesk.Ticket']"}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'ticket': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ticketdependency'", 'to': "orm['helpdesk.Ticket']"})
|
||||
},
|
||||
'helpdesk.usersettings': {
|
||||
'Meta': {'object_name': 'UserSettings'},
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'settings_pickled': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'user': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True'})
|
||||
}
|
||||
}
|
||||
if HAS_TAG_SUPPORT:
|
||||
models['helpdesk.ticket'].update({'tags': ('tagging.fields.TagField', [],
|
||||
{}),})
|
||||
|
||||
complete_apps = ['helpdesk']
|
228
helpdesk/migrations/0007_auto__chg_field_attachment_mime_type.py
Normal file
228
helpdesk/migrations/0007_auto__chg_field_attachment_mime_type.py
Normal file
@ -0,0 +1,228 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import datetime
|
||||
from south.db import db
|
||||
from south.v2 import SchemaMigration
|
||||
from django.db import models
|
||||
|
||||
|
||||
class Migration(SchemaMigration):
|
||||
|
||||
def forwards(self, orm):
|
||||
|
||||
# Changing field 'Attachment.mime_type'
|
||||
db.alter_column('helpdesk_attachment', 'mime_type', self.gf('django.db.models.fields.CharField')(max_length=255))
|
||||
|
||||
def backwards(self, orm):
|
||||
|
||||
# Changing field 'Attachment.mime_type'
|
||||
db.alter_column('helpdesk_attachment', 'mime_type', self.gf('django.db.models.fields.CharField')(max_length=30))
|
||||
|
||||
models = {
|
||||
'auth.group': {
|
||||
'Meta': {'object_name': 'Group'},
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
|
||||
'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
|
||||
},
|
||||
'auth.permission': {
|
||||
'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
|
||||
'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
|
||||
},
|
||||
'auth.user': {
|
||||
'Meta': {'object_name': 'User'},
|
||||
'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
||||
'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
|
||||
'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
|
||||
'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
|
||||
'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
||||
'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
|
||||
'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
||||
'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
|
||||
'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
|
||||
},
|
||||
'contenttypes.contenttype': {
|
||||
'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
|
||||
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
|
||||
},
|
||||
'helpdesk.attachment': {
|
||||
'Meta': {'ordering': "['filename']", 'object_name': 'Attachment'},
|
||||
'file': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
|
||||
'filename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'followup': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['helpdesk.FollowUp']"}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'mime_type': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
|
||||
'size': ('django.db.models.fields.IntegerField', [], {})
|
||||
},
|
||||
'helpdesk.customfield': {
|
||||
'Meta': {'object_name': 'CustomField'},
|
||||
'data_type': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'decimal_places': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'empty_selection_list': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'help_text': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'label': ('django.db.models.fields.CharField', [], {'max_length': "'30'"}),
|
||||
'list_values': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'max_length': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'name': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}),
|
||||
'ordering': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'required': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'staff_only': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
|
||||
},
|
||||
'helpdesk.emailtemplate': {
|
||||
'Meta': {'ordering': "['template_name', 'locale']", 'object_name': 'EmailTemplate'},
|
||||
'heading': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'html': ('django.db.models.fields.TextField', [], {}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'locale': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
|
||||
'plain_text': ('django.db.models.fields.TextField', [], {}),
|
||||
'subject': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'template_name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
|
||||
},
|
||||
'helpdesk.escalationexclusion': {
|
||||
'Meta': {'object_name': 'EscalationExclusion'},
|
||||
'date': ('django.db.models.fields.DateField', [], {}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'queues': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['helpdesk.Queue']", 'null': 'True', 'blank': 'True'})
|
||||
},
|
||||
'helpdesk.followup': {
|
||||
'Meta': {'ordering': "['date']", 'object_name': 'FollowUp'},
|
||||
'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 8, 28, 0, 0)'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'new_status': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'public': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'ticket': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['helpdesk.Ticket']"}),
|
||||
'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
|
||||
'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True', 'blank': 'True'})
|
||||
},
|
||||
'helpdesk.ignoreemail': {
|
||||
'Meta': {'object_name': 'IgnoreEmail'},
|
||||
'date': ('django.db.models.fields.DateField', [], {'blank': 'True'}),
|
||||
'email_address': ('django.db.models.fields.CharField', [], {'max_length': '150'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'keep_in_mailbox': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'queues': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['helpdesk.Queue']", 'null': 'True', 'blank': 'True'})
|
||||
},
|
||||
'helpdesk.kbcategory': {
|
||||
'Meta': {'ordering': "['title']", 'object_name': 'KBCategory'},
|
||||
'description': ('django.db.models.fields.TextField', [], {}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50'}),
|
||||
'title': ('django.db.models.fields.CharField', [], {'max_length': '100'})
|
||||
},
|
||||
'helpdesk.kbitem': {
|
||||
'Meta': {'ordering': "['title']", 'object_name': 'KBItem'},
|
||||
'answer': ('django.db.models.fields.TextField', [], {}),
|
||||
'category': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['helpdesk.KBCategory']"}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'last_updated': ('django.db.models.fields.DateTimeField', [], {'blank': 'True'}),
|
||||
'question': ('django.db.models.fields.TextField', [], {}),
|
||||
'recommendations': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
|
||||
'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'votes': ('django.db.models.fields.IntegerField', [], {'default': '0'})
|
||||
},
|
||||
'helpdesk.presetreply': {
|
||||
'Meta': {'ordering': "['name']", 'object_name': 'PreSetReply'},
|
||||
'body': ('django.db.models.fields.TextField', [], {}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'queues': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['helpdesk.Queue']", 'null': 'True', 'blank': 'True'})
|
||||
},
|
||||
'helpdesk.queue': {
|
||||
'Meta': {'ordering': "('title',)", 'object_name': 'Queue'},
|
||||
'allow_email_submission': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'allow_public_submission': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'email_address': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}),
|
||||
'email_box_host': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
|
||||
'email_box_imap_folder': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
|
||||
'email_box_interval': ('django.db.models.fields.IntegerField', [], {'default': "'5'", 'null': 'True', 'blank': 'True'}),
|
||||
'email_box_last_check': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'email_box_pass': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
|
||||
'email_box_port': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'email_box_ssl': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'email_box_type': ('django.db.models.fields.CharField', [], {'max_length': '5', 'null': 'True', 'blank': 'True'}),
|
||||
'email_box_user': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
|
||||
'escalate_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'locale': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
|
||||
'new_ticket_cc': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
|
||||
'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50'}),
|
||||
'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'updated_ticket_cc': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'})
|
||||
},
|
||||
'helpdesk.savedsearch': {
|
||||
'Meta': {'object_name': 'SavedSearch'},
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'query': ('django.db.models.fields.TextField', [], {}),
|
||||
'shared': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"})
|
||||
},
|
||||
'helpdesk.ticket': {
|
||||
'Meta': {'object_name': 'Ticket'},
|
||||
'assigned_to': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'assigned_to'", 'null': 'True', 'to': "orm['auth.User']"}),
|
||||
'created': ('django.db.models.fields.DateTimeField', [], {'blank': 'True'}),
|
||||
'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'due_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'last_escalation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'modified': ('django.db.models.fields.DateTimeField', [], {'blank': 'True'}),
|
||||
'on_hold': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'priority': ('django.db.models.fields.IntegerField', [], {'default': '3', 'blank': '3'}),
|
||||
'queue': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['helpdesk.Queue']"}),
|
||||
'resolution': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'status': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
|
||||
'submitter_email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}),
|
||||
'title': ('django.db.models.fields.CharField', [], {'max_length': '200'})
|
||||
},
|
||||
'helpdesk.ticketcc': {
|
||||
'Meta': {'object_name': 'TicketCC'},
|
||||
'can_update': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'can_view': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'ticket': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['helpdesk.Ticket']"}),
|
||||
'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True', 'blank': 'True'})
|
||||
},
|
||||
'helpdesk.ticketchange': {
|
||||
'Meta': {'object_name': 'TicketChange'},
|
||||
'field': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'followup': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['helpdesk.FollowUp']"}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'new_value': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'old_value': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
|
||||
},
|
||||
'helpdesk.ticketcustomfieldvalue': {
|
||||
'Meta': {'unique_together': "(('ticket', 'field'),)", 'object_name': 'TicketCustomFieldValue'},
|
||||
'field': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['helpdesk.CustomField']"}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'ticket': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['helpdesk.Ticket']"}),
|
||||
'value': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
|
||||
},
|
||||
'helpdesk.ticketdependency': {
|
||||
'Meta': {'unique_together': "(('ticket', 'depends_on'),)", 'object_name': 'TicketDependency'},
|
||||
'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'depends_on'", 'to': "orm['helpdesk.Ticket']"}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'ticket': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ticketdependency'", 'to': "orm['helpdesk.Ticket']"})
|
||||
},
|
||||
'helpdesk.usersettings': {
|
||||
'Meta': {'object_name': 'UserSettings'},
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'settings_pickled': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'user': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True'})
|
||||
}
|
||||
}
|
||||
|
||||
complete_apps = ['helpdesk']
|
@ -7,16 +7,19 @@ models.py - Model (and hence database) definitions. This is the core of the
|
||||
helpdesk structure.
|
||||
"""
|
||||
|
||||
from datetime import datetime
|
||||
|
||||
from django.contrib.auth.models import User
|
||||
try:
|
||||
from django.contrib.auth import get_user_model
|
||||
User = get_user_model()
|
||||
except ImportError:
|
||||
from django.contrib.auth.models import User
|
||||
from django.db import models
|
||||
from django.conf import settings
|
||||
from django.utils.translation import ugettext_lazy as _, ugettext
|
||||
from helpdesk.settings import HAS_TAG_SUPPORT
|
||||
|
||||
if HAS_TAG_SUPPORT:
|
||||
from tagging.fields import TagField
|
||||
try:
|
||||
from django.utils import timezone
|
||||
except ImportError:
|
||||
from datetime import datetime as timezone
|
||||
|
||||
class Queue(models.Model):
|
||||
"""
|
||||
@ -385,7 +388,9 @@ class Ticket(models.Model):
|
||||
"""
|
||||
held_msg = ''
|
||||
if self.on_hold: held_msg = _(' - On Hold')
|
||||
return u'%s%s' % (self.get_status_display(), held_msg)
|
||||
dep_msg = ''
|
||||
if self.can_be_resolved == False: dep_msg = _(' - Open dependencies')
|
||||
return u'%s%s%s' % (self.get_status_display(), held_msg, dep_msg)
|
||||
get_status = property(_get_status)
|
||||
|
||||
def _get_ticket_url(self):
|
||||
@ -395,7 +400,10 @@ class Ticket(models.Model):
|
||||
"""
|
||||
from django.contrib.sites.models import Site
|
||||
from django.core.urlresolvers import reverse
|
||||
site = Site.objects.get_current()
|
||||
try:
|
||||
site = Site.objects.get_current()
|
||||
except:
|
||||
site = Site(domain='configure-django-sites.com')
|
||||
return u"http://%s%s?ticket=%s&email=%s" % (
|
||||
site.domain,
|
||||
reverse('helpdesk_public_view'),
|
||||
@ -411,7 +419,10 @@ class Ticket(models.Model):
|
||||
"""
|
||||
from django.contrib.sites.models import Site
|
||||
from django.core.urlresolvers import reverse
|
||||
site = Site.objects.get_current()
|
||||
try:
|
||||
site = Site.objects.get_current()
|
||||
except:
|
||||
site = Site(domain='configure-django-sites.com')
|
||||
return u"http://%s%s" % (
|
||||
site.domain,
|
||||
reverse('helpdesk_view',
|
||||
@ -429,14 +440,12 @@ class Ticket(models.Model):
|
||||
return TicketDependency.objects.filter(ticket=self).filter(depends_on__status__in=OPEN_STATUSES).count() == 0
|
||||
can_be_resolved = property(_can_be_resolved)
|
||||
|
||||
if HAS_TAG_SUPPORT:
|
||||
tags = TagField(blank=True)
|
||||
|
||||
class Meta:
|
||||
get_latest_by = "created"
|
||||
ordering = ('id',)
|
||||
|
||||
def __unicode__(self):
|
||||
return u'%s' % self.title
|
||||
return u'%s %s' % (self.id, self.title)
|
||||
|
||||
def get_absolute_url(self):
|
||||
return ('helpdesk_view', (self.id,))
|
||||
@ -445,12 +454,12 @@ class Ticket(models.Model):
|
||||
def save(self, *args, **kwargs):
|
||||
if not self.id:
|
||||
# This is a new ticket as no ID yet exists.
|
||||
self.created = datetime.now()
|
||||
self.created = timezone.now()
|
||||
|
||||
if not self.priority:
|
||||
self.priority = 3
|
||||
|
||||
self.modified = datetime.now()
|
||||
self.modified = timezone.now()
|
||||
|
||||
super(Ticket, self).save(*args, **kwargs)
|
||||
|
||||
@ -483,7 +492,7 @@ class FollowUp(models.Model):
|
||||
|
||||
date = models.DateTimeField(
|
||||
_('Date'),
|
||||
default = datetime.now()
|
||||
default = timezone.now()
|
||||
)
|
||||
|
||||
title = models.CharField(
|
||||
@ -535,7 +544,7 @@ class FollowUp(models.Model):
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
t = self.ticket
|
||||
t.modified = datetime.now()
|
||||
t.modified = timezone.now()
|
||||
t.save()
|
||||
super(FollowUp, self).save(*args, **kwargs)
|
||||
|
||||
@ -592,8 +601,9 @@ def attachment_path(instance, filename):
|
||||
os.umask(0)
|
||||
path = 'helpdesk/attachments/%s/%s' % (instance.followup.ticket.ticket_for_url, instance.followup.id )
|
||||
att_path = os.path.join(settings.MEDIA_ROOT, path)
|
||||
if not os.path.exists(att_path):
|
||||
os.makedirs(att_path, 0777)
|
||||
if settings.DEFAULT_FILE_STORAGE == "django.core.files.storage.FileSystemStorage":
|
||||
if not os.path.exists(att_path):
|
||||
os.makedirs(att_path, 0777)
|
||||
return os.path.join(path, filename)
|
||||
|
||||
|
||||
@ -620,7 +630,7 @@ class Attachment(models.Model):
|
||||
|
||||
mime_type = models.CharField(
|
||||
_('MIME Type'),
|
||||
max_length=30,
|
||||
max_length=255,
|
||||
)
|
||||
|
||||
size = models.IntegerField(
|
||||
@ -851,7 +861,7 @@ class KBItem(models.Model):
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if not self.last_updated:
|
||||
self.last_updated = datetime.now()
|
||||
self.last_updated = timezone.now()
|
||||
return super(KBItem, self).save(*args, **kwargs)
|
||||
|
||||
def _score(self):
|
||||
@ -1032,7 +1042,7 @@ class IgnoreEmail(models.Model):
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if not self.date:
|
||||
self.date = datetime.now()
|
||||
self.date = timezone.now()
|
||||
return super(IgnoreEmail, self).save(*args, **kwargs)
|
||||
|
||||
def test(self, email):
|
||||
@ -1184,6 +1194,7 @@ class CustomField(models.Model):
|
||||
|
||||
empty_selection_list = models.BooleanField(
|
||||
_('Add empty first choice to List?'),
|
||||
default=False,
|
||||
help_text=_('Only for List: adds an empty first entry to the choices list, which enforces that the user makes an active choice.'),
|
||||
)
|
||||
|
||||
|
18
helpdesk/poll_helpdesk_email_queues.sh
Normal file
18
helpdesk/poll_helpdesk_email_queues.sh
Normal file
@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
|
||||
|
||||
# don't forget to add this script to the /etc/crontab:
|
||||
#
|
||||
# */1 * * * * username /home/username/django/project/poll_helpdesk_email_queues.sh >> /tmp/foo.log 2>&1
|
||||
|
||||
# set your django and project paths here
|
||||
PATHTODJANGO="/home/username/django/libraries/lib/python"
|
||||
PATHTOPROJECT="/home/username/django/project/"
|
||||
|
||||
|
||||
export PYTHONPATH=$PYTHONPATH:$PATHTODJANGO:$PATHTOPROJECT:
|
||||
|
||||
cd $PATHTOPROJECT
|
||||
/usr/bin/python manage.py get_email
|
||||
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
"""
|
||||
Default settings for django-helpdesk.
|
||||
|
||||
@ -6,12 +5,6 @@ Default settings for django-helpdesk.
|
||||
|
||||
from django.conf import settings
|
||||
|
||||
# check for django-tagging support
|
||||
HAS_TAG_SUPPORT = 'tagging' in settings.INSTALLED_APPS
|
||||
try:
|
||||
import tagging
|
||||
except ImportError:
|
||||
HAS_TAG_SUPPORT = False
|
||||
|
||||
try:
|
||||
DEFAULT_USER_SETTINGS = settings.HELPDESK_DEFAULT_SETTINGS
|
||||
@ -29,31 +22,18 @@ if type(DEFAULT_USER_SETTINGS) != type(dict()):
|
||||
}
|
||||
|
||||
|
||||
HAS_TAG_SUPPORT = False
|
||||
|
||||
''' generic options - visible on all pages '''
|
||||
# redirect to login page instead of the default homepage when users visits "/"?
|
||||
HELPDESK_REDIRECT_TO_LOGIN_BY_DEFAULT = getattr(settings, 'HELPDESK_REDIRECT_TO_LOGIN_BY_DEFAULT', False)
|
||||
|
||||
# customize helpdesk name on a few pages, i.e., your organization.
|
||||
HELPDESK_PREPEND_ORG_NAME = getattr(settings, 'HELPDESK_PREPEND_ORG_NAME', False)
|
||||
|
||||
# show knowledgebase links?
|
||||
HELPDESK_KB_ENABLED = getattr(settings, 'HELPDESK_KB_ENABLED', True)
|
||||
|
||||
# show knowledgebase links on staff view?
|
||||
HELPDESK_KB_ENABLED_STAFF = getattr(settings, 'HELPDESK_KB_ENABLED_STAFF', False)
|
||||
|
||||
# show extended navigation by default, to all users, irrespective of staff status?
|
||||
HELPDESK_NAVIGATION_ENABLED = getattr(settings, 'HELPDESK_NAVIGATION_ENABLED', False)
|
||||
|
||||
# show 'stats' link in navigation bar?
|
||||
HELPDESK_NAVIGATION_STATS_ENABLED = getattr(settings, 'HELPDESK_NAVIGATION_STATS_ENABLED', True)
|
||||
|
||||
# set this to an email address inside your organization and a footer below
|
||||
# the 'Powered by django-helpdesk' will be shown, telling the user whom to contact
|
||||
# in case they have technical problems.
|
||||
HELPDESK_SUPPORT_PERSON = getattr(settings, 'HELPDESK_SUPPORT_PERSON', False)
|
||||
|
||||
# show dropdown list of languages that ticket comments can be translated into?
|
||||
HELPDESK_TRANSLATE_TICKET_COMMENTS = getattr(settings, 'HELPDESK_TRANSLATE_TICKET_COMMENTS', False)
|
||||
|
||||
@ -66,9 +46,8 @@ HELPDESK_SHOW_CHANGE_PASSWORD = getattr(settings, 'HELPDESK_SHOW_CHANGE_PASSWORD
|
||||
# allow user to override default layout for 'followups' - work in progress.
|
||||
HELPDESK_FOLLOWUP_MOD = getattr(settings, 'HELPDESK_FOLLOWUP_MOD', False)
|
||||
|
||||
# show custom welcome message in dashboard?
|
||||
HELPDESK_CUSTOM_WELCOME = getattr(settings, 'HELPDESK_CUSTOM_WELCOME', False)
|
||||
|
||||
# auto-subscribe user to ticket if (s)he responds to a ticket?
|
||||
HELPDESK_AUTO_SUBSCRIBE_ON_TICKET_RESPONSE = getattr(settings, 'HELPDESK_AUTO_SUBSCRIBE_ON_TICKET_RESPONSE', False)
|
||||
|
||||
|
||||
''' options for public pages '''
|
||||
@ -78,9 +57,6 @@ HELPDESK_VIEW_A_TICKET_PUBLIC = getattr(settings, 'HELPDESK_VIEW_A_TICKET_PUBLIC
|
||||
# show 'submit a ticket' section on public page?
|
||||
HELPDESK_SUBMIT_A_TICKET_PUBLIC = getattr(settings, 'HELPDESK_SUBMIT_A_TICKET_PUBLIC', True)
|
||||
|
||||
# Should we should the KB categories on the homepage?
|
||||
HELPDESK_SHOW_KB_ON_HOMEPAGE = getattr(settings, 'HELPDESK_SHOW_KB_ON_HOMEPAGE', False)
|
||||
|
||||
|
||||
|
||||
''' options for update_ticket views '''
|
||||
@ -89,19 +65,13 @@ HELPDESK_SHOW_KB_ON_HOMEPAGE = getattr(settings, 'HELPDESK_SHOW_KB_ON_HOMEPAGE',
|
||||
HELPDESK_ALLOW_NON_STAFF_TICKET_UPDATE = getattr(settings, 'HELPDESK_ALLOW_NON_STAFF_TICKET_UPDATE', False)
|
||||
|
||||
# show edit buttons in ticket follow ups.
|
||||
HELPDESK_SHOW_EDIT_BUTTON_FOLLOW_UP = getattr(settings, 'HELPDESK_HIDE_EDIT_BUTTON_FOLLOW_UP', True)
|
||||
HELPDESK_SHOW_EDIT_BUTTON_FOLLOW_UP = getattr(settings, 'HELPDESK_SHOW_EDIT_BUTTON_FOLLOW_UP', True)
|
||||
|
||||
# show ticket edit button on top of ticket description.
|
||||
HELPDESK_SHOW_EDIT_BUTTON_TICKET_TOP = getattr(settings, 'HELPDESK_SHOW_EDIT_BUTTON_TICKET_TOP', True)
|
||||
|
||||
# show ticket delete button on top of ticket description.
|
||||
HELPDESK_SHOW_DELETE_BUTTON_TICKET_TOP = getattr(settings, 'HELPDESK_SHOW_DELETE_BUTTON_TICKET_TOP', True)
|
||||
|
||||
# show hold / unhold button on top of ticket description.
|
||||
HELPDESK_SHOW_HOLD_BUTTON_TICKET_TOP = getattr(settings, 'HELPDESK_SHOW_HOLD_BUTTON_TICKET_TOP', True)
|
||||
# show delete buttons in ticket follow ups if user is 'superuser'
|
||||
HELPDESK_SHOW_DELETE_BUTTON_SUPERUSER_FOLLOW_UP = getattr(settings, 'HELPDESK_SHOW_DELETE_BUTTON_SUPERUSER_FOLLOW_UP', False)
|
||||
|
||||
# make all updates public by default? this will hide the 'is this update public' checkbox
|
||||
HELPDESK_UPDATE_PUBLIC_DEFAULT = getattr(settings, 'HELPDESK_UPDATE_PUBLIC_DEFAULT', True)
|
||||
HELPDESK_UPDATE_PUBLIC_DEFAULT = getattr(settings, 'HELPDESK_UPDATE_PUBLIC_DEFAULT', False)
|
||||
|
||||
# only show staff users in ticket owner drop-downs
|
||||
HELPDESK_STAFF_ONLY_TICKET_OWNERS = getattr(settings, 'HELPDESK_STAFF_ONLY_TICKET_OWNERS', False)
|
||||
@ -110,6 +80,9 @@ HELPDESK_STAFF_ONLY_TICKET_OWNERS = getattr(settings, 'HELPDESK_STAFF_ONLY_TICKE
|
||||
HELPDESK_STAFF_ONLY_TICKET_CC = getattr(settings, 'HELPDESK_STAFF_ONLY_TICKET_CC', False)
|
||||
|
||||
|
||||
# allow the subject to have a configurable template.
|
||||
HELPDESK_EMAIL_SUBJECT_TEMPLATE = getattr(settings, 'HELPDESK_EMAIL_SUBJECT_TEMPLATE', "{{ ticket.ticket }} {{ ticket.title|safe }} %(subject)s")
|
||||
|
||||
|
||||
''' options for staff.create_ticket view '''
|
||||
# hide the 'assigned to' / 'Case owner' field from the 'create_ticket' view?
|
||||
@ -117,22 +90,6 @@ HELPDESK_CREATE_TICKET_HIDE_ASSIGNED_TO = getattr(settings, 'HELPDESK_CREATE_TIC
|
||||
|
||||
|
||||
|
||||
''' options for dashboard '''
|
||||
# show delete button next to unassigned tickets
|
||||
HELPDESK_DASHBOARD_SHOW_DELETE_UNASSIGNED = getattr(settings, 'HELPDESK_DASHBOARD_SHOW_DELETE_UNASSIGNED', True)
|
||||
|
||||
# hide empty queues in dashboard overview?
|
||||
HELPDESK_DASHBOARD_HIDE_EMPTY_QUEUES = getattr(settings, 'HELPDESK_DASHBOARD_HIDE_EMPTY_QUEUES', True)
|
||||
|
||||
|
||||
|
||||
''' options for footer '''
|
||||
# show 'API' link at bottom of page
|
||||
HELPDESK_FOOTER_SHOW_API_LINK = getattr(settings, 'HELPDESK_FOOTER_SHOW_API_LINK', True)
|
||||
|
||||
# show / hide 'change language' link at bottom of page
|
||||
HELPDESK_FOOTER_SHOW_CHANGE_LANGUAGE_LINK = getattr(settings, 'HELPDESK_FOOTER_SHOW_CHANGE_LANGUAGE_LINK', False)
|
||||
|
||||
''' email options '''
|
||||
# default Queue email submission settings
|
||||
QUEUE_EMAIL_BOX_TYPE = getattr(settings, 'QUEUE_EMAIL_BOX_TYPE', None)
|
||||
|
@ -5,7 +5,7 @@ $(document).ready(function() {
|
||||
return false;
|
||||
});
|
||||
$(".filterBuilderRemove").click(function() {
|
||||
var boxName = "#" + $(this).parent().attr('id');
|
||||
var boxName = "#" + $(this).parents(".filterBox").attr('id');
|
||||
$(boxName).slideUp();
|
||||
$(boxName).children("input:text").each(function() {
|
||||
$(this).val("");
|
||||
|
52
helpdesk/static/helpdesk/helpdesk-extend.css
Normal file
52
helpdesk/static/helpdesk/helpdesk-extend.css
Normal file
@ -0,0 +1,52 @@
|
||||
/*
|
||||
Bootstrap overrides
|
||||
*/
|
||||
|
||||
.thumbnail.filterBox {
|
||||
display: none;
|
||||
float: left;
|
||||
border: solid #ccc 1px;
|
||||
padding: 10px;
|
||||
margin: 4px;
|
||||
max-width: 24%;
|
||||
min-height: 200px;
|
||||
}
|
||||
|
||||
.thumbnail.filterBoxShow {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.filterBox label {
|
||||
clear: both;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.filterBox .filterHelp {
|
||||
color: #aaa;
|
||||
font-size: 0.8em;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
#searchtabs {margin-bottom: 20px;}
|
||||
|
||||
.row_tablehead {background-color: #dbd5d9;}
|
||||
|
||||
.errorlist {list-style: none; }
|
||||
.errorlist {padding: 0;}
|
||||
.has-error .input-group input, .has-error .input-group select, .has-error .input-group textarea {border-color: #b94a48}
|
||||
|
||||
#helpdesk-nav-collapse #searchform {
|
||||
padding-top: 0;
|
||||
}
|
||||
#ticket-description {background-color: #FCF8E3;}
|
||||
.followup.well {background-color: #f4f5ff;}
|
||||
/*
|
||||
Add your custom styles here
|
||||
*/
|
||||
#footer {
|
||||
border-top: 2px solid #AAAAAA;
|
||||
margin-top: 20px;
|
||||
padding: 10px 0;
|
||||
}
|
||||
#helpdesk-body {padding-top: 100px;}
|
||||
img.brand {padding-right: 30px;}
|
@ -18,10 +18,15 @@ table {
|
||||
|
||||
#header h1 {
|
||||
float: left;
|
||||
margin-top: 20px;
|
||||
padding-top: 20px;
|
||||
line-height: 24px;
|
||||
}
|
||||
|
||||
#header ul {
|
||||
float: right;
|
||||
margin-top: 40px;
|
||||
line-height: 24px;
|
||||
}
|
||||
#header li {
|
||||
display: inline;
|
||||
@ -149,6 +154,11 @@ td {
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
td.report {
|
||||
font-size: 10pt;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.hover {
|
||||
background-color: #bcd4ec;
|
||||
}
|
||||
|
@ -1,5 +1,2 @@
|
||||
{% load i18n %}
|
||||
{% trans "Powered by <a href='https://github.com/rossp/django-helpdesk'>django-helpdesk</a>." %}
|
||||
{% if helpdesk_settings.HELPDESK_SUPPORT_PERSON %}
|
||||
<p>{% trans "For technical support please contact:" %} <a href='mailto:{{ helpdesk_settings.HELPDESK_SUPPORT_PERSON }}'>{{ helpdesk_settings.HELPDESK_SUPPORT_PERSON }}</a></p>
|
||||
{% endif %}
|
||||
{% trans "<a href='https://github.com/rossp/django-helpdesk'>django-helpdesk</a>." %}
|
||||
|
@ -1,73 +1,26 @@
|
||||
{% load i18n %}
|
||||
{% load url from future %}
|
||||
{% load saved_queries %}
|
||||
{% load load_helpdesk_settings %}
|
||||
{% with request|load_helpdesk_settings as helpdesk_settings %}
|
||||
{% with request|saved_queries as user_saved_queries_ %}
|
||||
{% with user|saved_queries as user_saved_queries_ %}
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>{% block helpdesk_title %}Helpdesk{% endblock %} :: {% trans "Powered by django-helpdesk" %}</title>
|
||||
<script src='{{ STATIC_URL }}helpdesk/jquery-1.5.min.js' type='text/javascript' language='javascript'></script>
|
||||
|
||||
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
|
||||
<script src='{{ STATIC_URL }}helpdesk/jquery-ui-1.8.9.custom.min.js' type='text/javascript' language='javascript'></script>
|
||||
{% comment %}
|
||||
<script src='{{ STATIC_URL }}helpdesk/jquery.translate-debug-all.js' type='text/javascript' language='javascript'></script>
|
||||
{% endcomment %}
|
||||
<link rel='stylesheet' href='{{ STATIC_URL }}helpdesk/helpdesk.css' type='text/css' media="screen" />
|
||||
<link rel='stylesheet' href='{{ STATIC_URL }}helpdesk/helpdesk-print.css' type='text/css' media="print" />
|
||||
<link rel='stylesheet' href='{{ STATIC_URL }}helpdesk/jquery-smoothness-theme/jquery-ui-1.8.9.custom.css' type='text/css' />
|
||||
<link rel='alternate' href='{% url helpdesk_rss "user" %}{{ user.username }}/' type='application/rss+xml' title='{% trans "My Open Tickets" %}' />
|
||||
<link rel='alternate' href='{% url helpdesk_rss "recent_activity" %}' type='application/rss+xml' title='{% trans "All Recent Activity" %}' />
|
||||
<link rel='alternate' href='{% url helpdesk_rss "unassigned" %}' type='application/rss+xml' title='{% trans "Unassigned Tickets" %}' />
|
||||
<link rel='stylesheet' href='{{ STATIC_URL }}helpdesk/helpdesk-extend.css' type='text/css' media="screen" >
|
||||
|
||||
{% comment %}
|
||||
<script type="text/javascript">
|
||||
<!--link rel='stylesheet' href='{{ STATIC_URL }}helpdesk/helpdesk-print.css' type='text/css' media="print" /-->
|
||||
<!--link rel='stylesheet' href='{{ STATIC_URL }}helpdesk/jquery-smoothness-theme/jquery-ui-1.8.9.custom.css' type='text/css' /-->
|
||||
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.2/js/bootstrap.min.js"></script>
|
||||
<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.2/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link rel='alternate' href='{% url 'helpdesk_rss_user' user.username %}' type='application/rss+xml' title='{% trans "My Open Tickets" %}' />
|
||||
<link rel='alternate' href='{% url 'helpdesk_rss_activity' %}' type='application/rss+xml' title='{% trans "All Recent Activity" %}' />
|
||||
<link rel='alternate' href='{% url 'helpdesk_rss_unassigned' %}' type='application/rss+xml' title='{% trans "Unassigned Tickets" %}' />
|
||||
|
||||
$(document).ready(function(){
|
||||
// replace display while hovering over menu item
|
||||
$('li.headerlink').hover(
|
||||
function() { $('ul', this).css('display', 'block'); },
|
||||
function() { $('ul', this).css('display', 'none'); });
|
||||
|
||||
{% if helpdesk_settings.HELPDESK_TRANSLATE_TICKET_COMMENTS %}
|
||||
// add translate functionality - google translate V1 is deprecated
|
||||
$.translate.load(bingID);
|
||||
$.translate(function(){ //when the Language API is loaded
|
||||
$.translate().ui({
|
||||
tags: ["select", "option"],
|
||||
// a function that filters the languages:
|
||||
{% if helpdesk_settings.HELPDESK_TRANSLATE_TICKET_COMMENTS_LANG %}
|
||||
filter: {{ helpdesk_settings.HELPDESK_TRANSLATE_TICKET_COMMENTS_LANG|safe }},
|
||||
{% else %}
|
||||
// all languages
|
||||
filter: $.translate.isTranslatable,
|
||||
{% endif %}
|
||||
//a function that returns the text to display based on the language code:
|
||||
label: $.translate.toNativeLanguage ||
|
||||
function(langCode, lang){
|
||||
return $.translate.capitalize(lang);
|
||||
},
|
||||
// whether to include the UNKNOWN:"" along with the languages:
|
||||
includeUnknown: false,
|
||||
})
|
||||
|
||||
.click(function(){ // when selecting a language - 'change' is not enough, because your first language in the menu might be your target language
|
||||
$('#translate_block').translate( '', $(this).val(), { // translate from current language to the selected language
|
||||
not: '.option, select, pre, .translate_dropdown', // exclude these elements
|
||||
fromOriginal: true, // always translate from original version (even after the page has been translated)
|
||||
async: true, // this prevents the browser from freezing on larger sites by executing each DOM filtering iteration with a delay
|
||||
toggle: true, // all translation will be cached (stored with $.data) and used if it's found, or translated to otherwise
|
||||
walk: true // finds elements having textnodes and translates only their content; on very large and complex pages this might take some time
|
||||
})
|
||||
})
|
||||
.appendTo('#translate_dropdown'); // insert the dropdown menu to the page
|
||||
|
||||
});
|
||||
{% endif %}
|
||||
|
||||
});
|
||||
</script>
|
||||
{% endcomment %}
|
||||
|
||||
<style type="text/css">
|
||||
/* hide google translate top bar */
|
||||
.goog-te-banner-frame {display: none !important;}
|
||||
@ -93,26 +46,23 @@
|
||||
|
||||
{% block helpdesk_head %}{% endblock %}
|
||||
</head>
|
||||
<body>
|
||||
<div id='container'>
|
||||
<div id='header'>
|
||||
<h1>{% trans "Helpdesk" %}</h1>
|
||||
<body id="helpdesk-body">
|
||||
<div id='container' class="container">
|
||||
<div id='header' class="row">
|
||||
<h1>{% block h1_title %}{% trans "Helpdesk" %}{% endblock %}</h1>
|
||||
{% include "helpdesk/navigation.html" %}
|
||||
</div>
|
||||
|
||||
<div id='body'>
|
||||
<div id='body' class="row">
|
||||
{% block helpdesk_body %}{% endblock %}
|
||||
</div>
|
||||
|
||||
<div id='footer'>
|
||||
<p>{% include "helpdesk/attribution.html" %}
|
||||
<a href='{% url helpdesk_rss_index %}'><img src='{{ STATIC_URL }}helpdesk/rss_icon.png' width='14' height='14' alt='{% trans "RSS Icon" %}' title='{% trans "RSS Feeds" %}' border='0' />{% trans "RSS Feeds" %}</a>
|
||||
{% if helpdesk_settings.HELPDESK_FOOTER_SHOW_API_LINK %}<a href='{% url helpdesk_api_help %}'>{% trans "API" %}</a>{% endif %}
|
||||
<a href='{% url helpdesk_user_settings %}'>{% trans "User Settings" %}</a>
|
||||
{% if helpdesk_settings.HELPDESK_FOOTER_SHOW_CHANGE_LANGUAGE_LINK %}
|
||||
<a href='{% url helpdesk_public_change_language %}?return_to={{ request.path }}'>{% trans "Change Language" %}</a>
|
||||
{% endif %}
|
||||
{% if user.is_superuser %}<a href='{% url helpdesk_system_settings %}'>{% trans "System Settings" %}</a>{% endif %}</p>
|
||||
<div id='footer' class="row">
|
||||
<div class="col-md-2">{% include "helpdesk/attribution.html" %}</div>
|
||||
<div class="col-md-2"><a href='{% url 'helpdesk_rss_index' %}'><img src='{{ STATIC_URL }}helpdesk/rss_icon.png' width='14' height='14' alt='{% trans "RSS Icon" %}' title='{% trans "RSS Feeds" %}' border='0' />{% trans "RSS Feeds" %}</a></div>
|
||||
<div class="col-md-2"><a href='{% url 'helpdesk_api_help' %}'>{% trans "API" %}</a></div>
|
||||
<div class="col-md-2"><a href='{% url 'helpdesk_user_settings' %}'>{% trans "User Settings" %}</a></div>
|
||||
{% if user.is_superuser %}<div class="col-md-2"><a href='{% url 'helpdesk_system_settings' %}'>{% trans "System Settings" %}</a></div>{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% include "helpdesk/debug.html" %}
|
||||
|
@ -14,5 +14,5 @@
|
||||
|
||||
<p><a href='../'>{% trans "No, Don't Delete It" %}</a></p>
|
||||
|
||||
<form method='post' action='./'><input type='submit' value='{% trans "Yes - Delete It" %}' />{% csrf_token %}</form>
|
||||
<form method='post' action='./'><input class="btn btn-primary" type='submit' value='{% trans "Yes - Delete It" %}' />{% csrf_token %}</form>
|
||||
{% endblock %}
|
||||
|
@ -1,31 +1,37 @@
|
||||
{% extends "helpdesk/base.html" %}{% load i18n %}
|
||||
{% extends "helpdesk/base.html" %}{% load i18n bootstrap %}
|
||||
|
||||
{% block helpdesk_title %}{% trans "Create Ticket" %}{% endblock %}
|
||||
|
||||
{% block helpdesk_body %}
|
||||
{% blocktrans %}<h2>Submit a Ticket</h2>
|
||||
<div class="col-xs-6">
|
||||
<div class="panel panel-default">
|
||||
|
||||
<div class="panel-body">{% blocktrans %}<h2>Submit a Ticket</h2>
|
||||
|
||||
<p>Unless otherwise stated, all fields are required. Please provide as descriptive a title and description as possible.</p>{% endblocktrans %}
|
||||
|
||||
<form method='post' action='./' enctype='multipart/form-data'>
|
||||
<fieldset>
|
||||
<dl>
|
||||
{% for field in form %}
|
||||
{{ form|bootstrap }}
|
||||
{% comment %}{% for field in form %}
|
||||
{% if field.is_hidden %}
|
||||
{{ field }}
|
||||
{% else %}
|
||||
<dt><label for='id_{{ field.name }}'>{% trans field.label %}</label>{% if not field.field.required %} <span class='form_optional'>{% trans "(Optional)" %}</span>{% endif %}</dt>
|
||||
<dd>{{ field }}</dd>
|
||||
{% if field.errors %}<dd class='error'>{{ field.errors }}</dd>{% endif %}
|
||||
{% if field.help_text %}<dd class='form_help_text'>{% trans field.help_text %}</dd>{% endif %}</label>
|
||||
{% if field.help_text %}<dd class='form_help_text'>{% trans field.help_text %}</dd>{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</dl>
|
||||
{% endcomment %}
|
||||
|
||||
<div class='buttons'>
|
||||
<input type='submit' value='{% trans "Submit Ticket" %}' />
|
||||
<div class='buttons form-group'>
|
||||
<input type='submit' class="btn btn-primary" value='{% trans "Submit Ticket" %}' />
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
{% csrf_token %}</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
@ -1,40 +1,63 @@
|
||||
{% extends "helpdesk/base.html" %}{% load i18n %}
|
||||
{% block helpdesk_title %}{{ helpdesk_settings.HELPDESK_PREPEND_ORG_NAME|default:'' }} {% trans "Helpdesk Dashboard" %}{% endblock %}
|
||||
{% extends "helpdesk/base.html" %}{% load i18n %}{% load url from future %}
|
||||
{% block helpdesk_title %}{% trans "Helpdesk Dashboard" %}{% endblock %}
|
||||
{% block helpdesk_head %}
|
||||
<script type='text/javascript' language='javascript' src='{{ STATIC_URL }}helpdesk/hover.js'></script>
|
||||
{% endblock %}
|
||||
{% block helpdesk_body %}
|
||||
|
||||
<div style='float:left; width:auto; margin-right:10px;'>
|
||||
<table width='100%'>
|
||||
<tr class='row_tablehead'><td colspan='5'>{% trans "Helpdesk Summary" %}</td></tr>
|
||||
<tr class='row_columnheads'><th>{% trans "Queue" %}</th><th>{% trans "Open" %}</th><th>{% trans "Resolved" %}</th><th>{% trans "Closed" %}</th></tr>
|
||||
{% for queue in dash_tickets %}
|
||||
<tr class='row_{% cycle odd,even %} row_hover '>
|
||||
<th><a href='{% url helpdesk_list %}?queue={{ queue.queue }}&status=1&status=2'>{{ queue.name }}</a></th>
|
||||
<td align="center">{% if queue.open %}<a href='{% url helpdesk_list %}?queue={{ queue.queue }}&status=1&status=2'>{% endif %}{{ queue.open }}{% if queue.open %}</a>{% endif %}</td>
|
||||
<td align="center">{% if queue.resolved %}<a href='{% url helpdesk_list %}?queue={{ queue.queue }}&status=3'>{% endif %}{{ queue.resolved }}{% if queue.resolved %}</a>{% endif %}</td>
|
||||
<td align="center">{% if queue.closed %}<a href='{% url helpdesk_list %}?queue={{ queue.queue }}&status=4'>{% endif %}{{ queue.closed }}{% if queue.closed %}</a>{% endif %}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
<div class="alert alert-warning">
|
||||
<p>{% trans "Welcome to your Helpdesk Dashboard! From here you can quickly see tickets submitted by you, tickets you are working on, and those tickets that have no owner." %}</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
{% if helpdesk_settings.HELPDESK_CUSTOM_WELCOME %}
|
||||
<p>{% trans "Welcome to your Helpdesk Dashboard! From here you can quickly see tickets submitted by you, tickets you are working on, and those tickets that have no owner." %}</p>
|
||||
{% else %}
|
||||
<p>{% trans "Welcome to your Helpdesk Dashboard! From here you can quickly see your own tickets, and those tickets that have no owner. Why not pick up an orphan ticket and sort it out for a customer?" %}</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
<table class="table table-hover table-bordered">
|
||||
<thead>
|
||||
<tr class='row_tablehead'><td colspan='5'>{% trans "Helpdesk Summary" %}</td></tr>
|
||||
<tr class='row_columnheads'><th>{% trans "Queue" %}</th><th>{% trans "Open" %}</th><th>{% trans "Resolved" %}</th><th>{% trans "Closed" %}</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for queue in dash_tickets %}
|
||||
<tr class='row_{% cycle odd,even %} row_hover '>
|
||||
<th><a href='{% url 'helpdesk_list' %}?queue={{ queue.queue }}&status=1&status=2'>{{ queue.name }}</a></th>
|
||||
<td align="center">{% if queue.open %}<a href='{% url 'helpdesk_list' %}?queue={{ queue.queue }}&status=1&status=2'>{% endif %}{{ queue.open }}{% if queue.open %}</a>{% endif %}</td>
|
||||
<td align="center">{% if queue.resolved %}<a href='{% url 'helpdesk_list' %}?queue={{ queue.queue }}&status=3'>{% endif %}{{ queue.resolved }}{% if queue.resolved %}</a>{% endif %}</td>
|
||||
<td align="center">{% if queue.closed %}<a href='{% url 'helpdesk_list' %}?queue={{ queue.queue }}&status=4'>{% endif %}{{ queue.closed }}{% if queue.closed %}</a>{% endif %}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
<br style='clear: both;' />
|
||||
|
||||
<table class="table table-hover table-bordered">
|
||||
<thead>
|
||||
<tr class='row_tablehead' style="color: #fbff00;"><td colspan='2'><i>{% trans "Current Ticket Stats" %}</i></td></tr>
|
||||
<tr><td colspan='2'>- {% trans "Average number of days until ticket is closed (all tickets): " %}<strong style="color: red;">{{ basic_ticket_stats.average_nbr_days_until_ticket_closed }}</strong>.</td></tr>
|
||||
<tr><td colspan='2'>- {% trans "Average number of days until ticket is closed (tickets opened in last 60 days): " %}<strong style="color: red;">{{ basic_ticket_stats.average_nbr_days_until_ticket_closed_last_60_days }}</strong>.
|
||||
{% trans "Click" %} <strong><a href="{% url 'helpdesk_report_index' %}daysuntilticketclosedbymonth">here</a></strong> {% trans "for detailed average by month." %} </td></tr>
|
||||
<tr><td colspan='2'>- {% trans "Distribution of open tickets, grouped by time period:" %}</td></tr>
|
||||
<tr class='row_columnheads'><th>{% trans "Days since opened" %}</th><th>{% trans "Number of open tickets" %}</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for entry in basic_ticket_stats.open_ticket_stats %}
|
||||
<tr class='row_{% cycle odd,even %} row_hover'>
|
||||
<th style="padding-left: 20px;">{{ entry.0 }}</th>
|
||||
<td style="padding-left: 20px;"><span style="color: {{ entry.2 }};">{% if entry.1 > 0 %}<a href="{% url 'helpdesk_list' %}?{{ entry.3 }}">{{ entry.1 }}</a>{% else %}{{ entry.1 }}{% endif %}</span></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
{% if all_tickets_reported_by_current_user %}
|
||||
<br style='clear: both;' />
|
||||
|
||||
<table width='100%'>
|
||||
<table class="table table-hover table-bordered">
|
||||
<thead>
|
||||
<tr class='row_tablehead'><td colspan='6'>{% trans "All Tickets submitted by you" %}</td></tr>
|
||||
<tr class='row_columnheads'><th>#</th><th>{% trans "Pr" %}</th><th>{% trans "Title" %}</th><th>{% trans "Queue" %}</th><th>{% trans "Status" %}</th><th>{% trans "Last Update" %}</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for ticket in all_tickets_reported_by_current_user %}
|
||||
<tr class='row_{% cycle odd,even %} row_hover'>
|
||||
<th><a href='{{ ticket.get_absolute_url }}'>{{ ticket.ticket }}</a></th>
|
||||
@ -45,16 +68,16 @@
|
||||
<td><span title='{{ ticket.modified|date:"r" }}'>{{ ticket.modified|timesince }}</span></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% endif %}
|
||||
|
||||
|
||||
|
||||
<br style='clear: both;' />
|
||||
|
||||
<table width='100%'>
|
||||
<table class="table table-hover table-bordered">
|
||||
<thead>
|
||||
<tr class='row_tablehead'><td colspan='6'>{% trans "Open Tickets assigned to you (you are working on this ticket)" %}</td></tr>
|
||||
<tr class='row_columnheads'><th>#</th><th>{% trans "Pr" %}</th><th>{% trans "Title" %}</th><th>{% trans "Queue" %}</th><th>{% trans "Status" %}</th><th>{% trans "Last Update" %}</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for ticket in user_tickets %}
|
||||
<tr class='row_{% cycle odd,even %} row_hover'>
|
||||
<th><a href='{{ ticket.get_absolute_url }}'>{{ ticket.ticket }}</a></th>
|
||||
@ -66,15 +89,17 @@
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% if not user_tickets %}
|
||||
<tr class='row_odd'><td colspan='5'>{% trans "You have no tickets assigned to you." %}</td></tr>
|
||||
<tr class='row_odd'><td colspan='6'>{% trans "You have no tickets assigned to you." %}</td></tr>
|
||||
{% endif %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<br style='clear: both;' />
|
||||
|
||||
<table width='100%'>
|
||||
<table class="table table-hover table-bordered">
|
||||
<thead>
|
||||
<tr class='row_tablehead'><td colspan='6'>{% trans "Unassigned Tickets" %} {% trans "(pick up a ticket if you start to work on it)" %}</td></tr>
|
||||
<tr class='row_columnheads'><th>#</th><th>{% trans "Pr" %}</th><th>{% trans "Title" %}</th><th>{% trans "Queue" %}</th><th>{% trans "Created" %}</th><th> </th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for ticket in unassigned_tickets %}
|
||||
<tr class='row_{% cycle odd,even %} row_hover'>
|
||||
<th><a href='{{ ticket.get_absolute_url }}'>{{ ticket.ticket }}</a></th>
|
||||
@ -82,21 +107,23 @@
|
||||
<th><a href='{{ ticket.get_absolute_url }}'>{{ ticket.title }}</a></th>
|
||||
<td>{{ ticket.queue }}</td>
|
||||
<td><span title='{{ ticket.created|date:"r" }}'>{{ ticket.created|timesince }} ago</span></td>
|
||||
<th><a href='{{ ticket.get_absolute_url }}?take'><span class='button button_take'>{% trans "Take" %}</span></a> {% if helpdesk_settings.HELPDESK_DASHBOARD_SHOW_DELETE_UNASSIGNED %}| <a href='{% url helpdesk_delete ticket.id %}'><span class='button button_delete'>{% trans "Delete" %}</span></a>{% endif %}</th>
|
||||
<th><a href='{{ ticket.get_absolute_url }}?take'><span class='button button_take'>{% trans "Take" %}</span></a> | <a href='{% url 'helpdesk_delete' ticket.id %}'><span class='button button_delete'>{% trans "Delete" %}</span></a></th>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% if not unassigned_tickets %}
|
||||
<tr class='row_odd'><td colspan='6'>{% trans "There are no unassigned tickets." %}</td></tr>
|
||||
{% endif %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
{% if user_tickets_closed_resolved %}
|
||||
<br style='clear: both;' />
|
||||
|
||||
<table width='100%'>
|
||||
<table class="table table-hover table-bordered">
|
||||
<thead>
|
||||
<tr class='row_tablehead'><td colspan='6'>{% trans "Closed & resolved Tickets you used to work on" %}</td></tr>
|
||||
<tr class='row_columnheads'><th>#</th><th>{% trans "Pr" %}</th><th>{% trans "Title" %}</th><th>{% trans "Queue" %}</th><th>{% trans "Status" %}</th><th>{% trans "Last Update" %}</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for ticket in user_tickets_closed_resolved %}
|
||||
<tr class='row_{% cycle odd,even %} row_hover'>
|
||||
<th><a href='{{ ticket.get_absolute_url }}'>{{ ticket.ticket }}</a></th>
|
||||
@ -107,6 +134,7 @@
|
||||
<td><span title='{{ ticket.modified|date:"r" }}'>{{ ticket.modified|timesince }}</span></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% endif %}
|
||||
|
||||
|
@ -10,5 +10,5 @@
|
||||
|
||||
<p><a href='../'>{% trans "No, Don't Delete It" %}</a></p>
|
||||
|
||||
<form method='post' action='./'><input type='submit' value='{% trans "Yes - Delete It" %}' />{% csrf_token %}</form>
|
||||
<form method='post' action='./'><input class="btn btn-primary" type='submit' value='{% trans "Yes - Delete It" %}' />{% csrf_token %}</form>
|
||||
{% endblock %}
|
||||
|
@ -1,9 +1,12 @@
|
||||
{% extends "helpdesk/base.html" %}{% load i18n %}
|
||||
{% extends "helpdesk/base.html" %}{% load i18n bootstrap %}
|
||||
|
||||
{% block helpdesk_title %}{% trans "Edit Ticket" %}{% endblock %}
|
||||
|
||||
{% block helpdesk_body %}
|
||||
{% blocktrans %}<h2>Edit a Ticket</h2>
|
||||
<div class="col-xs-6">
|
||||
<div class="panel panel-default">
|
||||
|
||||
<div class="panel-body">{% blocktrans %}<h2>Edit a Ticket</h2>
|
||||
|
||||
<p>Unless otherwise stated, all fields are required. Please provide as descriptive a title and description as possible.</p>
|
||||
|
||||
@ -11,7 +14,8 @@
|
||||
|
||||
<form method='post' action='./'>
|
||||
<fieldset>
|
||||
<dl>
|
||||
{{ form|bootstrap }}
|
||||
{% comment %}
|
||||
{% for field in form %}
|
||||
{% if field.is_hidden %}
|
||||
{{ field }}
|
||||
@ -23,11 +27,14 @@
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</dl>
|
||||
|
||||
<div class='buttons'>
|
||||
<input type='submit' value='{% trans "Save Changes" %}' />
|
||||
{% endcomment %}
|
||||
<div class='buttons form-group'>
|
||||
<input type='submit' class="btn btn-primary" value='{% trans "Save Changes" %}' />
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
{% csrf_token %}</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
@ -20,7 +20,7 @@
|
||||
{% endfor %}</dl>
|
||||
</fieldset>
|
||||
|
||||
<input type='submit' value='{% trans "Ignore E-Mail Address" %}' />
|
||||
<input class="btn btn-primary" type='submit' value='{% trans "Ignore E-Mail Address" %}' />
|
||||
|
||||
{% csrf_token %}</form>
|
||||
|
||||
|
@ -10,5 +10,5 @@
|
||||
|
||||
<p><a href='../../'>{% trans "Keep Ignoring It" %}</a></p>
|
||||
|
||||
<form method='post' action='./'><input type='submit' value='{% trans "Stop Ignoring It" %}' />{% csrf_token %}</form>
|
||||
<form method='post' action='./'><input class="btn btn-primary" type='submit' value='{% trans "Stop Ignoring It" %}' />{% csrf_token %}</form>
|
||||
{% endblock %}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{% extends "helpdesk/base.html" %}{% load i18n %}
|
||||
{% extends "helpdesk/base.html" %}{% load i18n %}{% load url from future %}
|
||||
|
||||
{% block helpdesk_title %}{% trans "Ignored E-Mail Addresses" %}{% endblock %}
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
|
||||
<p>The following e-mail addresses are currently being ignored by the incoming e-mail processor. You can <a href='add/'>add a new e-mail address to the list</a> or delete any of the items below as required.</p>{% endblocktrans %}
|
||||
|
||||
<table width='100%'>
|
||||
<table class="table table-hover table-bordered">
|
||||
<thead>
|
||||
<tr class='row_tablehead'><td colspan='5'>{% trans "Ignored E-Mail Addresses" %}</td></tr>
|
||||
<tr class='row_columnheads'><th>{% trans "Name" %}</th><th>{% trans "E-Mail Address" %}</th><th>{% trans "Date Added" %}</th><th>{% trans "Queues" %}</th><th>{% trans "Keep in mailbox?" %}</th><th>{% trans "Delete" %}</th></tr>
|
||||
@ -20,7 +20,7 @@
|
||||
<td>{{ ignore.date }}</td>
|
||||
<td>{% for queue in ignore.queues.all %}{{ queue.slug }}{% if not forloop.last %}, {% endif %}{% endfor %}{% if not ignore.queues.all %}{% trans "All" %}{% endif %}</td>
|
||||
<td>{% if ignore.keep_in_mailbox %}{% trans "Keep" %}{% endif %}</td>
|
||||
<td><a href='{% url helpdesk_email_ignore_del ignore.id %}'>{% trans "Delete" %}</a></td>
|
||||
<td><a href='{% url 'helpdesk_email_ignore_del' ignore.id %}'>{% trans "Delete" %}</a></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
|
@ -15,17 +15,16 @@
|
||||
<dd>{{ form.ticket }}</dd>
|
||||
<dt><label for="id_title">{% trans "Title:" %}</label></dt>
|
||||
<dd>{{ form.title }}</dd>
|
||||
</dt>
|
||||
<dt><label for="id_comment">{% trans "Comment:" %}</label></dt>
|
||||
<dd>{{ form.comment }}</dd>
|
||||
</dt>
|
||||
<dt><label for="id_public">Public:</label></dt>
|
||||
<dd>{{ form.public }}</dd>
|
||||
<p>Public tickets are viewable by the submitter and all staff, but non-public tickets can only be seen by staff.</p>
|
||||
<dt><label for="id_new_status">New Status:</label></dt>
|
||||
<dd>{{ form.new_status }}</dd>
|
||||
<p>If the status was changed, what was it changed to?</p>
|
||||
</dl>
|
||||
</fieldset>
|
||||
<p><input type="submit" value="Submit"></p>{% csrf_token %}
|
||||
<p><input class="btn btn-primary" type="submit" value="Submit"></p>{% csrf_token %}
|
||||
</form>
|
||||
{% endblock helpdesk_body %}
|
@ -1,4 +1,4 @@
|
||||
{% extends "helpdesk/help_base.html" %}
|
||||
{% extends "helpdesk/help_base.html" %}{% load url from future %}
|
||||
|
||||
{% block title %}django-helpdesk API Documentation{% endblock %}
|
||||
{% block heading %}django-helpdesk API Documentation{% endblock %}
|
||||
@ -44,14 +44,14 @@
|
||||
<li>A set of <em>data</em> to be saved into the database. This data will vary from request to request, and is outlined in <a href='#methods'>Methods</a> below.</li>
|
||||
</ol>
|
||||
|
||||
<p>To build your request, send a HTTP POST request to <em>{% url helpdesk_api "method" %}</em>, where <em>method</em> is the name of a <a href='#methods'>valid method</a> from the list below.</p>
|
||||
<p>To build your request, send a HTTP POST request to <em>{% url 'helpdesk_api' "method" %}</em>, where <em>method</em> is the name of a <a href='#methods'>valid method</a> from the list below.</p>
|
||||
|
||||
<p>Your POST must include both <em>user</em> and <em>password</em> parameters.</p>
|
||||
|
||||
<p>A sample request for the method <em>hold_ticket</em> may look like this:</p>
|
||||
|
||||
<ul>
|
||||
<li>A HTTP POST to <em>{% url helpdesk_api "hold_ticket" %}</em></li>
|
||||
<li>A HTTP POST to <em>{% url 'helpdesk_api' "hold_ticket" %}</em></li>
|
||||
<li>A set of POST data containing:<ul>
|
||||
<li>username=susan</li>
|
||||
<li>password=fido</li>
|
||||
@ -61,13 +61,13 @@
|
||||
|
||||
<p>To complete this from a command-line using the <a href='http://curl.haxx.se/'>cURL</a> application, you may use a command such as this:</p>
|
||||
|
||||
<pre>/usr/bin/curl {% url helpdesk_api "hold_ticket" %} --data "user=susan&password=fido&ticket=31794"</pre>
|
||||
<pre>/usr/bin/curl {% url 'helpdesk_api' "hold_ticket" %} --data "user=susan&password=fido&ticket=31794"</pre>
|
||||
|
||||
<p>In <a href='http://www.php.net/'>PHP</a>, providing you have access to the <a href='http://www.php.net/curl'>cURL libraries</a>, you may use code such as this:</p>
|
||||
|
||||
<pre><?php
|
||||
$api = curl_init();
|
||||
curl_setopt($api, CURLOPT_URL, "{% url helpdesk_api "hold_ticket" %}");
|
||||
curl_setopt($api, CURLOPT_URL, "{% url 'helpdesk_api' "hold_ticket" %}");
|
||||
curl_setopt($api, CURLOPT_POST, 1);
|
||||
curl_setopt($api, CURLOPT_POSTFIELDS, "user=susan&password=fido&ticket=31794");
|
||||
$result = curl_exec($api);
|
||||
|
@ -1,3 +1,4 @@
|
||||
{% load url from future %}
|
||||
<html>
|
||||
<head>
|
||||
<style type='text/css'>
|
||||
|
@ -7,14 +7,17 @@
|
||||
|
||||
<p>{{ category.description }}</p>
|
||||
|
||||
<table width='100%'>
|
||||
<table class="table table-hover table-bordered">
|
||||
<thead>
|
||||
<tr class='row_tablehead'><td colspan='3'>{% blocktrans with category.title as kbcat %}Knowledgebase Category: {{ kbcat }}{% endblocktrans %}</td></tr>
|
||||
<tr class='row_columnheads'><th colspan='3'>{% trans "Article" %}</th></tr>
|
||||
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for item in items %}
|
||||
<tr class='row_even row_hover'><th><a href='{{ item.get_absolute_url }}'>{{ item.title }}</a></th><td>Rating: {{ item.score }}</td><td>Last Update: {{ item.last_updated|timesince }} ago</td></tr>
|
||||
<tr class='row_odd'><td colspan='3'>{{ item.question }}</td></tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{% endblock %}
|
||||
|
@ -5,14 +5,17 @@
|
||||
|
||||
<p>{% trans "We have listed a number of knowledgebase articles for your perusal in the following categories. Please check to see if any of these articles address your problem prior to opening a support ticket." %}</p>
|
||||
|
||||
<table width='100%'>
|
||||
<table class="table table-hover table-bordered">
|
||||
<thead>
|
||||
<tr class='row_tablehead'><td>{% trans "Knowledgebase Categories" %}</td></tr>
|
||||
<tr class='row_columnheads'><th>{% trans "Category" %}</th></tr>
|
||||
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for category in kb_categories %}
|
||||
<tr class='row_even row_hover'><th><a href='{{ category.get_absolute_url }}'>{{ category.title }}</a></th></tr>
|
||||
<tr class='row_odd'><td>{{ category.description }}</td></tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{% endblock %}
|
||||
|
@ -1,13 +1,16 @@
|
||||
{% extends "helpdesk/public_base.html" %}{% load i18n %}{% load markup %}
|
||||
{% extends "helpdesk/public_base.html" %}{% load i18n %}{% load markdown_deux_tags %}
|
||||
|
||||
{% block helpdesk_body %}
|
||||
<h2>{% blocktrans with item.title as item %}Knowledgebase: {{ item }}{% endblocktrans %}</h2>
|
||||
|
||||
<table width='100%'>
|
||||
<table class="table table-hover table-bordered">
|
||||
<thead>
|
||||
<tr class='row_tablehead'><td>{{ item.title }}</td></tr>
|
||||
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class='row_even row_hover'><th>{{ item.question }}</th></tr>
|
||||
<tr class='row_odd'><td>{{ item.answer|markdown }}</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p>{% blocktrans with item.category.title as category_title and item.category.get_absolute_url as category_url %}View <a href='{{ category_url }}'>other <em>{{ category_title }}</em> articles</a>, or continue <a href='../'>viewing other knowledgebase articles</a>.{% endblocktrans %}</p>
|
||||
|
@ -1,38 +1,69 @@
|
||||
{% load i18n %}
|
||||
{% if helpdesk_settings.HELPDESK_NAVIGATION_ENABLED and user.is_authenticated or user.is_staff %}
|
||||
<ul id="dropdown">
|
||||
<li><a href='{% url helpdesk_dashboard %}'>{% trans "Dashboard" %}</a></li>
|
||||
<li><a href='{% url helpdesk_list %}'>{% trans "Tickets" %}</a></li>
|
||||
<li><a href='{% url helpdesk_submit %}'>{% trans "New Ticket" %}</a></li>
|
||||
{% if helpdesk_settings.HELPDESK_NAVIGATION_STATS_ENABLED %}
|
||||
<li><a href='{% url helpdesk_report_index %}'>{% trans "Stats" %}</a></li>
|
||||
{% endif %}
|
||||
{% if helpdesk_settings.HELPDESK_KB_ENABLED_STAFF %}
|
||||
<li><a href='{% url helpdesk_kb_index %}'>{% trans "Knowledgebase" %}</a></li>
|
||||
{% endif %}
|
||||
{% if user_saved_queries_ %}
|
||||
<li class="headerlink"><a>{% trans "Load Saved Query" %}</a>
|
||||
<ul>
|
||||
{% for q in user_saved_queries_ %}
|
||||
<li><a href="{% url helpdesk_list %}?saved_query={{ q.id }}">{{ q.title }}
|
||||
{% if q.shared %}
|
||||
(Shared{% ifnotequal user q.user %} by {{ q.user.username }}{% endifnotequal %})
|
||||
{% endif %}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</li>
|
||||
{% endif %}
|
||||
<li><a href='{% url logout %}'>{% trans "Logout" %}</a></li>
|
||||
{% if not query %}<li><form id='searchform' method='get' action='{% url helpdesk_list %}'><input type='text' name='q' size='4' class='input' value='{% trans "Search..." %}' id='search_query' onFocus='s=document.getElementById("search_query");if (s.value == "{% trans "Search..." %}") { s.value = ""; }' title='{% trans "Enter a keyword, or a ticket number to jump straight to that ticket." %}'/><input type='hidden' name='status' value='1' /><input type='hidden' name='status' value='2' /><input type='hidden' name='status' value='3' /><input type='hidden' name='search_type' value='header' />{% csrf_token %}</form></li>{% endif %}
|
||||
</ul>
|
||||
{% else %}
|
||||
<ul>
|
||||
{% if helpdesk_settings.HELPDESK_SUBMIT_A_TICKET_PUBLIC %}
|
||||
<li><a href='{% url helpdesk_home %}'>{% trans "Submit A Ticket" %}</a></li>
|
||||
{% endif %}
|
||||
{% if helpdesk_settings.HELPDESK_KB_ENABLED %}<li><a href='{% url helpdesk_kb_index %}'>{% trans "Knowledgebase" %}</a></li>{% endif %}
|
||||
{% if not request.path == '/helpdesk/login/' or user.is_authenticated %}
|
||||
<li>{% if user.is_authenticated %}<a href='{% url logout %}'>{% trans "Logout" %}</a>{% else %}<a href='{% url login %}?next={% if next %}{{ next|escape }}{% else %}{% url helpdesk_dashboard %}{% endif %}'>{% trans "Log In" %}</a>{% endif %}</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
{% load i18n %}{% load url from future %}
|
||||
|
||||
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#helpdesk-nav-collapse">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="collapse navbar-collapse" id="helpdesk-nav-collapse">
|
||||
{% if helpdesk_settings.HELPDESK_NAVIGATION_ENABLED and user.is_authenticated or user.is_staff %}
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href='{% url 'helpdesk_dashboard' %}'><span class="glyphicon glyphicon-dashboard"></span> <span class="nav-text">{% trans "Dashboard" %}</span></a></li>
|
||||
<li><a href='{% url 'helpdesk_list' %}'><span class="glyphicon glyphicon-tags"></span> <span class="nav-text">{% trans "Tickets" %}</span></a></li>
|
||||
<li><a href='{% url 'helpdesk_submit' %}'><span class="glyphicon glyphicon-plus"></span> <span class="nav-text">{% trans "New Ticket" %}</span></a></li>
|
||||
<li><a href='{% url 'helpdesk_report_index' %}'><span class="glyphicon glyphicon-stats"></span><span class="nav-text"> {% trans "Stats" %}</span></a></li>
|
||||
<li><a href='{% url 'helpdesk_kb_index' %}'><span class="glyphicon glyphicon-tree-deciduous"></span><span class="nav-text">{% trans "Knowledgebase" %}</span></a></li>
|
||||
{% if user_saved_queries_ %}
|
||||
<li class="headerlink dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="#"><span class="glyphicon glyphicon-filter"></span><span class="nav-text"> {% trans "Saved Query" %} <b class="caret"></b></span></a>
|
||||
<ul class="dropdown-menu">
|
||||
{% for q in user_saved_queries_ %}
|
||||
<li><a href="{% url 'helpdesk_list' %}?saved_query={{ q.id }}">{{ q.title }}
|
||||
{% if q.shared %}
|
||||
(Shared{% ifnotequal user q.user %} by {{ q.user.username }}{% endifnotequal %})
|
||||
{% endif %}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</li>
|
||||
{% endif %}
|
||||
<li><a href='{% url 'logout' %}'><span class="glyphicon glyphicon-log-out"></span><span class="nav-text">{% trans "Logout" %} ({{ user.username }})</span></a></li>
|
||||
</ul>
|
||||
|
||||
{% if not query %}
|
||||
|
||||
<form class="navbar-form navbar-left" id='searchform' method='get' action="{% url 'helpdesk_list' %}">
|
||||
<div class="input-group">
|
||||
<input type='text' name='q' size='15' class='input form-control' placeholder='{% trans "Search..." %}' id='search_query' title='{% trans "Enter a keyword, or a ticket number to jump straight to that ticket." %}'/>
|
||||
<input type='hidden' name='status' value='1' /><input type='hidden' name='status' value='2' /><input type='hidden' name='status' value='3' />
|
||||
<input type='hidden' name='search_type' value='header' />
|
||||
{% csrf_token %}
|
||||
<span class="input-group-btn">
|
||||
<button type="submit" class="btn btn-default"><span class="glyphicon glyphicon-search"></span> Go</button>
|
||||
</span>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{# Public menu #}
|
||||
<ul id="dropdown" class="nav navbar-nav">
|
||||
{% if helpdesk_settings.HELPDESK_ALLOW_NON_STAFF_TICKET_UPDATE %}
|
||||
<li><a href='{% url 'helpdesk_dashboard' %}'>{% trans "Dashboard" %}</a></li>
|
||||
<li><a href='{% url 'helpdesk_submit' %}'>{% trans "Submit A Ticket" %}</a></li>
|
||||
{% else %}
|
||||
{% if helpdesk_settings.HELPDESK_SUBMIT_A_TICKET_PUBLIC %}
|
||||
<li><a href='{% url 'helpdesk_home' %}'>{% trans "Submit A Ticket" %}</a></li>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if helpdesk_settings.HELPDESK_KB_ENABLED %}<li><a href='{% url 'helpdesk_kb_index' %}'>{% trans "Knowledgebase" %}</a></li>{% endif %}
|
||||
{% if not request.path == '/helpdesk/login/' or user.is_authenticated %}
|
||||
<li>{% if user.is_authenticated %}<a href='{% url 'logout' %}'>{% trans "Logout" %}</a>{% else %}<a href='{% url 'login' %}?next={% if next %}{{ next|escape }}{% else %}{% url 'helpdesk_home' %}{% endif %}'>{% trans "Log In" %}</a>{% endif %}</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
</div>
|
||||
</nav>
|
||||
|
@ -1,23 +1,27 @@
|
||||
{% load i18n %}
|
||||
{% load i18n %}{% load url from future %}
|
||||
{% load load_helpdesk_settings %}
|
||||
{% with request|load_helpdesk_settings as helpdesk_settings %}
|
||||
<html>
|
||||
<head>
|
||||
<title>{% block helpdesk_title %}{{ helpdesk_settings.HELPDESK_PREPEND_ORG_NAME|default:'' }} {% trans "Helpdesk" %}{% endblock %}</title>
|
||||
<script src='{{ STATIC_URL }}helpdesk/jquery-1.5.min.js' type='text/javascript' language='javascript'></script>
|
||||
<link rel='stylesheet' href='{{ STATIC_URL }}helpdesk/helpdesk.css' type='text/css' />
|
||||
<title>{% block helpdesk_title %}{% trans "Helpdesk" %}{% endblock %}</title>
|
||||
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
|
||||
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.2/js/bootstrap.min.js"></script>
|
||||
<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.2/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link rel='stylesheet' href='{{ STATIC_URL }}helpdesk/helpdesk-extend.css' type='text/css' />
|
||||
{% block helpdesk_head %}{% endblock %}
|
||||
</head>
|
||||
<body>
|
||||
<div id='container'>
|
||||
<div id='header'>
|
||||
<h1>{{ helpdesk_settings.HELPDESK_PREPEND_ORG_NAME|default:'' }} {% trans "Helpdesk" %}</h1>
|
||||
<body id="helpdesk-body">
|
||||
<div id='container' class="container">
|
||||
<div id='header' class="row">
|
||||
<!-- Put your logo here if necessary: -->
|
||||
<!-- <img class="brand pull-right" src="/media/logo.png"> -->
|
||||
<h1>{% trans "Helpdesk" %}</h1>
|
||||
{% include "helpdesk/navigation.html" %}
|
||||
</div>
|
||||
<div id='body'>
|
||||
<div id='body' class="row">
|
||||
{% block helpdesk_body %}{% endblock %}
|
||||
</div>
|
||||
<div id='footer'>
|
||||
<div id='footer' class="row">
|
||||
<p>{% include "helpdesk/attribution.html" %}</p>
|
||||
</div>
|
||||
</div>{% include "helpdesk/debug.html" %}
|
||||
|
@ -12,7 +12,7 @@
|
||||
<option value="{{ language.code }}"{% if LANGUAGE_CODE = language.code %} selected{% endif %}>{{ language.name_local }} ({{ language.code }})</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<input type="submit" value="Go" />
|
||||
<input class="btn btn-primary" type="submit" value="Go" />
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
|
@ -1,70 +1,92 @@
|
||||
{% extends "helpdesk/public_base.html" %}{% load i18n %}
|
||||
{% extends "helpdesk/public_base.html" %}{% load i18n bootstrap %}{% load url from future %}
|
||||
|
||||
{% block helpdesk_body %}
|
||||
|
||||
{% if helpdesk_settings.HELPDESK_SHOW_KB_ON_HOMEPAGE %}
|
||||
{% if kb_categories %}
|
||||
<h2>{% trans "Knowledgebase Articles" %}</h2>
|
||||
|
||||
<table width='100%'>
|
||||
<table class="table table-hover table-bordered">
|
||||
<thead>
|
||||
<tr class='row_tablehead'><td>{% trans "Knowledgebase Categories" %}</td></tr>
|
||||
<tr class='row_columnheads'><th>{% trans "Category" %}</th></tr>
|
||||
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for category in kb_categories %}
|
||||
<tr class='row_even row_hover'><th><a href='{{ category.get_absolute_url }}'>{{ category.title }}</a></th></tr>
|
||||
<tr class='row_odd'><td>{{ category.description }}</td></tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% if helpdesk_settings.HELPDESK_VIEW_A_TICKET_PUBLIC %}
|
||||
<h2>{% trans "View a Ticket" %}</h2>
|
||||
|
||||
<form method='get' action='{% url helpdesk_public_view %}'>
|
||||
<fieldset>
|
||||
<dl>
|
||||
<dt><label for='id_ticket'>{% trans "Ticket" %}</label></dt>
|
||||
<dd><input type='text' name='ticket' /></dd>
|
||||
|
||||
<dt><label for='id_email'>{% trans "Your E-mail Address" %}</label></dt>
|
||||
<dd><input type='text' name='email' /></dd>
|
||||
</dl>
|
||||
|
||||
<input type='submit' value='{% trans "View Ticket" %}' />
|
||||
</fieldset>
|
||||
{% csrf_token %}</form>
|
||||
{% endif %}
|
||||
|
||||
{% if helpdesk_settings.HELPDESK_SUBMIT_A_TICKET_PUBLIC %}
|
||||
<h2 name='submit'>{% trans "Submit a Ticket" %}</h2>
|
||||
<div class="col-xs-6">
|
||||
<div class="panel panel-default">
|
||||
|
||||
<div class="panel-body">
|
||||
<h2 name='submit'>{% trans "Submit a Ticket" %}</h2>
|
||||
<p>{% trans "All fields are required. Please provide as descriptive a title and description as possible." %}</p>
|
||||
|
||||
<form method='post' action='./#submit' enctype='multipart/form-data'>
|
||||
<form role="form" method='post' action='./#submit' enctype='multipart/form-data'>
|
||||
<fieldset>
|
||||
<dl>
|
||||
{{ form|bootstrap }}
|
||||
{% comment %}
|
||||
{% for field in form %}
|
||||
|
||||
{% if field.is_hidden %}
|
||||
{{ field }}
|
||||
{% else %}
|
||||
<dt><label for='id_{{ field.name }}'>{{ field.label }}</label>{% if not field.field.required %} <span class='form_optional'>{% trans "(Optional)" %}</span>{% endif %}</dt>
|
||||
<dd>{{ field }}</dd>
|
||||
{% if field.errors %}<dd class='error'>{{ field.errors }}</dd>{% endif %}
|
||||
{% if field.help_text %}<dd class='form_help_text'>{{ field.help_text }}</dd>{% endif %}</label>
|
||||
{% endif %}
|
||||
|
||||
|
||||
<div class="form-group {% if field.errors %}has-error{% endif %}">
|
||||
<label class="control-label" for='id_{{ field.name }}'>{{ field.label }}</label>{% if not field.field.required %} <span class='form_optional'>{% trans "(Optional)" %}</span>{% endif %}</dt>
|
||||
<div class="input-group">{{ field }}</div>
|
||||
{% if field.errors %}<div class="help-block">{{ field.errors }}</div>{% endif %}
|
||||
{% if field.help_text %}<span class='fhelp-block'>{{ field.help_text }}</span>{% endif %}
|
||||
</div>
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
</dl>
|
||||
{% endcomment %}
|
||||
|
||||
<div class='buttons'>
|
||||
<input type='submit' value='{% trans "Submit Ticket" %}' />
|
||||
<div class='buttons form-group'>
|
||||
<input type='submit' class="btn btn-primary" value='{% trans "Submit Ticket" %}' />
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
{% csrf_token %}</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if not helpdesk_settings.HELPDESK_VIEW_A_TICKET_PUBLIC and not helpdesk_settings.HELPDESK_SUBMIT_A_TICKET_PUBLIC %}
|
||||
<h2>{% trans "Please use button at upper right to login first." %}</h2>
|
||||
{% endif %}
|
||||
|
||||
{% if helpdesk_settings.HELPDESK_VIEW_A_TICKET_PUBLIC %}
|
||||
<div class="col-xs-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<h2>{% trans "View a Ticket" %}</h2>
|
||||
|
||||
<form method='get' action="{% url 'helpdesk_public_view' %}">
|
||||
<fieldset>
|
||||
<div class="form-group {% if field.errors %}has-error{% endif %}">
|
||||
<label for='id_ticket'>{% trans "Ticket" %}</label>
|
||||
<div class="input-group"><input type='text' name='ticket' /></div>
|
||||
</div>
|
||||
<div class="form-group {% if field.errors %}has-error{% endif %}">
|
||||
<label for='id_email'>{% trans "Your E-mail Address" %}</label>
|
||||
<div class="input-group"><input type='text' name='email' /></div>
|
||||
</div>
|
||||
<div class='buttons form-group'>
|
||||
<input type='submit' class="btn btn-primary" value='{% trans "View Ticket" %}' />
|
||||
</div>
|
||||
</fieldset>
|
||||
{% csrf_token %}</form>
|
||||
</div></div></div>
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
||||
|
@ -1,9 +1,9 @@
|
||||
{% extends "helpdesk/public_base.html" %}{% load i18n %}
|
||||
{% extends "helpdesk/public_base.html" %}{% load i18n %}{% load url from future %}
|
||||
|
||||
{% block helpdesk_body %}
|
||||
<h2>{% trans "View a Ticket" %}</h2>
|
||||
|
||||
<form method='get' action='{% url helpdesk_public_view %}'>
|
||||
<form method='get' action='{% url 'helpdesk_public_view' %}'>
|
||||
|
||||
{% if error_message %}<p><strong>{% trans "Error:" %}</strong> {{ error_message }}</p>{% endif %}
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
<dd><input type='text' name='email' /></dd>
|
||||
</dl>
|
||||
|
||||
<input type='submit' value='{% trans "View Ticket" %}' />
|
||||
<input class="btn btn-primary" type='submit' value='{% trans "View Ticket" %}' />
|
||||
</fieldset>
|
||||
{% csrf_token %}</form>
|
||||
|
||||
|
@ -3,11 +3,13 @@
|
||||
|
||||
{% block helpdesk_body %}
|
||||
|
||||
<table width='100%'>
|
||||
<tr class='row_tablehead'><td colspan='2'>{{ ticket.id }}. {{ ticket.title }} [{{ ticket.get_status }}]</td></tr>
|
||||
<table class="table table-hover table-bordered">
|
||||
<thead>
|
||||
<tr class='row_tablehead'><td colspan='2'>{{ ticket.ticket }} . {{ ticket.title }} [{{ ticket.get_status }}]</td></tr>
|
||||
<tr class='row_columnheads'><th colspan='2'>{% blocktrans with ticket.queue as queue_name %}Queue: {{ queue_name }}{% endblocktrans %}</th></tr>
|
||||
|
||||
<tr class='{% cycle 'row_odd' 'row_even' as rowcolors %}'>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="{% cycle 'row_odd' 'row_even' as rowcolors %}">
|
||||
<th>{% trans "Submitted On" %}</th>
|
||||
<td>{{ ticket.created|date:"r" }} ({{ ticket.created|timesince }} ago)</td>
|
||||
</tr>
|
||||
@ -48,25 +50,25 @@
|
||||
<tr class='{% cycle rowcolors %}'>
|
||||
<td colspan='2'>{{ ticket.resolution|urlizetrunc:50|linebreaksbr }}</td>
|
||||
</tr>{% endif %}
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{% if ticket.followup_set.public_followups %}
|
||||
<h3>{% trans "Follow-Ups" %}</h3>
|
||||
{% load ticket_to_link %}
|
||||
{% for followup in ticket.followup_set.public_followups %}
|
||||
<div class='followup'>
|
||||
<div class='title'>{{ followup.title }} <span class='byline'>{% if followup.user %}by {{ followup.user }}{% endif %} <span title='{{ followup.date|date:"r" }}'>{{ followup.date|timesince }} ago</span></span></div>
|
||||
<div class='followup well'>
|
||||
<div class='title'>{{ followup.title }} <span class='byline text-info'>{% if followup.user %}by {{ followup.user }}{% endif %} <span title='{{ followup.date|date:"r" }}'>{{ followup.date|timesince }} ago</span></span></div>
|
||||
{{ followup.comment|force_escape|urlizetrunc:50|num_to_link|linebreaksbr }}
|
||||
{% if followup.ticketchange_set.all %}<div class='changes'><ul>
|
||||
{% for change in followup.ticketchange_set.all %}
|
||||
<li>{% blocktrans with change.field as field and change.old_value as old_value and change.new_value as new_value %}Changed {{ field }} from {{ old_value }} to {{ new_value }}.{% endblocktrans %}</li>
|
||||
{% endfor %}
|
||||
</ul></div>{% endif %}
|
||||
{% for attachment in followup.attachment_set.all %}{% if forloop.first %}<div class='attachments'><ul>{% endif %}
|
||||
<li><a href='{{ attachment.file.url }}'>{{ attachment.filename }}</a> ({{ attachment.mime_type }}, {{ attachment.size|filesizeformat }})</li>
|
||||
{% if forloop.last %}</ul></div>{% endif %}
|
||||
{% endfor %}
|
||||
</div></ul>{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
@ -1,25 +1,30 @@
|
||||
{% extends "helpdesk/public_base.html" %}{% load i18n %}
|
||||
{% block helpdesk_title %}{{ helpdesk_settings.HELPDESK_PREPEND_ORG_NAME|default:'' }} {% trans "Helpdesk Login" %}{% endblock %}
|
||||
{% extends "helpdesk/public_base.html" %}{% load i18n bootstrap %}
|
||||
{% block helpdesk_title %}{% trans "Helpdesk Login" %}{% endblock %}
|
||||
|
||||
{% block helpdesk_body %}
|
||||
|
||||
{% if request.user.is_authenticated %}
|
||||
<meta http-equiv="REFRESH" content="0;url={% url helpdesk_home %}">
|
||||
<meta http-equiv="REFRESH" content="0;url={% url 'helpdesk_home' %}">
|
||||
{% else %}
|
||||
<h2>{% trans "Login" %}</h2>
|
||||
<div class="col-xs-6">
|
||||
<div class="panel panel-default">
|
||||
|
||||
<p>{% trans "To log in and begin responding to cases, simply enter your username and password below." %}</p>
|
||||
<div class="panel-body"><h2>Login</h2>
|
||||
|
||||
<p>{% trans "To log in simply enter your username and password below." %}</p>
|
||||
|
||||
<form method='post' action='./'>
|
||||
{% if form.errors %}<p>{% trans "Your username and password didn't match. Please try again." %}</p>{% endif %}
|
||||
<dl>
|
||||
<dt><label>{% trans "Username" %}</label></dt>
|
||||
<dd>{{ form.username }}</dd>
|
||||
<dt><label>{% trans "Password" %}</label></dt>
|
||||
<dd>{{ form.password }}</dd>
|
||||
</dl>
|
||||
<input type='submit' value='{% trans "Login" %}' />
|
||||
{{ form|bootstrap }}
|
||||
<div class='buttons form-group'>
|
||||
<input class="btn btn-primary" type='submit' value='{% trans "Login" %}' />
|
||||
<div>
|
||||
<input type="hidden" name="next" value="{% if next %}{{ next }}{% else %}../{% endif %}" />
|
||||
{% csrf_token %}</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
@ -24,6 +24,7 @@
|
||||
<li><a href='queuepriority/{% if saved_query %}?saved_query={{ saved_query }}{% endif %}'>{% trans "by Priority" %}</a></li>
|
||||
<li><a href='queuestatus/{% if saved_query %}?saved_query={{ saved_query }}{% endif %}'>{% trans "by Status" %}</a></li>
|
||||
<li><a href='queuemonth/{% if saved_query %}?saved_query={{ saved_query }}{% endif %}'>{% trans "by Month" %}</a></li>
|
||||
<li><a href='daysuntilticketclosedbymonth/{% if saved_query %}?saved_query={{ saved_query }}{% endif %}'>{% trans "Days until ticket closed by Month" %}</a></li>
|
||||
|
||||
</ul></li>
|
||||
</ul>
|
||||
|
@ -23,17 +23,21 @@
|
||||
<option value="">--------</option>{% for q in user_saved_queries_ %}
|
||||
<option value="{{ q.id }}"{% ifequal saved_query q %} selected{% endifequal %}>{{ q.title }}</option>{% endfor %}
|
||||
</select>
|
||||
<input type='submit' value='{% trans "Filter Report" %}'>
|
||||
<input class="btn btn-primary" type='submit' value='{% trans "Filter Report" %}'>
|
||||
</form>
|
||||
{% else %}
|
||||
<p>{% trans "Want to filter this report to just show a subset of data? Go to the Ticket List, filter your query, and save your query." %}</p>
|
||||
{% endif %}
|
||||
|
||||
<table>
|
||||
<table class="table table-hover table-bordered">
|
||||
<thead>
|
||||
<tr class='row_tablehead'><td colspan='{{ headings|length }}'>{{ title }}</td></tr>
|
||||
<tr class='row_columnheads'>{% for h in headings %}<th>{% if forloop.first %}{{ h|title }}{% else %}{{ h }}{% endif %}</th>{% endfor %}</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for d in data %}
|
||||
<tr class='row_{% cycle odd,even %}'>{% for f in d %}<td>{{ f }}</td>{% endfor %}</tr>{% endfor %}
|
||||
<tr class='row_{% cycle odd,even %}'>{% for f in d %}<td class='report'>{{ f }}</td>{% endfor %}</tr>{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class='jqPlot' id='placeholder' style='width: 600px; height: 400px;'></div>
|
||||
|
@ -1,4 +1,4 @@
|
||||
{% extends "helpdesk/base.html" %}{% load i18n %}
|
||||
{% extends "helpdesk/base.html" %}{% load i18n %}{% load url from future %}
|
||||
{% block helpdesk_title %}{% trans "RSS Feeds" %}{% endblock %}
|
||||
{% block helpdesk_body %}
|
||||
<h2>{% trans "RSS Feeds" %}</h2>
|
||||
@ -6,26 +6,30 @@
|
||||
<p>{% trans "The following RSS feeds are available for you to monitor using your preferred RSS software. With the exception of the 'Latest Activity' feed, all feeds provide information only on Open and Reopened cases. This ensures your RSS reader isn't full of information about closed or historical tasks." %}</p>
|
||||
|
||||
<dl>
|
||||
<dt><a href='{% url helpdesk_rss "user" %}{{ user.username }}/'><img src='{{ STATIC_URL }}helpdesk/rss_icon.png' width='14' height='14' alt='{% trans "RSS Icon" %}' title='{% trans "My Open Tickets" %}' border='0' />{% trans "My Open Tickets" %}</a></dt>
|
||||
<dt><a href='{% url 'helpdesk_rss_user' user.username %}'><img src='{{ STATIC_URL }}helpdesk/rss_icon.png' width='14' height='14' alt='{% trans "RSS Icon" %}' title='{% trans "My Open Tickets" %}' border='0' />{% trans "My Open Tickets" %}</a></dt>
|
||||
<dd>{% trans "A summary of your open tickets - useful for getting alerted to new tickets opened for you" %}</dd>
|
||||
|
||||
<dt><a href='{% url helpdesk_rss "recent_activity" %}'><img src='{{ STATIC_URL }}helpdesk/rss_icon.png' width='14' height='14' alt='{% trans "RSS Icon" %}' title='{% trans "Latest Activity" %}' border='0' />{% trans "Latest Activity" %}</a></dt>
|
||||
<dt><a href='{% url 'helpdesk_rss_activity' %}'><img src='{{ STATIC_URL }}helpdesk/rss_icon.png' width='14' height='14' alt='{% trans "RSS Icon" %}' title='{% trans "Latest Activity" %}' border='0' />{% trans "Latest Activity" %}</a></dt>
|
||||
<dd>{% trans "A summary of all helpdesk activity - including comments, emails, attachments, and more" %}</dd>
|
||||
|
||||
<dt><a href='{% url helpdesk_rss "unassigned" %}'><img src='{{ STATIC_URL }}helpdesk/rss_icon.png' width='14' height='14' alt='{% trans "RSS Icon" %}' title='{% trans "Unassigned Tickets" %}' border='0' />{% trans "Unassigned Tickets" %}</a></dt>
|
||||
<dt><a href='{% url 'helpdesk_rss_unassigned' %}'><img src='{{ STATIC_URL }}helpdesk/rss_icon.png' width='14' height='14' alt='{% trans "RSS Icon" %}' title='{% trans "Unassigned Tickets" %}' border='0' />{% trans "Unassigned Tickets" %}</a></dt>
|
||||
<dd>{% trans "All unassigned tickets - useful for being alerted to new tickets opened by the public via the web or via e-mail" %}</dd>
|
||||
</dl>
|
||||
|
||||
<p>{% trans "These RSS feeds allow you to view a summary of either your own tickets, or all tickets, for each of the queues in your helpdesk. For example, if you manage the staff who utilise a particular queue, this may be used to view new tickets coming into that queue." %}</p>
|
||||
|
||||
<table width='50%'>
|
||||
<table class="table table-hover table-bordered">
|
||||
<thead>
|
||||
<tr class='row_tablehead'><td colspan='4'>{% trans "Per-Queue Feeds" %}</td></tr>
|
||||
<tr class='row_columnheads'><th>{% trans "Queue" %}</th><th align='center'>{% trans "All Open Tickets" %}</th><th align='center'>{% trans "My Open Tickets" %}</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for queue in queues %}
|
||||
<tr>
|
||||
<td>{{ queue.title }}</td>
|
||||
<td align='center'><a href='{% url helpdesk_rss "queue" %}{{ queue.slug }}/'><img src='{{ STATIC_URL }}helpdesk/rss_icon.png' width='14' height='14' alt='{% trans "RSS Icon" %}' title='{% trans "Open Tickets" %}' border='0' /></a></td>
|
||||
<td align='center'><a href='{% url helpdesk_rss "user" %}{{ user.username }}/{{ queue.slug }}/'><img src='{{ STATIC_URL }}helpdesk/rss_icon.png' width='14' height='14' alt='{% trans "RSS Icon" %}' title='{% trans "My Open Tickets" %}' border='0' /></a></td>
|
||||
<td align='center'><a href='{% url 'helpdesk_rss_queue' queue.slug %}'><img src='{{ STATIC_URL }}helpdesk/rss_icon.png' width='14' height='14' alt='{% trans "RSS Icon" %}' title='{% trans "Open Tickets" %}' border='0' /></a></td>
|
||||
<td align='center'><a href='{% url 'helpdesk_rss_user_queue' user.username queue.slug %}'><img src='{{ STATIC_URL }}helpdesk/rss_icon.png' width='14' height='14' alt='{% trans "RSS Icon" %}' title='{% trans "My Open Tickets" %}' border='0' /></a></td>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% endblock %}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{% extends "helpdesk/base.html" %}{% load i18n %}
|
||||
{% extends "helpdesk/base.html" %}{% load i18n %}{% load url from future %}
|
||||
|
||||
{% block helpdesk_title %}{% trans "Change System Settings" %}{% endblock %}
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
{% extends "helpdesk/base.html" %}{% load i18n %}
|
||||
{% extends "helpdesk/base.html" %}{% load i18n bootstrap %}{% load url from future %}
|
||||
{% block helpdesk_title %}{% trans "View Ticket Details" %}{% endblock %}
|
||||
{% block helpdesk_head %}
|
||||
<script type="text/javascript">
|
||||
@ -19,7 +19,7 @@
|
||||
$('#id_preset').change(function() {
|
||||
preset = $('#id_preset').val();
|
||||
if (preset != '') {
|
||||
$.get("{% url helpdesk_raw "preset" %}?id=" + preset, function(data) {
|
||||
$.get("{% url 'helpdesk_raw' "preset" %}?id=" + preset, function(data) {
|
||||
$("#commentBox").val(data)
|
||||
});
|
||||
}
|
||||
@ -31,7 +31,7 @@
|
||||
distribution, this will have to do. */
|
||||
$(".AddAnotherFile>a").click(function() {
|
||||
$(this).parent().remove();
|
||||
$("#FileUpload>dl").append("<dt><label>{% trans "Attach another File" %}</label></dt><dd><input type='file' name='attachment' id='file' /> <span class='AddAnotherFile'>(<a href='#'>{% trans "Add Another File" %}</a>)</span></dd>");
|
||||
$("#FileUpload>dl").append("<dt><label>{% trans "Attach another File" %}</label></dt><dd><input type='file' name='attachment' id='file' multiple/> <span class='AddAnotherFile'>(<a href='#'>{% trans "Add Another File" %}</a>)</span></dd>");
|
||||
processAddFileClick();
|
||||
return false;
|
||||
});
|
||||
@ -40,6 +40,8 @@
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
||||
{% block h1_title %}{{ ticket.ticket_for_url }}{% endblock %}
|
||||
|
||||
{% block helpdesk_body %}
|
||||
{% if helpdesk_settings.HELPDESK_TRANSLATE_TICKET_COMMENTS %}
|
||||
{% comment %}
|
||||
@ -67,35 +69,41 @@ function googleTranslateElementInit() {
|
||||
{% if helpdesk_settings.HELPDESK_FOLLOWUP_MOD %}
|
||||
<div class='followup_mod'>
|
||||
<div class='title'>
|
||||
<span class='byline'>{{ followup.user.get_full_name }} {{ followup.date }} ({{ followup.date|timesince }} ago)</span> <small>{{ followup.title }}</small>
|
||||
<span class='byline text-info'>{{ followup.user.get_full_name }} {{ followup.date }} ({{ followup.date|timesince }} ago)</span> <small>{{ followup.title }}</small>
|
||||
{% if not followup.public %} <span class='private'>({% trans "Private" %})</span>{% endif %}
|
||||
{% if helpdesk_settings.HELPDESK_SHOW_EDIT_BUTTON_FOLLOW_UP %}
|
||||
{% if followup.user and request.user == followup.user and not followup.ticketchange_set.all %}
|
||||
<a href="{% url helpdesk_followup_edit ticket.id followup.id %}" class='followup-edit'><img width="60" height="15" title="Edit" alt="Edit" src="{{ STATIC_URL }}helpdesk/buttons/edit.png"></a>
|
||||
<a href="{% url 'helpdesk_followup_edit' ticket.id followup.id %}" class='followup-edit'><img width="60" height="15" title="Edit" alt="Edit" src="{{ STATIC_URL }}helpdesk/buttons/edit.png"></a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if user.is_superuser and helpdesk_settings.HELPDESK_SHOW_DELETE_BUTTON_SUPERUSER_FOLLOW_UP %}
|
||||
<a href="{% url 'helpdesk_followup_delete' ticket.id followup.id %}" class='followup-edit'><img width="60" height="15" title="Delete" alt="Delete" src="{{ STATIC_URL }}helpdesk/buttons/delete.png"></a>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% else %}
|
||||
<div class='followup'>
|
||||
<div class='followup well'>
|
||||
<div class='title'>
|
||||
{{ followup.title }} <span class='byline'>{% if followup.user %}by {{ followup.user }}{% endif %} <span title='{{ followup.date|date:"r" }}'>{{ followup.date|timesince }} ago</span>{% if not followup.public %} <span class='private'>({% trans "Private" %})</span>{% endif %}</span>
|
||||
{{ followup.title }} <span class='byline text-info'>{% if followup.user %}by {{ followup.user }}{% endif %} <span title='{{ followup.date|date:"r" }}'>{{ followup.date|timesince }} ago</span>{% if not followup.public %} <span class='private'>({% trans "Private" %})</span>{% endif %}</span>
|
||||
{% if helpdesk_settings.HELPDESK_SHOW_EDIT_BUTTON_FOLLOW_UP %}
|
||||
{% if followup.user and request.user == followup.user and not followup.ticketchange_set.all %}
|
||||
<a href="{% url helpdesk_followup_edit ticket.id followup.id %}" class='followup-edit'><img width="60" height="15" title="Edit" alt="Edit" src="{{ STATIC_URL }}helpdesk/buttons/edit.png"></a>
|
||||
<a href="{% url 'helpdesk_followup_edit' ticket.id followup.id %}" class='followup-edit'><img width="60" height="15" title="Edit" alt="Edit" src="{{ STATIC_URL }}helpdesk/buttons/edit.png"></a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if user.is_superuser and helpdesk_settings.HELPDESK_SHOW_DELETE_BUTTON_SUPERUSER_FOLLOW_UP %}
|
||||
<a href="{% url 'helpdesk_followup_delete' ticket.id followup.id %}" class='followup-edit'><img width="60" height="15" title="Delete" alt="Delete" src="{{ STATIC_URL }}helpdesk/buttons/delete.png"></a>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
<span class='followup-desc'>{% if followup.comment %}{{ followup.comment|force_escape|urlizetrunc:50|num_to_link|linebreaksbr }}{% endif %}</span>
|
||||
{% for change in followup.ticketchange_set.all %}
|
||||
{% if forloop.first %}<div class='changes'><ul>{% endif %}
|
||||
<li>{% blocktrans with change.field as field and change.old_value as old_value and change.new_value as new_value %}Changed {{ field }} from {{ old_value }} to {{ new_value }}.{% endblocktrans %}</li>
|
||||
{% if forloop.last %}</div></ul>{% endif %}
|
||||
{% if forloop.last %}</ul></div>{% endif %}
|
||||
{% endfor %}
|
||||
{% for attachment in followup.attachment_set.all %}{% if forloop.first %}<div class='attachments'><ul>{% endif %}
|
||||
<li><a href='{{ attachment.file.url }}'>{{ attachment.filename }}</a> ({{ attachment.mime_type }}, {{ attachment.size|filesizeformat }})
|
||||
{% if followup.user and request.user == followup.user %}
|
||||
<a href='{% url helpdesk_attachment_del ticket.id attachment.id %}'>delete</a>
|
||||
<a href='{% url 'helpdesk_attachment_del' ticket.id attachment.id %}'>delete</a>
|
||||
{% endif %}
|
||||
</li>
|
||||
{% if forloop.last %}</ul></div>{% endif %}
|
||||
@ -107,7 +115,7 @@ function googleTranslateElementInit() {
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div id='add-followup'>
|
||||
<div id='add-followup' class="well">
|
||||
<h3>{% trans "Respond to this ticket" %}</h3>
|
||||
|
||||
<form method='post' action='update/' enctype='multipart/form-data'>
|
||||
@ -178,11 +186,6 @@ function googleTranslateElementInit() {
|
||||
<dt><label for='id_due_date'>{% trans "Due on" %}</label></dt>
|
||||
<dd>{{ form.due_date }}</dd>
|
||||
|
||||
{% if tags_enabled %}
|
||||
<dt><label for='id_tags'>{% trans "Tags" %}</label></dt>
|
||||
<dd><input type='text' id='id_tags' name='tags' value='{{ ticket.tags }}'/></dd>
|
||||
{% endif %}
|
||||
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
@ -194,14 +197,14 @@ function googleTranslateElementInit() {
|
||||
<dl>
|
||||
|
||||
<dt><label for='id_file'>{% trans "Attach a File" %}</label></dt>
|
||||
<dd><input type='file' name='attachment' id='file' /> <span class='AddAnotherFile'>(<a href='#'>{% trans "Add Another File" %}</a>)</span></dd>
|
||||
<dd><input type='file' name='attachment' id='file' multiple/> <span class='AddAnotherFile'>(<a href='#'>{% trans "Add Another File" %}</a>)</span></dd>
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
|
||||
<input type='submit' value='{% trans "Update This Ticket" %}' />
|
||||
<input class="btn btn-primary" type='submit' value='{% trans "Update This Ticket" %}' />
|
||||
|
||||
{% csrf_token %}</form>
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
{% extends "helpdesk/base.html" %}{% load i18n %}
|
||||
{% extends "helpdesk/base.html" %}{% load i18n %}{% load url from future %}
|
||||
|
||||
{% block helpdesk_title %}{% trans "Add Ticket CC" %}{% endblock %}
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
{% endfor %}</dl>
|
||||
</fieldset>
|
||||
|
||||
<input type='submit' value='{% trans "Save Ticket CC" %}' />
|
||||
<input class="btn btn-primary" type='submit' value='{% trans "Save Ticket CC" %}' />
|
||||
|
||||
{% csrf_token %}</form>
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
{% extends "helpdesk/base.html" %}{% load i18n %}
|
||||
{% extends "helpdesk/base.html" %}{% load i18n %}{% load url from future %}
|
||||
|
||||
{% block helpdesk_title %}{% trans "Delete Ticket CC" %}{% endblock %}
|
||||
|
||||
@ -10,5 +10,5 @@
|
||||
|
||||
<p><a href='../../'>{% trans "Don't Delete" %}</a></p>
|
||||
|
||||
<form method='post' action='./'><input type='submit' value='{% trans "Yes, Delete" %}' />{% csrf_token %}</form>
|
||||
<form method='post' action='./'><input class="btn btn-primary" type='submit' value='{% trans "Yes, Delete" %}' />{% csrf_token %}</form>
|
||||
{% endblock %}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{% extends "helpdesk/base.html" %}{% load i18n %}
|
||||
{% extends "helpdesk/base.html" %}{% load i18n %}{% load url from future %}
|
||||
|
||||
{% block helpdesk_title %}{% trans "Ticket CC Settings" %}{% endblock %}
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
|
||||
<p>You can <a href='add/'>add a new e-mail address to the list</a> or delete any of the items below as required.</p>{% endblocktrans %}
|
||||
|
||||
<table width='100%'>
|
||||
<table class="table table-hover table-bordered">
|
||||
<thead>
|
||||
<tr class='row_tablehead'><td colspan='4'>{% trans "Ticket CC List" %}</td></tr>
|
||||
<tr class='row_columnheads'><th>{% trans "E-Mail Address" %}</th><th>{% trans "View?" %}</th><th>{% trans "Update?" %}</th><th>{% trans "Delete" %}</th></tr>
|
||||
@ -20,12 +20,12 @@
|
||||
<td>{{ person.display }}</td>
|
||||
<td>{{ person.can_view }}</td>
|
||||
<td>{{ person.can_update }}</td>
|
||||
<td><a href='{% url helpdesk_ticket_cc_del ticket.id person.id %}'>{% trans "Delete" %}</a></td>
|
||||
<td><a href='{% url 'helpdesk_ticket_cc_del' ticket.id person.id %}'>{% trans "Delete" %}</a></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p><a href='{% url helpdesk_view ticket.id %}'>{% blocktrans with ticket.title as ticket_title %}Return to <em>{{ ticket_title }}</em>{% endblocktrans %}</a></p>
|
||||
<p><a href='{% url 'helpdesk_view' ticket.id %}'>{% blocktrans with ticket.title as ticket_title %}Return to <em>{{ ticket_title }}</em>{% endblocktrans %}</a></p>
|
||||
|
||||
{% endblock %}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{% extends "helpdesk/base.html" %}{% load i18n %}
|
||||
{% extends "helpdesk/base.html" %}{% load i18n %}{% load url from future %}
|
||||
|
||||
{% block helpdesk_title %}{% trans "Add Ticket Dependency" %}{% endblock %}
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
{% endfor %}</dl>
|
||||
</fieldset>
|
||||
|
||||
<input type='submit' value='{% trans "Save Ticket Dependency" %}' />
|
||||
<input class="btn btn-primary" type='submit' value='{% trans "Save Ticket Dependency" %}' />
|
||||
|
||||
{% csrf_token %}</form>
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
{% extends "helpdesk/base.html" %}{% load i18n %}
|
||||
{% extends "helpdesk/base.html" %}{% load i18n %}{% load url from future %}
|
||||
|
||||
{% block helpdesk_title %}{% trans "Delete Ticket Dependency" %}{% endblock %}
|
||||
|
||||
@ -10,5 +10,5 @@
|
||||
|
||||
<p><a href='../../'>{% trans "Don't Delete" %}</a></p>
|
||||
|
||||
<form method='post' action='./'><input type='submit' value='{% trans "Yes, Delete" %}' />{% csrf_token %}</form>
|
||||
<form method='post' action='./'><input class="btn btn-primary" type='submit' value='{% trans "Yes, Delete" %}' />{% csrf_token %}</form>
|
||||
{% endblock %}
|
||||
|
@ -1,18 +1,34 @@
|
||||
{% load i18n %}
|
||||
<table width='100%'>
|
||||
<tr class='row_tablehead'><td colspan='2'>{{ ticket.id }}. {{ ticket.title }} [{{ ticket.get_status }}] <span class='ticket_toolbar'>
|
||||
{% if helpdesk_settings.HELPDESK_SHOW_EDIT_BUTTON_TICKET_TOP %}
|
||||
<a href='{% url helpdesk_edit ticket.id %}' class="ticket-edit"><img src='{{ STATIC_URL }}helpdesk/buttons/edit.png' alt='Edit' title='Edit' width='60' height='15' /></a>
|
||||
{% endif %}
|
||||
{% if helpdesk_settings.HELPDESK_SHOW_DELETE_BUTTON_TICKET_TOP %}
|
||||
<a href='{% url helpdesk_delete ticket.id %}' class="ticket-delete"><img src='{{ STATIC_URL }}helpdesk/buttons/delete.png' alt='Delete' title='Delete' width='60' height='15' /></a>
|
||||
{% endif %}
|
||||
{% if helpdesk_settings.HELPDESK_SHOW_HOLD_BUTTON_TICKET_TOP %}
|
||||
{% if ticket.on_hold %}<a href='unhold/' class="ticket-hold">{% trans "Unhold" %}</a>{% else %}<a href='hold/' class="ticket-hold">{% trans "Hold" %}</a>{% endif %}
|
||||
{% endif %}</span></td></tr>
|
||||
{% load i18n %}{% load url from future %}
|
||||
<table class="table table-hover table-bordered">
|
||||
<thead>
|
||||
<tr class='row_tablehead'><td colspan='2'><h3>{{ ticket.id }}. {{ ticket.title }} [{{ ticket.get_status }}]</h3> <span class='ticket_toolbar'>
|
||||
<a href='{% url 'helpdesk_edit' ticket.id %}' class="ticket-edit"><span class="glyphicon glyphicon-pencil"></span> Edit</a>
|
||||
| <a href='{% url 'helpdesk_delete' ticket.id %}' class="ticket-delete"><span class="glyphicon glyphicon-remove"></span> Delete</a>
|
||||
{% if ticket.on_hold %} | <a href='unhold/' class="ticket-hold">{% trans "Unhold" %}</a>{% else %} | <a href='hold/' class="ticket-hold">{% trans "Hold" %}</a>{% endif %}
|
||||
</span></td></tr>
|
||||
<tr class='row_columnheads'><th colspan='2'>{% blocktrans with ticket.queue as queue %}Queue: {{ queue }}{% endblocktrans %}</th></tr>
|
||||
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for customfield in ticket.ticketcustomfieldvalue_set.all %}
|
||||
<tr class='{% cycle 'row_odd' 'row_even' as rowcolors %}'>
|
||||
<th>{{ customfield.field.label }}</th>
|
||||
<td>{% ifequal customfield.field.data_type "url" %}<a href='{{ customfield.value }}'>{{ customfield.value }}</a>{% else %}{{ customfield.value }}{% endifequal %}</td>
|
||||
</tr>{% endfor %}
|
||||
|
||||
<tr class='{% cycle rowcolors %}'>
|
||||
<th colspan='2'>{% trans "Description" %}</th>
|
||||
</tr>
|
||||
<tr class='{% cycle rowcolors %}'>
|
||||
<td id="ticket-description" colspan='2'>{{ ticket.description|force_escape|urlizetrunc:50|linebreaksbr }}</td>
|
||||
</tr>
|
||||
|
||||
{% if ticket.resolution %}<tr class='{% cycle rowcolors %}'>
|
||||
<th colspan='2'>{% trans "Resolution" %}{% ifequal ticket.get_status_display "Resolved" %} <a href='?close'><img src='{{ STATIC_URL }}helpdesk/buttons/accept.png' alt='{% trans "Accept" %}' title='{% trans "Accept and Close" %}' width='60' height='15' /></a>{% endifequal %}</th>
|
||||
</tr>
|
||||
<tr class='{% cycle rowcolors %}'>
|
||||
<td colspan='2'>{{ ticket.resolution|force_escape|urlizetrunc:50|linebreaksbr }}</td>
|
||||
</tr>{% endif %}
|
||||
<tr class='{% cycle rowcolors %}'>
|
||||
<th>{% trans "Submitted On" %}</th>
|
||||
<td>{{ ticket.created|date:"r" }} ({{ ticket.created|timesince }} ago)</td>
|
||||
</tr>
|
||||
@ -24,7 +40,7 @@
|
||||
|
||||
<tr class='{% cycle rowcolors %}'>
|
||||
<th>{% trans "Submitter E-Mail" %}</th>
|
||||
<td>{{ ticket.submitter_email }}{% if user.is_superuser %} <strong><a href='{% url helpdesk_email_ignore_add %}?email={{ ticket.submitter_email }}'>{% trans "Ignore" %}</a></strong>{% endif %}</td>
|
||||
<td>{{ ticket.submitter_email }}{% if user.is_superuser %} <strong><a href='{% url 'helpdesk_email_ignore_add' %}?email={{ ticket.submitter_email }}'>{% trans "Ignore" %}</a></strong>{% endif %}</td>
|
||||
</tr>
|
||||
|
||||
<tr class='{% cycle rowcolors %}'>
|
||||
@ -34,47 +50,21 @@
|
||||
|
||||
<tr class='{% cycle rowcolors %}'>
|
||||
<th>{% trans "Copies To" %}</th>
|
||||
<td>{% for ticketcc in ticket.ticketcc_set.all %}{{ ticketcc.display }}{% if not forloop.last %}, {% endif %}{% endfor %} <strong><a class='tooltip' href='{% url helpdesk_ticket_cc ticket.id %}'>{% trans "Manage" %}<span>{% trans "Click here to add / remove people who should receive an e-mail whenever this ticket is updated." %}</span></a></strong></td>
|
||||
<td>{{ ticketcc_string }} <strong><a class='tooltip' href='{% url 'helpdesk_ticket_cc' ticket.id %}'>{% trans "Manage" %}<span>{% trans "Click here to add / remove people who should receive an e-mail whenever this ticket is updated." %}</span></a></strong>{% if SHOW_SUBSCRIBE %}, <strong><a class='tooltip' href='?subscribe'>{% trans "Subscribe" %}<span>{% trans "Click here to subscribe yourself to this ticket, if you want to receive an e-mail whenever this ticket is updated." %}</span></a></strong>{% endif %}</td>
|
||||
</tr>
|
||||
|
||||
{% if tags_enabled %}
|
||||
<tr class='{% cycle rowcolors %}'>
|
||||
<th>{% trans "Tags" %}</th>
|
||||
<td>{{ ticket.tags }}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
|
||||
<tr class='{% cycle rowcolors %}'>
|
||||
<th>{% trans "Dependencies" %}</th>
|
||||
<td>{% for dep in ticket.ticketdependency.all %}
|
||||
{% if forloop.first %}<p>{% trans "This ticket cannot be resolved until the following ticket(s) are resolved" %}</p><ul>{% endif %}
|
||||
<li><a href='{{ dep.depends_on.get_absolute_url }}'>{{ dep.depends_on.ticket }} {{ dep.depends_on.title }}</a> ({{ dep.depends_on.get_status_display }}) <a href='{% url helpdesk_ticket_dependency_del ticket.id dep.id %}'>{% trans "Remove Dependency" %}</a></li>
|
||||
<li><a href='{{ dep.depends_on.get_absolute_url }}'>{{ dep.depends_on.ticket }} {{ dep.depends_on.title }}</a> ({{ dep.depends_on.get_status_display }}) <a href='{% url 'helpdesk_ticket_dependency_del' ticket.id dep.id %}'>{% trans "Remove Dependency" %}</a></li>
|
||||
{% if forloop.last %}</ul>{% endif %}
|
||||
{% empty %}
|
||||
<p>{% trans "This ticket has no dependencies." %}</p>
|
||||
{% endfor %}
|
||||
<p><a class='tooltip' href='{% url helpdesk_ticket_dependency_add ticket.id %}'>{% trans "Add Dependency" %}<span>{% trans "Click on 'Add Dependency', if you want to make this ticket dependent on another ticket. A ticket may not be closed until all tickets it depends on are closed." %}</span></a></p>
|
||||
<p><a class='tooltip' href='{% url 'helpdesk_ticket_dependency_add' ticket.id %}'>{% trans "Add Dependency" %}<span>{% trans "Click on 'Add Dependency', if you want to make this ticket dependent on another ticket. A ticket may not be closed until all tickets it depends on are closed." %}</span></a></p>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
{% for customfield in ticket.ticketcustomfieldvalue_set.all %}
|
||||
<tr class='{% cycle rowcolors %}'>
|
||||
<th>{{ customfield.field.label }}</th>
|
||||
<td>{% ifequal customfield.field.data_type "url" %}<a href='{{ customfield.value }}'>{{ customfield.value }}</a>{% else %}{{ customfield.value }}{% endifequal %}</td>
|
||||
</tr>{% endfor %}
|
||||
|
||||
<tr class='{% cycle rowcolors %}'>
|
||||
<th colspan='2'>{% trans "Description" %}</th>
|
||||
</tr>
|
||||
<tr class='{% cycle rowcolors %}'>
|
||||
<td colspan='2'>{{ ticket.description|force_escape|urlizetrunc:50|linebreaksbr }}</td>
|
||||
</tr>
|
||||
|
||||
{% if ticket.resolution %}<tr class='{% cycle rowcolors %}'>
|
||||
<th colspan='2'>{% trans "Resolution" %}{% ifequal ticket.get_status_display "Resolved" %} <a href='?close'><img src='{{ STATIC_URL }}helpdesk/buttons/accept.png' alt='{% trans "Accept" %}' title='{% trans "Accept and Close" %}' width='60' height='15' /></a>{% endifequal %}</th>
|
||||
</tr>
|
||||
<tr class='{% cycle rowcolors %}'>
|
||||
<td colspan='2'>{{ ticket.resolution|force_escape|urlizetrunc:50|linebreaksbr }}</td>
|
||||
</tr>{% endif %}
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -1,6 +1,7 @@
|
||||
{% extends "helpdesk/base.html" %}{% load i18n %}
|
||||
{% block helpdesk_title %}{% trans "Ticket Listing" %}{% endblock %}
|
||||
{% extends "helpdesk/base.html" %}{% load i18n %}{% load url from future %}
|
||||
{% block helpdesk_title %}{% trans "Tickets" %}{% endblock %}
|
||||
{% block helpdesk_head %}
|
||||
|
||||
<script type='text/javascript' language='javascript' src='{{ STATIC_URL }}helpdesk/filter.js'></script>
|
||||
<script type='text/javascript' language='javascript' src='{{ STATIC_URL }}helpdesk/hover.js'></script>
|
||||
|
||||
@ -32,12 +33,14 @@ $(document).ready(function() {
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
{% block h1_title %}Tickets
|
||||
{% if from_saved_query %} [{{ saved_query.title }}]{% endif %}{% endblock %}
|
||||
{% block helpdesk_body %}
|
||||
|
||||
{% load in_list %}
|
||||
|
||||
<div id="searchtabs">
|
||||
<ul>
|
||||
<div id="searchtabs" class="row">
|
||||
{% comment %}<ul>
|
||||
<li><a href='#tabfilter'>{% trans "Query Options" %}</a></li>
|
||||
{% if not from_saved_query %}
|
||||
<li><a href='#tabsave'>{% trans "Save This Query" %}</a></li>
|
||||
@ -45,10 +48,19 @@ $(document).ready(function() {
|
||||
{% if user_saved_queries %}
|
||||
<li><a href='#tabload'>{% trans "Load Saved Query" %}</a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
|
||||
<div id='tabfilter'>
|
||||
<h3>{% trans "Change Query" %}</h3>
|
||||
</ul>{% endcomment %}
|
||||
|
||||
<div class="panel-group filter-options" id="accordion">
|
||||
<div id='tabfilter' class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">
|
||||
<a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
|
||||
{% trans "Change Query" %}
|
||||
</a>
|
||||
</h3>
|
||||
</div>
|
||||
<div id="collapseOne" class="panel-collapse collapse in">
|
||||
<div class="panel-body">
|
||||
<form>
|
||||
<select name='select' id='filterBuilderSelect'>
|
||||
<option value='Sort'>{% trans "Sorting" %}</option>
|
||||
@ -57,15 +69,12 @@ $(document).ready(function() {
|
||||
<option value='Status'>{% trans "Status" %}</option>
|
||||
<option value='Keywords'>{% trans "Keywords" %}</option>
|
||||
<option value='Dates'>{% trans "Date Range" %}</option>
|
||||
{% if tags_enabled %}
|
||||
<option value='Tags'>{% trans "Tags" %}</option>
|
||||
{% endif %}
|
||||
</select>
|
||||
<input type='button' id='filterBuilderButton' value='+' />
|
||||
{% csrf_token %}</form>
|
||||
|
||||
<form method='get' action='./'>
|
||||
<div class='filterBox{% if query_params.sorting %} filterBoxShow{% endif %}' id='filterBoxSort'>
|
||||
<div class='thumbnail filterBox{% if query_params.sorting %} filterBoxShow{% endif %}' id='filterBoxSort'>
|
||||
<label for='id_sort'>{% trans "Sorting" %}</label>
|
||||
<select id='id_sort' name='sort'>
|
||||
<option value='created'{% ifequal query_params.sorting "created"%} selected='selected'{% endifequal %}>
|
||||
@ -93,7 +102,7 @@ $(document).ready(function() {
|
||||
<input type='button' class='filterBuilderRemove' value='-' />
|
||||
</div>
|
||||
|
||||
<div class='filterBox{% if query_params.filtering.assigned_to__id__in %} filterBoxShow{% endif %}' id='filterBoxOwner'>
|
||||
<div class='thumbnail filterBox{% if query_params.filtering.assigned_to__id__in %} filterBoxShow{% endif %}' id='filterBoxOwner'>
|
||||
<label for='id_owners'>{% trans "Owner(s)" %}</label>
|
||||
<select id='id_owners' name='assigned_to' multiple='selected' size='5'>
|
||||
{% for u in user_choices %}
|
||||
@ -106,53 +115,55 @@ $(document).ready(function() {
|
||||
<input type='button' class='filterBuilderRemove' value='-' />
|
||||
</div>
|
||||
|
||||
<div class='filterBox{% if query_params.filtering.queue__id__in %} filterBoxShow{% endif %}' id='filterBoxQueue'>
|
||||
<div class='thumbnail filterBox{% if query_params.filtering.queue__id__in %} filterBoxShow{% endif %}' id='filterBoxQueue'>
|
||||
<label for='id_queues'>{% trans "Queue(s)" %}</label><select id='id_queues' name='queue' multiple='selected' size='5'>{% for q in queue_choices %}<option value='{{ q.id }}'{% if q.id|in_list:query_params.filtering.queue__id__in %} selected='selected'{% endif %}>{{ q.title }}</option>{% endfor %}</select>
|
||||
<p class='filterHelp'>{% trans "Ctrl-click to select multiple options" %}</p>
|
||||
<input type='button' class='filterBuilderRemove' value='-' />
|
||||
</div>
|
||||
|
||||
<div class='filterBox{% if query_params.filtering.status__in %} filterBoxShow{% endif %}' id='filterBoxStatus'>
|
||||
<div class='thumbnail filterBox{% if query_params.filtering.status__in %} filterBoxShow{% endif %}' id='filterBoxStatus'>
|
||||
<label for='id_statuses'>{% trans "Status(es)" %}</label><select id='id_statuses' name='status' multiple='selected' size='5'>{% for s in status_choices %}<option value='{{ s.0 }}'{% if s.0|in_list:query_params.filtering.status__in %} selected='selected'{% endif %}>{{ s.1 }}</option>{% endfor %}</select>
|
||||
<p class='filterHelp'>{% trans "Ctrl-click to select multiple options" %}</p>
|
||||
<input type='button' class='filterBuilderRemove' value='-' />
|
||||
</div>
|
||||
|
||||
<div class='filterBox{% if query_params.filtering.created__gte or query_params.filtering.created__lte %} filterBoxShow{% endif %}' id='filterBoxDates'>
|
||||
<div class='thumbnail filterBox{% if query_params.filtering.created__gte or query_params.filtering.created__lte %} filterBoxShow{% endif %}' id='filterBoxDates'>
|
||||
<label for='id_date_from'>{% trans "Date (From)" %}</label><input type='text' name='date_from' value='{{ query_params.filtering.created__gte }}' id='id_date_from' />
|
||||
<label for='id_date_to'>{% trans "Date (To)" %}</label><input type='text' name='date_to' value='{{ query_params.filtering.created__lte }}' id='id_date_to' />
|
||||
<p class='filterHelp'>{% trans "Use YYYY-MM-DD date format, eg 2011-05-29" %}</p>
|
||||
<input type='button' class='filterBuilderRemove' value='-' />
|
||||
</div>
|
||||
|
||||
{% if tags_enabled %}
|
||||
<div class='filterBox{% if query_params.tags %} filterBoxShow{% endif %}' id='filterBoxTags'>
|
||||
<label for='id_tags'>{% trans "Tag(s)" %}</label><select id='id_tags' name='tags' multiple='selected' size='5'>{% for t in tag_choices %}<option value='{{t.name}}'{% if t.name|in_list:query_params.tags %} selected='selected'{% endif %}>{{ t.name }}</option>{% endfor %}</select>
|
||||
<p class='filterHelp'>{% trans "Ctrl-click to select multiple options" %}</p>
|
||||
<input type='button' class='filterBuilderRemove' value='-' />
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class='filterBox{% if query %} filterBoxShow{% endif %}' id='filterBoxKeywords'>
|
||||
<div class='thumbnail filterBox{% if query %} filterBoxShow{% endif %}' id='filterBoxKeywords'>
|
||||
<label for='id_query'>{% trans "Keywords" %}</label><input type='text' name='q' value='{{ query }}' id='id_query' />
|
||||
<p class='filterHelp'>{% trans "Keywords are case-insensitive, and will be looked for in the title, body and submitter fields." %}</p>
|
||||
<input type='button' class='filterBuilderRemove' value='-' />
|
||||
</div>
|
||||
<hr style='clear: both;' />
|
||||
<input type='submit' value='{% trans "Apply Filter" %}' />
|
||||
{% if from_saved_query and saved_query.user = user %}
|
||||
<p>{% blocktrans with saved_query.title as query_name %}You are currently viewing saved query <em>{{ query_name }}</em>.{% endblocktrans %} <a href='{% url helpdesk_delete_query saved_query.id %}'>{% trans "Delete Saved Query" %}</a></p>
|
||||
<input class="btn btn-primary" type='submit' value='{% trans "Apply Filter" %}' />
|
||||
{% if from_saved_query and saved_query.user == user %}
|
||||
<p>{% blocktrans with saved_query.title as query_name %}You are currently viewing saved query <strong>"{{ query_name }}"</strong>.{% endblocktrans %} <a href='{% url 'helpdesk_delete_query' saved_query.id %}'>{% trans "Delete Saved Query" %}</a></p>
|
||||
{% endif %}
|
||||
{% if from_saved_query %}
|
||||
<p>{% blocktrans with saved_query.id as query_id %}<a href='../reports/?saved_query={{ query_id }}'>Run a report</a> on this query to see stats and charts for the data listed below.{% endblocktrans %}</p>
|
||||
{% endif %}
|
||||
{% csrf_token %}</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{% if not from_saved_query %}
|
||||
<div class='tab' id='tabsave'>
|
||||
<h3>{% trans "Save Query" %}</h3>
|
||||
<form method='post' action='{% url helpdesk_savequery %}'>
|
||||
<div class='panel panel-default' id='tabsave'>
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">
|
||||
<a data-toggle="collapse" data-parent="#accordion" href="#collapseTwo">
|
||||
{% trans "Save Query" %}</a>
|
||||
</h3>
|
||||
</div>
|
||||
<div id="collapseTwo" class="panel-collapse collapse">
|
||||
<div class="panel-body">
|
||||
<form method='post' action='{% url 'helpdesk_savequery' %}'>
|
||||
<input type='hidden' name='query_encoded' value='{{ urlsafe_query }}' />
|
||||
<dl>
|
||||
<dt><label for='id_title'>{% trans "Query Name" %}</label></dt>
|
||||
@ -166,37 +177,53 @@ $(document).ready(function() {
|
||||
</dl>
|
||||
|
||||
<div class='buttons'>
|
||||
<input type='submit' value='{% trans "Save Query" %}'>
|
||||
<input class="btn btn-primary" type='submit' value='{% trans "Save Query" %}'>
|
||||
</div>
|
||||
|
||||
{% csrf_token %}</form>
|
||||
</div>{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div id='tabload'>
|
||||
<h3>{% trans "Use Saved Query" %}</h3>
|
||||
<form method='get' action='{% url helpdesk_list %}'>
|
||||
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">
|
||||
<a data-toggle="collapse" data-parent="#accordion" href="#collapseThree">
|
||||
{% trans "Use Saved Query" %}
|
||||
</a>
|
||||
</h3>
|
||||
</div>
|
||||
<div id="collapseThree" class="panel-collapse collapse">
|
||||
<div class="panel-body">
|
||||
<form method='get' action='{% url 'helpdesk_list' %}'>
|
||||
<p><label for='id_query_selector'>{% trans "Query" %}</label> <select name='saved_query' id='id_query_selector'>
|
||||
{% for q in user_saved_queries %}
|
||||
<option value='{{ q.id }}'>{{ q.title }}{% if q.shared %} (Shared{% ifnotequal user q.user %} by {{ q.user.username }}{% endifnotequal %}){% endif %}</option>
|
||||
{% endfor %}
|
||||
</select></p>
|
||||
<input type='submit' value='{% trans "Run Query" %}'>
|
||||
<input class="btn btn-primary" type='submit' value='{% trans "Run Query" %}'>
|
||||
{% csrf_token %}</form>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="row">
|
||||
|
||||
{{ search_message|safe }}
|
||||
<form method='post' action='{% url helpdesk_mass_update %}' id="ticket_mass_update">
|
||||
<table width='100%'>
|
||||
<form method='post' action='{% url 'helpdesk_mass_update' %}' id="ticket_mass_update">
|
||||
<table class="table table-hover table-bordered">
|
||||
<thead>
|
||||
<tr class='row_tablehead'><td colspan='9'>{% trans "Tickets" %}</td></tr>
|
||||
<tr class='row_columnheads'><th>#</th><th> </th><th>{% trans "Pr" %}</th><th>{% trans "Title" %}</th><th>{% trans "Queue" %}</th><th>{% trans "Status" %}</th><th>{% trans "Created" %}</th><th>{% trans "Owner" %}</th>{% if tags_enabled %}<th>{% trans "Tags" %}</th>{% endif %}</tr>
|
||||
<tr class='row_columnheads'><th>#</th><th> </th><th>{% trans "Pr" %}</th><th>{% trans "Title" %}</th><th>{% trans "Queue" %}</th><th>{% trans "Status" %}</th><th>{% trans "Created" %}</th><th>{% trans "Owner" %}</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% if tickets %}{% for ticket in tickets.object_list %}
|
||||
<tr class='row_{% cycle odd,even %} row_hover'>
|
||||
<th><a href='{{ ticket.get_absolute_url }}'>{{ ticket.ticket }}</a></th>
|
||||
@ -207,11 +234,11 @@ $(document).ready(function() {
|
||||
<td>{{ ticket.get_status }}</td>
|
||||
<td><span title='{{ ticket.created|date:"r" }}'>{{ ticket.created|timesince }} ago</span></td>
|
||||
<td>{{ ticket.get_assigned_to }}</td>
|
||||
{% if tags_enabled %}<td>{{ ticket.tags }}</td>{% endif %}
|
||||
</tr>
|
||||
{% endfor %}{% else %}
|
||||
<tr class='row_odd'><td colspan='5'>{% trans "No Tickets Match Your Selection" %}</td></tr>
|
||||
{% endif %}
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="pagination">
|
||||
<span class="step-links">
|
||||
@ -234,3 +261,4 @@ $(document).ready(function() {
|
||||
<p><label for='id_mass_action'>{% trans "With Selected Tickets:" %}</label> <select name='action' id='id_mass_action'><option value='take'>{% trans "Take (Assign to me)" %}</option><option value='delete'>{% trans "Delete" %}</option><optgroup label='{% trans "Close" %}'><option value='close'>{% trans "Close (Don't Send E-Mail)" %}</option><option value='close_public'>{% trans "Close (Send E-Mail)" %}</option></optgroup><optgroup label='{% trans "Assign To" %}'><option value='unassign'>{% trans "Nobody (Unassign)" %}</option>{% for u in user_choices %}<option value='assign_{{ u.id }}'>{{ u.username }}</option>{% endfor %}</optgroup></select> <input type='submit' value='Go' /></p>
|
||||
{% csrf_token %}</form>
|
||||
{% endblock %}
|
||||
</div>
|
||||
|
@ -1,10 +1,10 @@
|
||||
{% extends "helpdesk/base.html" %}{% load i18n %}
|
||||
{% extends "helpdesk/base.html" %}{% load i18n %}{% load url from future %}
|
||||
|
||||
{% block helpdesk_title %}{% trans "Change User Settings" %}{% endblock %}
|
||||
|
||||
{% block helpdesk_body %}
|
||||
{% if show_password_change_link %}
|
||||
{% url auth_password_change as password_change_url %}
|
||||
{% url 'auth_password_change' as password_change_url %}
|
||||
<h2>Change Password</h2>
|
||||
<p>
|
||||
Change your password <a href="{{ password_change_url }}" title="change your password">here</a>.
|
||||
@ -26,7 +26,7 @@ Change your password <a href="{{ password_change_url }}" title="change your pass
|
||||
{% if field.help_text %}<dd class='form_help_text'>{{ field.help_text }}</dd>{% endif %}
|
||||
{% endfor %}</dl>
|
||||
</fieldset>
|
||||
<input type='submit' value='{% trans "Save Options" %}' />
|
||||
<input class="btn btn-primary" type='submit' value='{% trans "Save Options" %}' />
|
||||
{% csrf_token %}</form>
|
||||
|
||||
{% endblock %}
|
||||
|
@ -18,7 +18,7 @@ Assuming 'food' = 'pizza' and 'best_foods' = ['pizza', 'pie', 'cake]:
|
||||
from django import template
|
||||
|
||||
def in_list(value, arg):
|
||||
return value in arg
|
||||
return value in ( arg or [] )
|
||||
|
||||
register = template.Library()
|
||||
register.filter(in_list)
|
||||
|
@ -11,9 +11,9 @@ from django.db.models import Q
|
||||
from helpdesk.models import SavedSearch
|
||||
|
||||
|
||||
def saved_queries(request):
|
||||
def saved_queries(user):
|
||||
try:
|
||||
user_saved_queries = SavedSearch.objects.filter(Q(user=request.user) | Q(shared__exact=True))
|
||||
user_saved_queries = SavedSearch.objects.filter(Q(user=user) | Q(shared__exact=True))
|
||||
return user_saved_queries
|
||||
except Exception, e:
|
||||
import sys
|
||||
|
2
helpdesk/tests/__init__.py
Normal file
2
helpdesk/tests/__init__.py
Normal file
@ -0,0 +1,2 @@
|
||||
from helpdesk.tests.ticket_submission import *
|
||||
from helpdesk.tests.public_actions import *
|
53
helpdesk/tests/public_actions.py
Normal file
53
helpdesk/tests/public_actions.py
Normal file
@ -0,0 +1,53 @@
|
||||
from helpdesk.models import Queue, CustomField, Ticket
|
||||
from django.test import TestCase
|
||||
from django.core import mail
|
||||
from django.test.client import Client
|
||||
from django.core.urlresolvers import reverse
|
||||
|
||||
class PublicActionsTestCase(TestCase):
|
||||
"""
|
||||
Tests for public actions:
|
||||
- View a ticket
|
||||
- Add a followup
|
||||
- Close resolved case
|
||||
"""
|
||||
def setUp(self):
|
||||
"""
|
||||
Create a queue & ticket we can use for later tests.
|
||||
"""
|
||||
self.queue = Queue.objects.create(title='Queue 1', slug='q', allow_public_submission=True, new_ticket_cc='new.public@example.com', updated_ticket_cc='update.public@example.com')
|
||||
self.ticket = Ticket.objects.create(title='Test Ticket', queue=self.queue, submitter_email='test.submitter@example.com', description='This is a test ticket.')
|
||||
|
||||
self.client = Client()
|
||||
|
||||
def test_public_view_ticket(self):
|
||||
response = self.client.get('%s?ticket=%s&email=%s' % (reverse('helpdesk_public_view'), self.ticket.ticket_for_url, 'test.submitter@example.com'))
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertTemplateNotUsed(response, 'helpdesk/public_view_form.html')
|
||||
|
||||
def test_public_close(self):
|
||||
old_status = self.ticket.status
|
||||
old_resolution = self.ticket.resolution
|
||||
resolution_text = 'Resolved by test script'
|
||||
|
||||
ticket = Ticket.objects.get(id=self.ticket.id)
|
||||
|
||||
ticket.status = Ticket.RESOLVED_STATUS
|
||||
ticket.resolution = resolution_text
|
||||
ticket.save()
|
||||
|
||||
current_followups = ticket.followup_set.all().count()
|
||||
|
||||
response = self.client.get('%s?ticket=%s&email=%s&close' % (reverse('helpdesk_public_view'), ticket.ticket_for_url, 'test.submitter@example.com'))
|
||||
|
||||
ticket = Ticket.objects.get(id=self.ticket.id)
|
||||
|
||||
self.assertEqual(response.status_code, 302)
|
||||
self.assertTemplateNotUsed(response, 'helpdesk/public_view_form.html')
|
||||
self.assertEqual(ticket.status, Ticket.CLOSED_STATUS)
|
||||
self.assertEqual(ticket.resolution, resolution_text)
|
||||
self.assertEqual(current_followups+1, ticket.followup_set.all().count())
|
||||
|
||||
ticket.resolution = old_resolution
|
||||
ticket.status = old_status
|
||||
ticket.save()
|
87
helpdesk/tests/ticket_submission.py
Normal file
87
helpdesk/tests/ticket_submission.py
Normal file
@ -0,0 +1,87 @@
|
||||
from helpdesk.models import Queue, CustomField, Ticket
|
||||
from django.test import TestCase
|
||||
from django.core import mail
|
||||
from django.test.client import Client
|
||||
from django.core.urlresolvers import reverse
|
||||
|
||||
class TicketBasicsTestCase(TestCase):
|
||||
def setUp(self):
|
||||
self.queue_public = Queue.objects.create(title='Queue 1', slug='q1', allow_public_submission=True, new_ticket_cc='new.public@example.com', updated_ticket_cc='update.public@example.com')
|
||||
self.queue_private = Queue.objects.create(title='Queue 2', slug='q2', allow_public_submission=False, new_ticket_cc='new.private@example.com', updated_ticket_cc='update.private@example.com')
|
||||
|
||||
self.ticket_data = {
|
||||
'title': 'Test Ticket',
|
||||
'description': 'Some Test Ticket',
|
||||
}
|
||||
|
||||
self.client = Client()
|
||||
|
||||
def test_create_ticket_direct(self):
|
||||
email_count = len(mail.outbox)
|
||||
ticket_data = dict(queue=self.queue_public, **self.ticket_data)
|
||||
ticket = Ticket.objects.create(**ticket_data)
|
||||
self.assertEqual(ticket.ticket_for_url, "q1-%s" % ticket.id)
|
||||
self.assertEqual(email_count, len(mail.outbox))
|
||||
|
||||
|
||||
def test_create_ticket_public(self):
|
||||
email_count = len(mail.outbox)
|
||||
|
||||
response = self.client.get(reverse('helpdesk_home'))
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
post_data = {
|
||||
'title': 'Test ticket title',
|
||||
'queue': self.queue_public.id,
|
||||
'submitter_email': 'ticket1.submitter@example.com',
|
||||
'body': 'Test ticket body',
|
||||
'priority': 3,
|
||||
}
|
||||
|
||||
response = self.client.post(reverse('helpdesk_home'), post_data, follow=True)
|
||||
last_redirect = response.redirect_chain[-1]
|
||||
last_redirect_url = last_redirect[0]
|
||||
last_redirect_status = last_redirect[1]
|
||||
# Ensure we landed on the "View" page.
|
||||
self.assertEqual(last_redirect_url.split('?')[0], 'http://testserver%s' % reverse('helpdesk_public_view'))
|
||||
# Ensure submitter, new-queue + update-queue were all emailed.
|
||||
self.assertEqual(email_count+3, len(mail.outbox))
|
||||
|
||||
def test_create_ticket_private(self):
|
||||
email_count = len(mail.outbox)
|
||||
post_data = {
|
||||
'title': 'Private ticket test',
|
||||
'queue': self.queue_private.id,
|
||||
'submitter_email': 'ticket2.submitter@example.com',
|
||||
'body': 'Test ticket body',
|
||||
'priority': 3,
|
||||
}
|
||||
|
||||
response = self.client.post(reverse('helpdesk_home'), post_data)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertEqual(email_count, len(mail.outbox))
|
||||
self.assertContains(response, 'Select a valid choice.')
|
||||
|
||||
def test_create_ticket_customfields(self):
|
||||
email_count = len(mail.outbox)
|
||||
queue_custom = Queue.objects.create(title='Queue 3', slug='q3', allow_public_submission=True, updated_ticket_cc='update.custom@example.com')
|
||||
custom_field_1 = CustomField.objects.create(name='textfield', label='Text Field', data_type='varchar', max_length=100, ordering=10, required=False, staff_only=False)
|
||||
post_data = {
|
||||
'queue': queue_custom.id,
|
||||
'title': 'Ticket with custom text field',
|
||||
'submitter_email': 'ticket3.submitter@example.com',
|
||||
'body': 'Test ticket body',
|
||||
'priority': 3,
|
||||
'custom_textfield': 'This is my custom text.',
|
||||
}
|
||||
|
||||
response = self.client.post(reverse('helpdesk_home'), post_data, follow=True)
|
||||
|
||||
custom_field_1.delete()
|
||||
last_redirect = response.redirect_chain[-1]
|
||||
last_redirect_url = last_redirect[0]
|
||||
last_redirect_status = last_redirect[1]
|
||||
# Ensure we landed on the "View" page.
|
||||
self.assertEqual(last_redirect_url.split('?')[0], 'http://testserver%s' % reverse('helpdesk_public_view'))
|
||||
# Ensure only two e-mails were sent - submitter & updated.
|
||||
self.assertEqual(email_count+2, len(mail.outbox))
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user