diff --git a/.travis.yml b/.travis.yml index 7846c696..130bb46e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,12 +1,12 @@ language: python python: - - "2.6" - "2.7" env: - - DJANGO=1.4.3 - - DJANGO=1.3.5 - - DJANGO=1.5.0 + - DJANGO=1.5.10 + - DJANGO=1.6.7 + - DJANGO=1.7 install: - - pip install argparse --use-mirrors - - pip install -q Django==$DJANGO --use-mirrors + - pip install argparse + - pip install -q Django==$DJANGO + - pip install -q -r requirements.txt script: python quicktest.py helpdesk diff --git a/.tx/config b/.tx/config index a89b38ad..fb45d7ba 100644 --- a/.tx/config +++ b/.tx/config @@ -1,5 +1,5 @@ [main] -host = http://www.transifex.net +host = https://www.transifex.com [django-helpdesk.core] file_filter = helpdesk/locale//LC_MESSAGES/django.po diff --git a/README.rst b/README.rst index 6afb2b84..e28effc5 100644 --- a/README.rst +++ b/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 + :target: https://travis-ci.org/rossp/django-helpdesk + 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 @@ -22,12 +25,14 @@ LICENSE.3RDPARTY for license terms for included packages. Dependencies (pre-flight checklist) ----------------------------------- -1. Python 2.5+ -2. Django (1.3 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. You must have ``django.contrib.markup`` in your ``settings.INSTALLED_APPS`` setting. +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 @@ -52,13 +57,6 @@ 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. -Tagging -------- - -If you use Django-tagging and want to tag your Helpdesk tickets, ensure that -django-tagging is installed and you have done a ``syncdb`` **before** you -add ``helpdesk`` to your ``INSTALLED_APPS``. - Fresh Django Installations -------------------------- @@ -110,3 +108,4 @@ 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 + :target: https://travis-ci.org/rossp/django-helpdesk diff --git a/docs/install.rst b/docs/install.rst index c35ba4e4..f9561984 100644 --- a/docs/install.rst +++ b/docs/install.rst @@ -30,16 +30,18 @@ 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`` and ``django.contrib.markup`` in ``INSTALLED_APPS`` if you haven't already added it. eg:: - + INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', - 'django.contrib.admin', # Required for helpdesk admin/maintenance - 'django.contrib.markup', # Required for helpdesk text display - 'south', # Highly recommended to make database migrations simpler. - 'helpdesk', # This is new! + 'django.contrib.admin', # Required for helpdesk admin/maintenance + 'django.contrib.markup', # Required for helpdesk text display + 'django.contrib.humanize', # Required for elapsed time formatting + 'south', # Highly recommended to make database migrations simpler. + 'markdown_deux', # Required for Knowledgebase item formatting + 'helpdesk', # This is new! ) 2. Make sure django-helpdesk is accessible via ``urls.py``. Add the following line to ``urls.py``:: @@ -47,7 +49,7 @@ Adding To Your Django Project (r'helpdesk/', include('helpdesk.urls')), Note that you can change 'helpdesk/' to anything you like, such as 'support/' or 'help/'. If you want django-helpdesk to be available at the root of your site (for example at http://support.mysite.tld/) then the line will be as follows:: - + (r'', include('helpdesk.urls')), This line will have to come *after* any other lines in your urls.py such as those used by the Django admin. @@ -87,9 +89,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``:: diff --git a/docs/settings.rst b/docs/settings.rst index 38bb35fb..2023378e 100644 --- a/docs/settings.rst +++ b/docs/settings.rst @@ -36,32 +36,14 @@ These changes are visible throughout django-helpdesk **Default:** ``HELPDESK_REDIRECT_TO_LOGIN_BY_DEFAULT = False`` -- **HELPDESK_PREPEND_ORG_NAME** Customize helpdesk name on a few pages, i.e., your organization. - - **Default:** ``HELPDESK_PREPEND_ORG_NAME = False`` - - **HELPDESK_KB_ENABLED** show knowledgebase links? **Default:** ``HELPDESK_KB_ENABLED = True`` -- **HELDPESK_KB_ENABLED_STAFF** Show knowledgebase links for staff users? - - **Default:** ``HELPDESK_KB_ENABLED_STAFF = False`` - - **HELPDESK_NAVIGATION_ENABLED** Show extended navigation by default, to all users, irrespective of staff status? **Default:** ``HELPDESK_NAVIGATION_ENABLED = False`` -- **HELPDESK_NAVIGATION_STATS_ENABLED** Show 'stats' link in navigation bar for staff users? - - **Default:** ``HELPDESK_NAVIGATION_STATS_ENABLED = True`` - -- **HELPDESK_SUPPORT_PERSON** 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. - - **Default:** ``HELPDESK_SUPPORT_PERSON = ""`` - - **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`` @@ -78,14 +60,14 @@ These changes are visible throughout django-helpdesk **Default:** ``HELPDESK_FOLLOWUP_MOD = False`` -- **HELPDESK_CUSTOM_WELCOME** Show custom welcome message in dashboard? - - **Default:** ``HELPDESK_CUSTOM_WELCOME = False`` - -- **HELPDESK_AUTO_SUBSCRIBE_ON_TICKET_RESPONSE ** Auto-subscribe user to ticket as a 'CC' if (s)he responds to a ticket? +- **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 ----------------------------- @@ -100,10 +82,6 @@ These options only change display of items on public-facing pages, not staff pag **Default:** ``HELPDESK_SUBMIT_A_TICKET_PUBLIC = True`` -- **HELPDESK_SHOW_KB_ON_HOMEPAGE** Should we should the KB categories on the homepage? - - **Default:** ``HELPDESK_SHOW_KB_ON_HOMEPAGE = False`` - Options that change ticket updates ---------------------------------- @@ -121,21 +99,9 @@ Options that change ticket updates **Default:** ``HELPDESK_SHOW_DELETE_BUTTON_SUPERUSER_FOLLOW_UP = False`` -- **HELPDESK_SHOW_EDIT_BUTTON_TICKET_TOP** Show ticket edit button on top of ticket description? - - **Default:** ``HELPDESK_SHOW_EDIT_BUTTON_TICKET_TOP = True`` - -- **HELPDESK_SHOW_DELETE_BUTTON_TICKET_TOP** Show ticket delete button on top of ticket description? - - **Default:** ``HELPDESK_SHOW_DELETE_BUTTON_TICKET_TOP = True`` - -- **HELPDESK_SHOW_HOLD_BUTTON_TICKET_TOP** Show hold / unhold button on top of ticket description? - - **Default:** ``HELPDESK_SHOW_HOLD_BUTTON_TICKET_TOP = True`` - - **HELPDESK_UPDATE_PUBLIC_DEFAULT** Make all updates public by default? This will hide the 'is this update public' checkbox. - **Default:** ``HELPDESK_UPDATE_PUBLIC_DEFAULT = True`` + **Default:** ``HELPDESK_UPDATE_PUBLIC_DEFAULT = False`` - **HELPDESK_STAFF_ONLY_TICKET_OWNERS** Only show staff users in ticket owner drop-downs? @@ -154,34 +120,6 @@ Staff Ticket Creation Settings **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 ----------------------- @@ -193,3 +131,37 @@ The following settings default to ``None`` but can be set as defaults, rather th - ``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 + +- **HELPDESK_DASHBOARD_SHOW_DELETE_UNASSIGNED** Button is always shown + +- **HELPDESK_DASHBOARD_HIDE_EMPTY_QUEUES** Empty queues are always hidden + +- **HELPDESK_DASHBOARD_BASIC_TICKET_STATS** Stats are always shown + +- **HELPDESK_FOOTER_SHOW_API_LINK** Link to API documentation is always shown. Edit your local `helpdesk/base.html` template if needed. + +- **HELPDESK_FOOTER_SHOW_CHANGE_LANGUAGE_LINK** Is never shown. Use your own template if required. + diff --git a/helpdesk/apps.py b/helpdesk/apps.py new file mode 100644 index 00000000..8a9755a4 --- /dev/null +++ b/helpdesk/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + +class HelpdeskConfig(AppConfig): + name = 'helpdesk' + verbose_name = "Helpdesk" + diff --git a/helpdesk/forms.py b/helpdesk/forms.py index 545f60a7..eb0dde3f 100644 --- a/helpdesk/forms.py +++ b/helpdesk/forms.py @@ -13,8 +13,12 @@ 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: @@ -22,10 +26,52 @@ except ImportError: 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') @@ -48,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): @@ -112,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, @@ -176,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 @@ -198,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): @@ -255,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']) @@ -307,7 +268,7 @@ class TicketForm(forms.Form): # Only files smaller than 512kb (or as defined in # settings.MAX_EMAIL_ATTACHMENT_SIZE) are sent via email. try: - files.append(a.file.path) + files.append([a.filename, a.file]) except NotImplementedError: pass @@ -362,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, @@ -421,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): """ @@ -515,7 +441,7 @@ class PublicTicketForm(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) + files.append([a.filename, a.file]) context = safe_template_context(t) @@ -597,6 +523,7 @@ class UserSettingsForm(forms.Form): class EmailIgnoreForm(forms.ModelForm): class Meta: model = IgnoreEmail + exclude = [] class TicketCCForm(forms.ModelForm): def __init__(self, *args, **kwargs): diff --git a/helpdesk/lib.py b/helpdesk/lib.py index f3e0b50f..5d90c8cb 100644 --- a/helpdesk/lib.py +++ b/helpdesk/lib.py @@ -45,8 +45,8 @@ def send_templated_mail(template_name, email_context, recipients, sender=None, b fail_silently is passed to Django's mail routine. Set to 'True' to ignore any errors at send time. - files can be a list of file paths to be attached, or it can be left blank. - eg ('/tmp/file1.txt', '/tmp/image.png') + files can be a list of tuple. Each tuple should be a filename to attach, + along with the File objects to be read. files can be blank. """ from django.conf import settings @@ -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, @@ -121,11 +123,11 @@ def send_templated_mail(template_name, email_context, recipients, sender=None, b msg.attach_alternative(html_part, "text/html") if files: - if type(files) != list: - files = [files,] - - for file in files: - msg.attach_file(file) + for attachment in files: + file_to_attach = attachment[1] + file_to_attach.open() + msg.attach(filename=attachment[0], content=file_to_attach.read()) + file_to_attach.close() return msg.send(fail_silently) diff --git a/helpdesk/locale/ar/LC_MESSAGES/django.mo b/helpdesk/locale/ar/LC_MESSAGES/django.mo new file mode 100644 index 00000000..d01ea94c Binary files /dev/null and b/helpdesk/locale/ar/LC_MESSAGES/django.mo differ diff --git a/helpdesk/locale/ar/LC_MESSAGES/django.po b/helpdesk/locale/ar/LC_MESSAGES/django.po new file mode 100644 index 00000000..5a571893 --- /dev/null +++ b/helpdesk/locale/ar/LC_MESSAGES/django.po @@ -0,0 +1,2321 @@ +# django-helpdesk Arabic language translation +# Copyright (C) 2011 Ross Poulton +# This file is distributed under the same license as the django-helpdesk package. +# +# Translators: +# Beshoy Atef , 2013 +msgid "" +msgstr "" +"Project-Id-Version: django-helpdesk\n" +"Report-Msgid-Bugs-To: http://github.com/RossP/django-helpdesk/issues\n" +"POT-Creation-Date: 2012-08-07 20:40+1000\n" +"PO-Revision-Date: 2013-11-20 11:07+0000\n" +"Last-Translator: Beshoy Atef \n" +"Language-Team: Arabic (http://www.transifex.com/projects/p/django-helpdesk/language/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#: forms.py:113 forms.py:360 models.py:262 +#: templates/helpdesk/dashboard.html:11 templates/helpdesk/dashboard.html:37 +#: templates/helpdesk/dashboard.html:57 templates/helpdesk/dashboard.html:77 +#: templates/helpdesk/dashboard.html:99 templates/helpdesk/rss_list.html:23 +#: templates/helpdesk/ticket_list.html:56 +#: templates/helpdesk/ticket_list.html:78 +#: templates/helpdesk/ticket_list.html:199 views/staff.py:976 +#: views/staff.py:982 views/staff.py:988 +msgid "Queue" +msgstr "" + +#: forms.py:122 +msgid "Summary of the problem" +msgstr "ملخص لبعض المشاكل" + +#: forms.py:127 +msgid "Submitter E-Mail Address" +msgstr "مرسل العنوان البريدى للشكوة " + +#: forms.py:129 +msgid "" +"This e-mail address will receive copies of all public updates to this " +"ticket." +msgstr "" + +#: forms.py:135 +msgid "Description of Issue" +msgstr "وصف المشكلة" + +#: forms.py:142 +msgid "Case owner" +msgstr "مالك الحالة" + +#: forms.py:143 +msgid "" +"If you select an owner other than yourself, they'll be e-mailed details of " +"this ticket immediately." +msgstr "اذا قمت باختيار مالك اخر غيرك , سوف يتم ارسال رسالة الدعم الخاصة بة عبر البريد الالكترونى خلال لحظات" + +#: forms.py:151 models.py:322 management/commands/escalate_tickets.py:149 +#: templates/helpdesk/public_view_ticket.html:21 +#: templates/helpdesk/ticket.html:176 +#: templates/helpdesk/ticket_desc_table.html:31 +#: templates/helpdesk/ticket_list.html:84 views/staff.py:355 +msgid "Priority" +msgstr "الاولوية" + +#: forms.py:152 +msgid "Please select a priority carefully. If unsure, leave it as '3'." +msgstr "رجاء اختيار الاولوية بحرص , فى حالة عدم التأكد , اتركها 3" + +#: forms.py:159 forms.py:397 models.py:330 templates/helpdesk/ticket.html:178 +#: views/staff.py:365 +msgid "Due on" +msgstr "" + +#: forms.py:171 forms.py:402 +msgid "Attach File" +msgstr "اضافة ملف" + +#: forms.py:172 forms.py:403 +msgid "You can attach a file such as a document or screenshot to this ticket." +msgstr "يمكنك اضافة ملف كملف نصى او صورة الى تذكرة الدعم" + +#: forms.py:180 templates/helpdesk/public_view_ticket.html:33 +#: templates/helpdesk/ticket.html:182 +#: templates/helpdesk/ticket_desc_table.html:42 +#: templates/helpdesk/ticket_list.html:61 +#: templates/helpdesk/ticket_list.html:199 views/staff.py:376 +msgid "Tags" +msgstr "الكلمات الدلالية" + +#: forms.py:181 +msgid "" +"Words, separated by spaces, or phrases separated by commas. These should " +"communicate significant characteristics of this ticket" +msgstr "الكلمات، مفصولة بمسافات، أو عبارات مفصولة بفواصل. وينبغي لهذه التواصل خصائص هامة لتذكرة الدعم هذة" + +#: forms.py:275 +msgid "Ticket Opened" +msgstr "تذاكر الدعم المفتوحة" + +#: forms.py:282 +#, python-format +msgid "Ticket Opened & Assigned to %(name)s" +msgstr "التذكرة مفتوحة و منسوبة الى %(name)s" + +#: forms.py:369 +msgid "Summary of your query" +msgstr "ملخص الاستعلام الخاص بك" + +#: forms.py:374 +msgid "Your E-Mail Address" +msgstr "بريدك الالكترونى" + +#: forms.py:375 +msgid "We will e-mail you when your ticket is updated." +msgstr "سنقوم بمراسلتك عند تعديل تذكرة الدعم الخاصة بك" + +#: forms.py:380 +msgid "Description of your issue" +msgstr "وصف المشكلة الخاصة بك" + +#: forms.py:382 +msgid "" +"Please be as descriptive as possible, including any details we may need to " +"address your query." +msgstr "رجاء جعل الوصف تفصيليا متضمن اى تفاصيل ربما نحتاجها لمعالجة الاستعلام الخاص بك" + +#: forms.py:390 +msgid "Urgency" +msgstr "الاهمية" + +#: forms.py:391 +msgid "Please select a priority carefully." +msgstr "رجاء اختيار الاولوية بحرص" + +#: forms.py:486 +msgid "Ticket Opened Via Web" +msgstr "تم فتح تذكرة الدعم عن طريق الويب" + +#: forms.py:553 +msgid "Show Ticket List on Login?" +msgstr "مشاهدة قائمة تذاكر الدعم عند الدخول؟" + +#: forms.py:554 +msgid "Display the ticket list upon login? Otherwise, the dashboard is shown." +msgstr "" + +#: forms.py:559 +msgid "E-mail me on ticket change?" +msgstr "راسلنى عند تغيير تذكرة الدعم ؟" + +#: forms.py:560 +msgid "" +"If you're the ticket owner and the ticket is changed via the web by somebody" +" else, do you want to receive an e-mail?" +msgstr "اذا كنت انت صاحب تذكرة الدعم و قام شخص اخر بتغيير التذكرة عن طريق الويب هل تريد ان تتلقى بريد الكترونى ؟" + +#: forms.py:565 +msgid "E-mail me when assigned a ticket?" +msgstr "ارسال بريد الكترونى عند تعيين تذكرة للدعم ؟" + +#: forms.py:566 +msgid "" +"If you are assigned a ticket via the web, do you want to receive an e-mail?" +msgstr "اذا قمت بتعيين تذكرة عن طريق الويب هل تريد استقبال بريد الكترونى ؟" + +#: forms.py:571 +msgid "E-mail me when a ticket is changed via the API?" +msgstr "" + +#: forms.py:572 +msgid "If a ticket is altered by the API, do you want to receive an e-mail?" +msgstr "" + +#: forms.py:577 +msgid "Number of tickets to show per page" +msgstr "عدد التذاكر لللعرض فى صفحة واحدة" + +#: forms.py:578 +msgid "How many tickets do you want to see on the Ticket List page?" +msgstr "كم عدد تذاكر الدعم الذى تريد رؤيتها فىقائمة التذاكر هذة ؟" + +#: forms.py:585 +msgid "Use my e-mail address when submitting tickets?" +msgstr "استتخدام البريد الاكترونى عند ارسال التذاكر ؟" + +#: forms.py:586 +msgid "" +"When you submit a ticket, do you want to automatically use your e-mail " +"address as the submitter address? You can type a different e-mail address " +"when entering the ticket if needed, this option only changes the default." +msgstr "" + +#: models.py:32 models.py:256 models.py:490 models.py:787 models.py:821 +#: templates/helpdesk/dashboard.html:37 templates/helpdesk/dashboard.html:57 +#: templates/helpdesk/dashboard.html:77 templates/helpdesk/dashboard.html:99 +#: templates/helpdesk/ticket.html:170 templates/helpdesk/ticket_list.html:75 +#: templates/helpdesk/ticket_list.html:199 views/staff.py:345 +msgid "Title" +msgstr "عنوان" + +#: models.py:37 models.py:792 models.py:1162 +msgid "Slug" +msgstr "" + +#: models.py:38 +msgid "" +"This slug is used when building ticket ID's. Once set, try not to change it " +"or e-mailing may get messy." +msgstr "" + +#: models.py:43 models.py:1015 models.py:1085 models.py:1159 +#: templates/helpdesk/email_ignore_list.html:13 +#: templates/helpdesk/ticket_cc_list.html:15 +msgid "E-Mail Address" +msgstr "عنولن البريد الالكترونى" + +#: models.py:46 +msgid "" +"All outgoing e-mails for this queue will use this e-mail address. If you use" +" IMAP or POP3, this should be the e-mail address for that mailbox." +msgstr "" + +#: models.py:52 models.py:766 +msgid "Locale" +msgstr "موضع" + +#: models.py:56 +msgid "" +"Locale of this queue. All correspondence in this queue will be in this " +"language." +msgstr "" + +#: models.py:60 +msgid "Allow Public Submission?" +msgstr "السماح بالارسال العام" + +#: models.py:63 +msgid "Should this queue be listed on the public submission form?" +msgstr "هل ينبغي إدراج قائمة الانتظار هذه على استمارة التقديم العام؟" + +#: models.py:68 +msgid "Allow E-Mail Submission?" +msgstr "السماح بارسال بريد الكترونى ؟" + +#: models.py:71 +msgid "Do you want to poll the e-mail box below for new tickets?" +msgstr "" + +#: models.py:76 +msgid "Escalation Days" +msgstr "أيام التصعيد" + +#: models.py:79 +msgid "" +"For tickets which are not held, how often do you wish to increase their " +"priority? Set to 0 for no escalation." +msgstr "" + +#: models.py:84 +msgid "New Ticket CC Address" +msgstr "" + +#: models.py:88 +msgid "" +"If an e-mail address is entered here, then it will receive notification of " +"all new tickets created for this queue. Enter a comma between multiple " +"e-mail addresses." +msgstr "" + +#: models.py:94 +msgid "Updated Ticket CC Address" +msgstr "" + +#: models.py:98 +msgid "" +"If an e-mail address is entered here, then it will receive notification of " +"all activity (new tickets, closed tickets, updates, reassignments, etc) for " +"this queue. Separate multiple addresses with a comma." +msgstr "" + +#: models.py:105 +msgid "E-Mail Box Type" +msgstr "كتابة صندزق البريد الالكترونى " + +#: models.py:107 +msgid "POP 3" +msgstr "" + +#: models.py:107 +msgid "IMAP" +msgstr "" + +#: models.py:110 +msgid "" +"E-Mail server type for creating tickets automatically from a mailbox - both " +"POP3 and IMAP are supported." +msgstr "" + +#: models.py:115 +msgid "E-Mail Hostname" +msgstr "" + +#: models.py:119 +msgid "" +"Your e-mail server address - either the domain name or IP address. May be " +"\"localhost\"." +msgstr "" + +#: models.py:124 +msgid "E-Mail Port" +msgstr "" + +#: models.py:127 +msgid "" +"Port number to use for accessing e-mail. Default for POP3 is \"110\", and " +"for IMAP is \"143\". This may differ on some servers. Leave it blank to use " +"the defaults." +msgstr "" + +#: models.py:133 +msgid "Use SSL for E-Mail?" +msgstr "" + +#: models.py:136 +msgid "" +"Whether to use SSL for IMAP or POP3 - the default ports when using SSL are " +"993 for IMAP and 995 for POP3." +msgstr "" + +#: models.py:141 +msgid "E-Mail Username" +msgstr "" + +#: models.py:145 +msgid "Username for accessing this mailbox." +msgstr "" + +#: models.py:149 +msgid "E-Mail Password" +msgstr "" + +#: models.py:153 +msgid "Password for the above username" +msgstr "" + +#: models.py:157 +msgid "IMAP Folder" +msgstr "" + +#: models.py:161 +msgid "" +"If using IMAP, what folder do you wish to fetch messages from? This allows " +"you to use one IMAP account for multiple queues, by filtering messages on " +"your IMAP server into separate folders. Default: INBOX." +msgstr "" + +#: models.py:168 +msgid "E-Mail Check Interval" +msgstr "" + +#: models.py:169 +msgid "How often do you wish to check this mailbox? (in Minutes)" +msgstr "" + +#: models.py:240 templates/helpdesk/dashboard.html:11 +#: templates/helpdesk/ticket.html:130 +msgid "Open" +msgstr "" + +#: models.py:241 templates/helpdesk/ticket.html:136 +#: templates/helpdesk/ticket.html.py:142 templates/helpdesk/ticket.html:147 +#: templates/helpdesk/ticket.html.py:151 +msgid "Reopened" +msgstr "" + +#: models.py:242 templates/helpdesk/dashboard.html:11 +#: templates/helpdesk/ticket.html:131 templates/helpdesk/ticket.html.py:137 +#: templates/helpdesk/ticket.html:143 +msgid "Resolved" +msgstr "" + +#: models.py:243 templates/helpdesk/dashboard.html:11 +#: templates/helpdesk/ticket.html:132 templates/helpdesk/ticket.html.py:138 +#: templates/helpdesk/ticket.html:144 templates/helpdesk/ticket.html.py:148 +msgid "Closed" +msgstr "" + +#: models.py:244 templates/helpdesk/ticket.html:133 +#: templates/helpdesk/ticket.html.py:139 templates/helpdesk/ticket.html:152 +msgid "Duplicate" +msgstr "" + +#: models.py:248 +msgid "1. Critical" +msgstr "" + +#: models.py:249 +msgid "2. High" +msgstr "" + +#: models.py:250 +msgid "3. Normal" +msgstr "" + +#: models.py:251 +msgid "4. Low" +msgstr "" + +#: models.py:252 +msgid "5. Very Low" +msgstr "" + +#: models.py:266 templates/helpdesk/dashboard.html:77 +#: templates/helpdesk/ticket_list.html:72 +#: templates/helpdesk/ticket_list.html:199 +msgid "Created" +msgstr "" + +#: models.py:268 +msgid "Date this ticket was first created" +msgstr "" + +#: models.py:272 +msgid "Modified" +msgstr "" + +#: models.py:274 +msgid "Date this ticket was most recently changed." +msgstr "" + +#: models.py:278 templates/helpdesk/public_view_ticket.html:16 +#: templates/helpdesk/ticket_desc_table.html:26 +msgid "Submitter E-Mail" +msgstr "" + +#: models.py:281 +msgid "" +"The submitter will receive an email for all public follow-ups left for this " +"task." +msgstr "" + +#: models.py:290 +msgid "Assigned to" +msgstr "" + +#: models.py:294 templates/helpdesk/dashboard.html:37 +#: templates/helpdesk/dashboard.html:57 templates/helpdesk/dashboard.html:99 +#: templates/helpdesk/ticket_list.html:57 +#: templates/helpdesk/ticket_list.html:81 +#: templates/helpdesk/ticket_list.html:199 +msgid "Status" +msgstr "" + +#: models.py:300 +msgid "On Hold" +msgstr "" + +#: models.py:303 +msgid "If a ticket is on hold, it will not automatically be escalated." +msgstr "" + +#: models.py:308 models.py:796 templates/helpdesk/public_view_ticket.html:39 +#: templates/helpdesk/ticket_desc_table.html:67 +msgid "Description" +msgstr "" + +#: models.py:311 +msgid "The content of the customers query." +msgstr "" + +#: models.py:315 templates/helpdesk/public_view_ticket.html:46 +#: templates/helpdesk/ticket_desc_table.html:74 +msgid "Resolution" +msgstr "" + +#: models.py:318 +msgid "The resolution provided to the customer by our staff." +msgstr "" + +#: models.py:326 +msgid "1 = Highest Priority, 5 = Low Priority" +msgstr "" + +#: models.py:339 +msgid "" +"The date this ticket was last escalated - updated automatically by " +"management/commands/escalate_tickets.py." +msgstr "" + +#: models.py:348 templates/helpdesk/ticket_desc_table.html:22 +#: views/feeds.py:91 views/feeds.py:117 views/feeds.py:169 views/staff.py:302 +msgid "Unassigned" +msgstr "" + +#: models.py:387 +msgid " - On Hold" +msgstr "" + +#: models.py:481 models.py:1073 models.py:1231 models.py:1256 +#: templates/helpdesk/public_homepage.html:26 +#: templates/helpdesk/public_view_form.html:12 +msgid "Ticket" +msgstr "" + +#: models.py:485 models.py:714 models.py:1008 models.py:1156 +msgid "Date" +msgstr "" + +#: models.py:497 views/staff.py:316 +msgid "Comment" +msgstr "" + +#: models.py:503 +msgid "Public" +msgstr "" + +#: models.py:506 +msgid "" +"Public tickets are viewable by the submitter and all staff, but non-public " +"tickets can only be seen by staff." +msgstr "" + +#: models.py:514 models.py:888 models.py:1081 views/staff.py:952 +#: views/staff.py:958 views/staff.py:964 views/staff.py:970 +msgid "User" +msgstr "" + +#: models.py:518 templates/helpdesk/ticket.html:127 +msgid "New Status" +msgstr "" + +#: models.py:522 +msgid "If the status was changed, what was it changed to?" +msgstr "" + +#: models.py:551 models.py:608 +msgid "Follow-up" +msgstr "" + +#: models.py:555 models.py:1236 +msgid "Field" +msgstr "" + +#: models.py:560 +msgid "Old Value" +msgstr "" + +#: models.py:566 +msgid "New Value" +msgstr "" + +#: models.py:574 +msgid "removed" +msgstr "" + +#: models.py:576 +#, python-format +msgid "set to %s" +msgstr "" + +#: models.py:578 +#, python-format +msgid "changed from \"%(old_value)s\" to \"%(new_value)s\"" +msgstr "" + +#: models.py:612 +msgid "File" +msgstr "" + +#: models.py:617 +msgid "Filename" +msgstr "" + +#: models.py:622 +msgid "MIME Type" +msgstr "" + +#: models.py:627 +msgid "Size" +msgstr "" + +#: models.py:628 +msgid "Size of this file in bytes" +msgstr "" + +#: models.py:663 +msgid "" +"Leave blank to allow this reply to be used for all queues, or select those " +"queues you wish to limit this reply to." +msgstr "" + +#: models.py:668 models.py:709 models.py:1003 +#: templates/helpdesk/email_ignore_list.html:13 +msgid "Name" +msgstr "" + +#: models.py:670 +msgid "" +"Only used to assist users with selecting a reply - not shown to the user." +msgstr "" + +#: models.py:675 +msgid "Body" +msgstr "" + +#: models.py:676 +msgid "" +"Context available: {{ ticket }} - ticket object (eg {{ ticket.title }}); {{ " +"queue }} - The queue; and {{ user }} - the current user." +msgstr "" + +#: models.py:703 +msgid "" +"Leave blank for this exclusion to be applied to all queues, or select those " +"queues you wish to exclude with this entry." +msgstr "" + +#: models.py:715 +msgid "Date on which escalation should not happen" +msgstr "" + +#: models.py:732 +msgid "Template Name" +msgstr "" + +#: models.py:737 +msgid "Subject" +msgstr "" + +#: models.py:739 +msgid "" +"This will be prefixed with \"[ticket.ticket] ticket.title\". We recommend " +"something simple such as \"(Updated\") or \"(Closed)\" - the same context is" +" available as in plain_text, below." +msgstr "" + +#: models.py:745 +msgid "Heading" +msgstr "" + +#: models.py:747 +msgid "" +"In HTML e-mails, this will be the heading at the top of the email - the same" +" context is available as in plain_text, below." +msgstr "" + +#: models.py:753 +msgid "Plain Text" +msgstr "" + +#: models.py:754 +msgid "" +"The context available to you includes {{ ticket }}, {{ queue }}, and " +"depending on the time of the call: {{ resolution }} or {{ comment }}." +msgstr "" + +#: models.py:760 +msgid "HTML" +msgstr "" + +#: models.py:761 +msgid "The same context is available here as in plain_text, above." +msgstr "" + +#: models.py:770 +msgid "Locale of this template." +msgstr "" + +#: models.py:817 templates/helpdesk/kb_index.html:10 +#: templates/helpdesk/public_homepage.html:10 +msgid "Category" +msgstr "" + +#: models.py:826 +msgid "Question" +msgstr "" + +#: models.py:830 +msgid "Answer" +msgstr "" + +#: models.py:834 +msgid "Votes" +msgstr "" + +#: models.py:835 +msgid "Total number of votes cast for this item" +msgstr "" + +#: models.py:840 +msgid "Positive Votes" +msgstr "" + +#: models.py:841 +msgid "Number of votes for this item which were POSITIVE." +msgstr "" + +#: models.py:846 +msgid "Last Updated" +msgstr "" + +#: models.py:847 +msgid "The date on which this question was most recently changed." +msgstr "" + +#: models.py:861 +msgid "Unrated" +msgstr "" + +#: models.py:892 templates/helpdesk/ticket_list.html:158 +msgid "Query Name" +msgstr "" + +#: models.py:894 +msgid "User-provided name for this query" +msgstr "" + +#: models.py:898 +msgid "Shared With Other Users?" +msgstr "" + +#: models.py:901 +msgid "Should other users see this query?" +msgstr "" + +#: models.py:905 +msgid "Search Query" +msgstr "" + +#: models.py:906 +msgid "Pickled query object. Be wary changing this." +msgstr "" + +#: models.py:927 +msgid "Settings Dictionary" +msgstr "" + +#: models.py:928 +msgid "" +"This is a base64-encoded representation of a pickled Python dictionary. Do " +"not change this field via the admin." +msgstr "" + +#: models.py:997 +msgid "" +"Leave blank for this e-mail to be ignored on all queues, or select those " +"queues you wish to ignore this e-mail for." +msgstr "" + +#: models.py:1009 +msgid "Date on which this e-mail address was added" +msgstr "" + +#: models.py:1017 +msgid "" +"Enter a full e-mail address, or portions with wildcards, eg *@domain.com or " +"postmaster@*." +msgstr "" + +#: models.py:1022 +msgid "Save Emails in Mailbox?" +msgstr "" + +#: models.py:1025 +msgid "" +"Do you want to save emails from this address in the mailbox? If this is " +"unticked, emails from this address will be deleted." +msgstr "" + +#: models.py:1080 +msgid "User who wishes to receive updates for this ticket." +msgstr "" + +#: models.py:1088 +msgid "For non-user followers, enter their e-mail address" +msgstr "" + +#: models.py:1092 +msgid "Can View Ticket?" +msgstr "" + +#: models.py:1094 +msgid "Can this CC login to view the ticket details?" +msgstr "" + +#: models.py:1098 +msgid "Can Update Ticket?" +msgstr "" + +#: models.py:1100 +msgid "Can this CC login and update the ticket?" +msgstr "" + +#: models.py:1131 +msgid "Field Name" +msgstr "" + +#: models.py:1132 +msgid "" +"As used in the database and behind the scenes. Must be unique and consist of" +" only lowercase letters with no punctuation." +msgstr "" + +#: models.py:1137 +msgid "Label" +msgstr "" + +#: models.py:1139 +msgid "The display label for this field" +msgstr "" + +#: models.py:1143 +msgid "Help Text" +msgstr "" + +#: models.py:1144 +msgid "Shown to the user when editing the ticket" +msgstr "" + +#: models.py:1150 +msgid "Character (single line)" +msgstr "" + +#: models.py:1151 +msgid "Text (multi-line)" +msgstr "" + +#: models.py:1152 +msgid "Integer" +msgstr "" + +#: models.py:1153 +msgid "Decimal" +msgstr "" + +#: models.py:1154 +msgid "List" +msgstr "" + +#: models.py:1155 +msgid "Boolean (checkbox yes/no)" +msgstr "" + +#: models.py:1157 +msgid "Time" +msgstr "" + +#: models.py:1158 +msgid "Date & Time" +msgstr "" + +#: models.py:1160 +msgid "URL" +msgstr "" + +#: models.py:1161 +msgid "IP Address" +msgstr "" + +#: models.py:1166 +msgid "Data Type" +msgstr "" + +#: models.py:1168 +msgid "Allows you to restrict the data entered into this field" +msgstr "" + +#: models.py:1173 +msgid "Maximum Length (characters)" +msgstr "" + +#: models.py:1179 +msgid "Decimal Places" +msgstr "" + +#: models.py:1180 +msgid "Only used for decimal fields" +msgstr "" + +#: models.py:1186 +msgid "Add empty first choice to List?" +msgstr "" + +#: models.py:1187 +msgid "" +"Only for List: adds an empty first entry to the choices list, which enforces" +" that the user makes an active choice." +msgstr "" + +#: models.py:1191 +msgid "List Values" +msgstr "" + +#: models.py:1192 +msgid "For list fields only. Enter one option per line." +msgstr "" + +#: models.py:1198 +msgid "Ordering" +msgstr "" + +#: models.py:1199 +msgid "Lower numbers are displayed first; higher numbers are listed later" +msgstr "" + +#: models.py:1213 +msgid "Required?" +msgstr "" + +#: models.py:1214 +msgid "Does the user have to enter a value for this field?" +msgstr "" + +#: models.py:1218 +msgid "Staff Only?" +msgstr "" + +#: models.py:1219 +msgid "" +"If this is ticked, then the public submission form will NOT show this field" +msgstr "" + +#: models.py:1262 +msgid "Depends On Ticket" +msgstr "" + +#: management/commands/create_usersettings.py:21 +msgid "" +"Check for user without django-helpdesk UserSettings and create settings if " +"required. Uses settings.DEFAULT_USER_SETTINGS which can be overridden to " +"suit your situation." +msgstr "" + +#: management/commands/escalate_tickets.py:143 +#, python-format +msgid "Ticket escalated after %s days" +msgstr "" + +#: management/commands/get_email.py:151 +msgid "Created from e-mail" +msgstr "" + +#: management/commands/get_email.py:155 +msgid "Unknown Sender" +msgstr "" + +#: management/commands/get_email.py:209 +msgid "" +"No plain-text email body available. Please see attachment " +"email_html_body.html." +msgstr "" + +#: management/commands/get_email.py:213 +msgid "email_html_body.html" +msgstr "" + +#: management/commands/get_email.py:256 +#, python-format +msgid "E-Mail Received from %(sender_email)s" +msgstr "" + +#: management/commands/get_email.py:264 +#, python-format +msgid "Ticket Re-Opened by E-Mail Received from %(sender_email)s" +msgstr "" + +#: management/commands/get_email.py:322 +msgid " (Reopened)" +msgstr "" + +#: management/commands/get_email.py:324 +msgid " (Updated)" +msgstr "" + +#: templates/helpdesk/attribution.html:2 +msgid "" +"Powered by django-" +"helpdesk." +msgstr "" + +#: templates/helpdesk/attribution.html:4 +msgid "For technical support please contact:" +msgstr "" + +#: templates/helpdesk/base.html:9 +msgid "Powered by django-helpdesk" +msgstr "" + +#: templates/helpdesk/base.html:19 templates/helpdesk/rss_list.html:9 +#: templates/helpdesk/rss_list.html:23 templates/helpdesk/rss_list.html:28 +msgid "My Open Tickets" +msgstr "" + +#: templates/helpdesk/base.html:20 +msgid "All Recent Activity" +msgstr "" + +#: templates/helpdesk/base.html:21 templates/helpdesk/dashboard.html:76 +#: templates/helpdesk/rss_list.html:15 +msgid "Unassigned Tickets" +msgstr "" + +#: templates/helpdesk/base.html:101 templates/helpdesk/public_base.html:6 +#: templates/helpdesk/public_base.html:14 +msgid "Helpdesk" +msgstr "" + +#: templates/helpdesk/base.html:111 templates/helpdesk/rss_list.html:9 +#: templates/helpdesk/rss_list.html:12 templates/helpdesk/rss_list.html:15 +#: templates/helpdesk/rss_list.html:27 templates/helpdesk/rss_list.html:28 +msgid "RSS Icon" +msgstr "" + +#: templates/helpdesk/base.html:111 templates/helpdesk/rss_list.html:2 +#: templates/helpdesk/rss_list.html.py:4 +msgid "RSS Feeds" +msgstr "" + +#: templates/helpdesk/base.html:112 +msgid "API" +msgstr "" + +#: templates/helpdesk/base.html:113 +msgid "User Settings" +msgstr "" + +#: templates/helpdesk/base.html:115 +msgid "Change Language" +msgstr "" + +#: templates/helpdesk/base.html:117 +msgid "System Settings" +msgstr "" + +#: templates/helpdesk/confirm_delete_saved_query.html:3 +#: templates/helpdesk/ticket_list.html:144 +msgid "Delete Saved Query" +msgstr "" + +#: templates/helpdesk/confirm_delete_saved_query.html:5 +#, python-format +msgid "" +"\n" +"

Delete Query

\n" +"\n" +"

Are you sure you want to delete this saved filter (%(query_title)s)? To re-create it, you will need to manually re-filter your ticket listing.

\n" +msgstr "" + +#: templates/helpdesk/confirm_delete_saved_query.html:11 +msgid "" +"\n" +"

You have shared this query, so other users may be using it. If you delete it, they will have to manually create their own query.

\n" +msgstr "" + +#: templates/helpdesk/confirm_delete_saved_query.html:15 +#: templates/helpdesk/delete_ticket.html:11 +msgid "No, Don't Delete It" +msgstr "" + +#: templates/helpdesk/confirm_delete_saved_query.html:17 +#: templates/helpdesk/delete_ticket.html:13 +msgid "Yes - Delete It" +msgstr "" + +#: templates/helpdesk/create_ticket.html:3 +msgid "Create Ticket" +msgstr "" + +#: templates/helpdesk/create_ticket.html:6 +msgid "" +"

Submit a Ticket

\n" +"\n" +"

Unless otherwise stated, all fields are required. Please provide as descriptive a title and description as possible.

" +msgstr "" + +#: templates/helpdesk/create_ticket.html:17 +#: templates/helpdesk/edit_ticket.html:19 +#: templates/helpdesk/public_homepage.html:50 +msgid "(Optional)" +msgstr "" + +#: templates/helpdesk/create_ticket.html:26 +#: templates/helpdesk/public_homepage.html:59 +msgid "Submit Ticket" +msgstr "" + +#: templates/helpdesk/dashboard.html:2 +msgid "Helpdesk Dashboard" +msgstr "" + +#: templates/helpdesk/dashboard.html:10 +msgid "Helpdesk Summary" +msgstr "" + +#: templates/helpdesk/dashboard.html:25 +msgid "" +"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." +msgstr "" + +#: templates/helpdesk/dashboard.html:27 +msgid "" +"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?" +msgstr "" + +#: templates/helpdesk/dashboard.html:36 +msgid "All Tickets submitted by you" +msgstr "" + +#: templates/helpdesk/dashboard.html:37 templates/helpdesk/dashboard.html:57 +#: templates/helpdesk/dashboard.html:77 templates/helpdesk/dashboard.html:99 +#: templates/helpdesk/ticket_list.html:199 +msgid "Pr" +msgstr "" + +#: templates/helpdesk/dashboard.html:37 templates/helpdesk/dashboard.html:57 +#: templates/helpdesk/dashboard.html:99 +msgid "Last Update" +msgstr "" + +#: templates/helpdesk/dashboard.html:56 +msgid "Open Tickets assigned to you (you are working on this ticket)" +msgstr "" + +#: templates/helpdesk/dashboard.html:69 +msgid "You have no tickets assigned to you." +msgstr "" + +#: templates/helpdesk/dashboard.html:76 +msgid "(pick up a ticket if you start to work on it)" +msgstr "" + +#: templates/helpdesk/dashboard.html:85 +#: templates/helpdesk/ticket_desc_table.html:22 +msgid "Take" +msgstr "" + +#: templates/helpdesk/dashboard.html:85 +#: templates/helpdesk/email_ignore_list.html:13 +#: templates/helpdesk/email_ignore_list.html:23 +#: templates/helpdesk/ticket_cc_list.html:15 +#: templates/helpdesk/ticket_cc_list.html:23 +#: templates/helpdesk/ticket_list.html:234 +msgid "Delete" +msgstr "" + +#: templates/helpdesk/dashboard.html:89 +msgid "There are no unassigned tickets." +msgstr "" + +#: templates/helpdesk/dashboard.html:98 +msgid "Closed & resolved Tickets you used to work on" +msgstr "" + +#: templates/helpdesk/delete_ticket.html:3 +msgid "Delete Ticket" +msgstr "" + +#: templates/helpdesk/delete_ticket.html:5 +#, python-format +msgid "" +"\n" +"

Delete Ticket

\n" +"\n" +"

Are you sure you want to delete this ticket (%(ticket_title)s)? All traces of the ticket, including followups, attachments, and updates will be irreversably removed.

\n" +msgstr "" + +#: templates/helpdesk/edit_ticket.html:3 +msgid "Edit Ticket" +msgstr "" + +#: templates/helpdesk/edit_ticket.html:6 +msgid "" +"

Edit a Ticket

\n" +"\n" +"

Unless otherwise stated, all fields are required. Please provide as descriptive a title and description as possible.

\n" +"\n" +"

Note: Editing a ticket does not send an e-mail to the ticket owner or submitter. No new details should be entered, this form should only be used to fix incorrect details or clean up the submission.

" +msgstr "" + +#: templates/helpdesk/edit_ticket.html:28 +msgid "Save Changes" +msgstr "" + +#: templates/helpdesk/email_ignore_add.html:3 +#: templates/helpdesk/email_ignore_add.html:23 +msgid "Ignore E-Mail Address" +msgstr "" + +#: templates/helpdesk/email_ignore_add.html:5 +msgid "" +"\n" +"

Ignore E-Mail Address

\n" +"\n" +"

To ignore an e-mail address and prevent any emails from that address creating tickets automatically, enter the e-mail address below.

\n" +"\n" +"

You can either enter a whole e-mail address such as email@domain.com or a portion of an e-mail address with a wildcard, such as *@domain.com or user@*.

" +msgstr "" + +#: templates/helpdesk/email_ignore_del.html:3 +msgid "Delete Ignored E-Mail Address" +msgstr "" + +#: templates/helpdesk/email_ignore_del.html:5 +#, python-format +msgid "" +"\n" +"

Un-Ignore E-Mail Address

\n" +"\n" +"

Are you sure you wish to stop removing this email address (%(email_address)s) and allow their e-mails to automatically create tickets in your system? You can re-add this e-mail address at any time.

\n" +msgstr "" + +#: templates/helpdesk/email_ignore_del.html:11 +msgid "Keep Ignoring It" +msgstr "" + +#: templates/helpdesk/email_ignore_del.html:13 +msgid "Stop Ignoring It" +msgstr "" + +#: templates/helpdesk/email_ignore_list.html:3 +#: templates/helpdesk/email_ignore_list.html:12 +msgid "Ignored E-Mail Addresses" +msgstr "" + +#: templates/helpdesk/email_ignore_list.html:5 +msgid "" +"\n" +"

Ignored E-Mail Addresses

\n" +"\n" +"

The following e-mail addresses are currently being ignored by the incoming e-mail processor. You can add a new e-mail address to the list or delete any of the items below as required.

" +msgstr "" + +#: templates/helpdesk/email_ignore_list.html:13 +msgid "Date Added" +msgstr "" + +#: templates/helpdesk/email_ignore_list.html:13 +msgid "Queues" +msgstr "" + +#: templates/helpdesk/email_ignore_list.html:13 +msgid "Keep in mailbox?" +msgstr "" + +#: templates/helpdesk/email_ignore_list.html:21 +#: templates/helpdesk/ticket_list.html:232 +msgid "All" +msgstr "" + +#: templates/helpdesk/email_ignore_list.html:22 +msgid "Keep" +msgstr "" + +#: templates/helpdesk/email_ignore_list.html:29 +msgid "" +"Note: If the 'Keep' option is not selected, emails sent " +"from that address will be deleted permanently." +msgstr "" + +#: templates/helpdesk/followup_edit.html:2 +msgid "Edit followup" +msgstr "" + +#: templates/helpdesk/followup_edit.html:9 +msgid "Edit FollowUp" +msgstr "" + +#: templates/helpdesk/followup_edit.html:14 +msgid "Reassign ticket:" +msgstr "" + +#: templates/helpdesk/followup_edit.html:16 +msgid "Title:" +msgstr "" + +#: templates/helpdesk/followup_edit.html:18 +msgid "Comment:" +msgstr "" + +#: templates/helpdesk/kb_category.html:4 +#: templates/helpdesk/kb_category.html:11 +#, python-format +msgid "Knowledgebase Category: %(kbcat)s" +msgstr "" + +#: templates/helpdesk/kb_category.html:6 +#, python-format +msgid "You are viewing all items in the %(kbcat)s category." +msgstr "" + +#: templates/helpdesk/kb_category.html:12 +msgid "Article" +msgstr "" + +#: templates/helpdesk/kb_index.html:4 templates/helpdesk/navigation.html:11 +#: templates/helpdesk/navigation.html:33 +msgid "Knowledgebase" +msgstr "" + +#: templates/helpdesk/kb_index.html:6 +msgid "" +"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." +msgstr "" + +#: templates/helpdesk/kb_index.html:9 +#: templates/helpdesk/public_homepage.html:9 +msgid "Knowledgebase Categories" +msgstr "" + +#: templates/helpdesk/kb_item.html:4 +#, python-format +msgid "Knowledgebase: %(item)s" +msgstr "" + +#: templates/helpdesk/kb_item.html:13 +#, python-format +msgid "" +"View other %(category_title)s " +"articles, or continue viewing other knowledgebase " +"articles." +msgstr "" + +#: templates/helpdesk/kb_item.html:15 +msgid "Feedback" +msgstr "" + +#: templates/helpdesk/kb_item.html:17 +msgid "" +"We give our users an opportunity to vote for items that they believe have " +"helped them out, in order for us to better serve future customers. We would " +"appreciate your feedback on this article. Did you find it useful?" +msgstr "" + +#: templates/helpdesk/kb_item.html:20 +msgid "This article was useful to me" +msgstr "" + +#: templates/helpdesk/kb_item.html:21 +msgid "This article was not useful to me" +msgstr "" + +#: templates/helpdesk/kb_item.html:24 +msgid "The results of voting by other readers of this article are below:" +msgstr "" + +#: templates/helpdesk/kb_item.html:27 +#, python-format +msgid "Recommendations: %(recommendations)s" +msgstr "" + +#: templates/helpdesk/kb_item.html:28 +#, python-format +msgid "Votes: %(votes)s" +msgstr "" + +#: templates/helpdesk/kb_item.html:29 +#, python-format +msgid "Overall Rating: %(score)s" +msgstr "" + +#: templates/helpdesk/navigation.html:4 +msgid "Dashboard" +msgstr "" + +#: templates/helpdesk/navigation.html:5 +#: templates/helpdesk/ticket_list.html:198 +msgid "Tickets" +msgstr "" + +#: templates/helpdesk/navigation.html:6 +msgid "New Ticket" +msgstr "" + +#: templates/helpdesk/navigation.html:8 +msgid "Stats" +msgstr "" + +#: templates/helpdesk/navigation.html:14 +#: templates/helpdesk/ticket_list.html:46 +msgid "Load Saved Query" +msgstr "" + +#: templates/helpdesk/navigation.html:25 templates/helpdesk/navigation.html:35 +msgid "Logout" +msgstr "" + +#: templates/helpdesk/navigation.html:26 +msgid "Search..." +msgstr "" + +#: templates/helpdesk/navigation.html:26 +msgid "Enter a keyword, or a ticket number to jump straight to that ticket." +msgstr "" + +#: templates/helpdesk/navigation.html:31 +msgid "Submit A Ticket" +msgstr "" + +#: templates/helpdesk/navigation.html:35 +msgid "Log In" +msgstr "" + +#: templates/helpdesk/public_change_language.html:2 +#: templates/helpdesk/public_homepage.html:21 +#: templates/helpdesk/public_view_form.html:4 +#: templates/helpdesk/public_view_ticket.html:2 +msgid "View a Ticket" +msgstr "" + +#: templates/helpdesk/public_change_language.html:5 +msgid "Change the display language" +msgstr "" + +#: templates/helpdesk/public_homepage.html:6 +msgid "Knowledgebase Articles" +msgstr "" + +#: templates/helpdesk/public_homepage.html:29 +#: templates/helpdesk/public_view_form.html:15 +msgid "Your E-mail Address" +msgstr "" + +#: templates/helpdesk/public_homepage.html:33 +#: templates/helpdesk/public_view_form.html:19 +msgid "View Ticket" +msgstr "" + +#: templates/helpdesk/public_homepage.html:39 +msgid "Submit a Ticket" +msgstr "" + +#: templates/helpdesk/public_homepage.html:41 +msgid "" +"All fields are required. Please provide as descriptive a title and " +"description as possible." +msgstr "" + +#: templates/helpdesk/public_homepage.html:67 +msgid "Please use button at upper right to login first." +msgstr "" + +#: templates/helpdesk/public_spam.html:4 +msgid "Unable To Open Ticket" +msgstr "" + +#: templates/helpdesk/public_spam.html:6 +msgid "" +"

Sorry, but there has been an error trying to submit your ticket.

\n" +"\n" +"

Our system has marked your submission as spam, so we are unable to save it. If this is not spam, please press back and re-type your message. Be careful to avoid sounding 'spammy', and if you have heaps of links please try removing them if possible.

\n" +"\n" +"

We are sorry for any inconvenience, however this check is required to avoid our helpdesk resources being overloaded by spammers.

\n" +msgstr "" + +#: templates/helpdesk/public_view_form.html:8 +msgid "Error:" +msgstr "" + +#: templates/helpdesk/public_view_ticket.html:8 +#, python-format +msgid "Queue: %(queue_name)s" +msgstr "" + +#: templates/helpdesk/public_view_ticket.html:11 +#: templates/helpdesk/ticket_desc_table.html:16 +msgid "Submitted On" +msgstr "" + +#: templates/helpdesk/public_view_ticket.html:46 +#: templates/helpdesk/ticket_desc_table.html:74 +msgid "Accept" +msgstr "" + +#: templates/helpdesk/public_view_ticket.html:46 +#: templates/helpdesk/ticket_desc_table.html:74 +msgid "Accept and Close" +msgstr "" + +#: templates/helpdesk/public_view_ticket.html:55 +#: templates/helpdesk/ticket.html:64 +msgid "Follow-Ups" +msgstr "" + +#: templates/helpdesk/public_view_ticket.html:63 +#: templates/helpdesk/ticket.html:92 +#, python-format +msgid "Changed %(field)s from %(old_value)s to %(new_value)s." +msgstr "" + +#: templates/helpdesk/report_index.html:3 +#: templates/helpdesk/report_index.html:6 +#: templates/helpdesk/report_output.html:3 +#: templates/helpdesk/report_output.html:16 +msgid "Reports & Statistics" +msgstr "" + +#: templates/helpdesk/report_index.html:9 +msgid "You haven't created any tickets yet, so you cannot run any reports." +msgstr "" + +#: templates/helpdesk/report_index.html:13 +msgid "Reports By User" +msgstr "" + +#: templates/helpdesk/report_index.html:15 +#: templates/helpdesk/report_index.html:24 +msgid "by Priority" +msgstr "" + +#: templates/helpdesk/report_index.html:16 +msgid "by Queue" +msgstr "" + +#: templates/helpdesk/report_index.html:17 +#: templates/helpdesk/report_index.html:25 +msgid "by Status" +msgstr "" + +#: templates/helpdesk/report_index.html:18 +#: templates/helpdesk/report_index.html:26 +msgid "by Month" +msgstr "" + +#: templates/helpdesk/report_index.html:22 +msgid "Reports By Queue" +msgstr "" + +#: templates/helpdesk/report_output.html:19 +msgid "" +"You can run this query on filtered data by using one of your saved queries." +msgstr "" + +#: templates/helpdesk/report_output.html:21 +msgid "Select Query:" +msgstr "" + +#: templates/helpdesk/report_output.html:26 +msgid "Filter Report" +msgstr "" + +#: templates/helpdesk/report_output.html:29 +msgid "" +"Want to filter this report to just show a subset of data? Go to the Ticket " +"List, filter your query, and save your query." +msgstr "" + +#: templates/helpdesk/rss_list.html:6 +msgid "" +"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." +msgstr "" + +#: templates/helpdesk/rss_list.html:10 +msgid "" +"A summary of your open tickets - useful for getting alerted to new tickets " +"opened for you" +msgstr "" + +#: templates/helpdesk/rss_list.html:12 +msgid "Latest Activity" +msgstr "" + +#: templates/helpdesk/rss_list.html:13 +msgid "" +"A summary of all helpdesk activity - including comments, emails, " +"attachments, and more" +msgstr "" + +#: templates/helpdesk/rss_list.html:16 +msgid "" +"All unassigned tickets - useful for being alerted to new tickets opened by " +"the public via the web or via e-mail" +msgstr "" + +#: templates/helpdesk/rss_list.html:19 +msgid "" +"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." +msgstr "" + +#: templates/helpdesk/rss_list.html:22 +msgid "Per-Queue Feeds" +msgstr "" + +#: templates/helpdesk/rss_list.html:23 +msgid "All Open Tickets" +msgstr "" + +#: templates/helpdesk/rss_list.html:27 +msgid "Open Tickets" +msgstr "" + +#: templates/helpdesk/system_settings.html:3 +msgid "Change System Settings" +msgstr "" + +#: templates/helpdesk/system_settings.html:5 +msgid "" +"\n" +"

System Settings

\n" +"\n" +"

The following items can be maintained by you or other superusers:

" +msgstr "" + +#: templates/helpdesk/system_settings.html:11 +msgid "E-Mail Ignore list" +msgstr "" + +#: templates/helpdesk/system_settings.html:12 +msgid "Maintain Queues" +msgstr "" + +#: templates/helpdesk/system_settings.html:13 +msgid "Maintain Pre-Set Replies" +msgstr "" + +#: templates/helpdesk/system_settings.html:14 +msgid "Maintain Knowledgebase Categories" +msgstr "" + +#: templates/helpdesk/system_settings.html:15 +msgid "Maintain Knowledgebase Items" +msgstr "" + +#: templates/helpdesk/system_settings.html:16 +msgid "Maintain E-Mail Templates" +msgstr "" + +#: templates/helpdesk/system_settings.html:17 +msgid "Maintain Users" +msgstr "" + +#: templates/helpdesk/ticket.html:2 +msgid "View Ticket Details" +msgstr "" + +#: templates/helpdesk/ticket.html:34 +msgid "Attach another File" +msgstr "" + +#: templates/helpdesk/ticket.html:34 templates/helpdesk/ticket.html.py:197 +msgid "Add Another File" +msgstr "" + +#: templates/helpdesk/ticket.html:71 templates/helpdesk/ticket.html.py:81 +msgid "Private" +msgstr "" + +#: templates/helpdesk/ticket.html:111 +msgid "Respond to this ticket" +msgstr "" + +#: templates/helpdesk/ticket.html:118 +msgid "Use a Pre-set Reply" +msgstr "" + +#: templates/helpdesk/ticket.html:120 +msgid "" +"Selecting a pre-set reply will over-write your comment below. You can then " +"modify the pre-set reply to your liking before saving this update." +msgstr "" + +#: templates/helpdesk/ticket.html:123 +msgid "Comment / Resolution" +msgstr "" + +#: templates/helpdesk/ticket.html:125 +msgid "" +"You can insert ticket and queue details in your message. For more " +"information, see the context help page." +msgstr "" + +#: templates/helpdesk/ticket.html:128 +msgid "" +"This ticket cannot be resolved or closed until the tickets it depends on are" +" resolved." +msgstr "" + +#: templates/helpdesk/ticket.html:158 +msgid "Is this update public?" +msgstr "" + +#: templates/helpdesk/ticket.html:160 +msgid "" +"If this is public, the submitter will be e-mailed your comment or " +"resolution." +msgstr "" + +#: templates/helpdesk/ticket.html:164 +msgid "Change Further Details »" +msgstr "" + +#: templates/helpdesk/ticket.html:173 templates/helpdesk/ticket_list.html:55 +#: templates/helpdesk/ticket_list.html:87 +#: templates/helpdesk/ticket_list.html:199 +msgid "Owner" +msgstr "" + +#: templates/helpdesk/ticket.html:174 +msgid "Unassign" +msgstr "" + +#: templates/helpdesk/ticket.html:190 +msgid "Attach File(s) »" +msgstr "" + +#: templates/helpdesk/ticket.html:196 +msgid "Attach a File" +msgstr "" + +#: templates/helpdesk/ticket.html:204 +msgid "Update This Ticket" +msgstr "" + +#: templates/helpdesk/ticket_cc_add.html:3 +msgid "Add Ticket CC" +msgstr "" + +#: templates/helpdesk/ticket_cc_add.html:5 +msgid "" +"\n" +"

Add Ticket CC

\n" +"\n" +"

To automatically send an email to a user or e-mail address when this ticket is updated, select the user or enter an e-mail address below.

" +msgstr "" + +#: templates/helpdesk/ticket_cc_add.html:21 +msgid "Save Ticket CC" +msgstr "" + +#: templates/helpdesk/ticket_cc_del.html:3 +msgid "Delete Ticket CC" +msgstr "" + +#: templates/helpdesk/ticket_cc_del.html:5 +#, python-format +msgid "" +"\n" +"

Delete Ticket CC

\n" +"\n" +"

Are you sure you wish to delete this email address (%(email_address)s) from the CC list for this ticket? They will stop receiving updates.

\n" +msgstr "" + +#: templates/helpdesk/ticket_cc_del.html:11 +#: templates/helpdesk/ticket_dependency_del.html:11 +msgid "Don't Delete" +msgstr "" + +#: templates/helpdesk/ticket_cc_del.html:13 +#: templates/helpdesk/ticket_dependency_del.html:13 +msgid "Yes, Delete" +msgstr "" + +#: templates/helpdesk/ticket_cc_list.html:3 +msgid "Ticket CC Settings" +msgstr "" + +#: templates/helpdesk/ticket_cc_list.html:5 +#, python-format +msgid "" +"\n" +"

Ticket CC Settings

\n" +"\n" +"

The following people will receive an e-mail whenever %(ticket_title)s is updated. Some people can also view or edit the ticket via the public ticket views.

\n" +"\n" +"

You can add a new e-mail address to the list or delete any of the items below as required.

" +msgstr "" + +#: templates/helpdesk/ticket_cc_list.html:14 +msgid "Ticket CC List" +msgstr "" + +#: templates/helpdesk/ticket_cc_list.html:15 +msgid "View?" +msgstr "" + +#: templates/helpdesk/ticket_cc_list.html:15 +msgid "Update?" +msgstr "" + +#: templates/helpdesk/ticket_cc_list.html:29 +#, python-format +msgid "Return to %(ticket_title)s" +msgstr "" + +#: templates/helpdesk/ticket_dependency_add.html:3 +msgid "Add Ticket Dependency" +msgstr "" + +#: templates/helpdesk/ticket_dependency_add.html:5 +msgid "" +"\n" +"

Add Ticket Dependency

\n" +"\n" +"

Adding a dependency will stop you resolving this ticket until the dependent ticket has been resolved or closed.

" +msgstr "" + +#: templates/helpdesk/ticket_dependency_add.html:21 +msgid "Save Ticket Dependency" +msgstr "" + +#: templates/helpdesk/ticket_dependency_del.html:3 +msgid "Delete Ticket Dependency" +msgstr "" + +#: templates/helpdesk/ticket_dependency_del.html:5 +msgid "" +"\n" +"

Delete Ticket Dependency

\n" +"\n" +"

Are you sure you wish to remove the dependency on this ticket?

\n" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:11 +msgid "Unhold" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:11 +msgid "Hold" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:13 +#, python-format +msgid "Queue: %(queue)s" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:21 +msgid "Assigned To" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:27 +msgid "Ignore" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:36 +msgid "Copies To" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:37 +msgid "Manage" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:37 +msgid "" +"Click here to add / remove people who should receive an e-mail whenever this" +" ticket is updated." +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:48 +msgid "Dependencies" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:50 +msgid "" +"This ticket cannot be resolved until the following ticket(s) are resolved" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:51 +msgid "Remove Dependency" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:54 +msgid "This ticket has no dependencies." +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:56 +msgid "Add Dependency" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:56 +msgid "" +"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." +msgstr "" + +#: templates/helpdesk/ticket_list.html:2 +msgid "Ticket Listing" +msgstr "" + +#: templates/helpdesk/ticket_list.html:41 +msgid "Query Options" +msgstr "" + +#: templates/helpdesk/ticket_list.html:43 +msgid "Save This Query" +msgstr "" + +#: templates/helpdesk/ticket_list.html:51 +msgid "Change Query" +msgstr "" + +#: templates/helpdesk/ticket_list.html:54 +#: templates/helpdesk/ticket_list.html:69 +msgid "Sorting" +msgstr "" + +#: templates/helpdesk/ticket_list.html:58 +#: templates/helpdesk/ticket_list.html:137 +msgid "Keywords" +msgstr "" + +#: templates/helpdesk/ticket_list.html:59 +msgid "Date Range" +msgstr "" + +#: templates/helpdesk/ticket_list.html:90 +msgid "Reverse" +msgstr "" + +#: templates/helpdesk/ticket_list.html:92 +msgid "Ordering applied to tickets" +msgstr "" + +#: templates/helpdesk/ticket_list.html:97 +msgid "Owner(s)" +msgstr "" + +#: templates/helpdesk/ticket_list.html:101 +msgid "(ME)" +msgstr "" + +#: templates/helpdesk/ticket_list.html:105 +msgid "Ctrl-Click to select multiple options" +msgstr "" + +#: templates/helpdesk/ticket_list.html:110 +msgid "Queue(s)" +msgstr "" + +#: templates/helpdesk/ticket_list.html:111 +#: templates/helpdesk/ticket_list.html:117 +#: templates/helpdesk/ticket_list.html:131 +msgid "Ctrl-click to select multiple options" +msgstr "" + +#: templates/helpdesk/ticket_list.html:116 +msgid "Status(es)" +msgstr "" + +#: templates/helpdesk/ticket_list.html:122 +msgid "Date (From)" +msgstr "" + +#: templates/helpdesk/ticket_list.html:123 +msgid "Date (To)" +msgstr "" + +#: templates/helpdesk/ticket_list.html:124 +msgid "Use YYYY-MM-DD date format, eg 2011-05-29" +msgstr "" + +#: templates/helpdesk/ticket_list.html:130 +msgid "Tag(s)" +msgstr "" + +#: templates/helpdesk/ticket_list.html:138 +msgid "" +"Keywords are case-insensitive, and will be looked for in the title, body and" +" submitter fields." +msgstr "" + +#: templates/helpdesk/ticket_list.html:142 +msgid "Apply Filter" +msgstr "" + +#: templates/helpdesk/ticket_list.html:144 +#, python-format +msgid "You are currently viewing saved query %(query_name)s." +msgstr "" + +#: templates/helpdesk/ticket_list.html:147 +#, python-format +msgid "" +"Run a report on this " +"query to see stats and charts for the data listed below." +msgstr "" + +#: templates/helpdesk/ticket_list.html:154 +#: templates/helpdesk/ticket_list.html:169 +msgid "Save Query" +msgstr "" + +#: templates/helpdesk/ticket_list.html:160 +msgid "" +"This name appears in the drop-down list of saved queries. If you share your " +"query, other users will see this name, so choose something clear and " +"descriptive!" +msgstr "" + +#: templates/helpdesk/ticket_list.html:162 +msgid "Shared?" +msgstr "" + +#: templates/helpdesk/ticket_list.html:163 +msgid "Yes, share this query with other users." +msgstr "" + +#: templates/helpdesk/ticket_list.html:164 +msgid "" +"If you share this query, it will be visible by all other logged-in " +"users." +msgstr "" + +#: templates/helpdesk/ticket_list.html:176 +msgid "Use Saved Query" +msgstr "" + +#: templates/helpdesk/ticket_list.html:178 +msgid "Query" +msgstr "" + +#: templates/helpdesk/ticket_list.html:183 +msgid "Run Query" +msgstr "" + +#: templates/helpdesk/ticket_list.html:213 +msgid "No Tickets Match Your Selection" +msgstr "" + +#: templates/helpdesk/ticket_list.html:219 +msgid "Previous" +msgstr "" + +#: templates/helpdesk/ticket_list.html:223 +#, python-format +msgid "Page %(ticket_num)s of %(num_pages)s." +msgstr "" + +#: templates/helpdesk/ticket_list.html:227 +msgid "Next" +msgstr "" + +#: templates/helpdesk/ticket_list.html:232 +msgid "Select:" +msgstr "" + +#: templates/helpdesk/ticket_list.html:232 +msgid "None" +msgstr "" + +#: templates/helpdesk/ticket_list.html:232 +msgid "Inverse" +msgstr "" + +#: templates/helpdesk/ticket_list.html:234 +msgid "With Selected Tickets:" +msgstr "" + +#: templates/helpdesk/ticket_list.html:234 +msgid "Take (Assign to me)" +msgstr "" + +#: templates/helpdesk/ticket_list.html:234 +msgid "Close" +msgstr "" + +#: templates/helpdesk/ticket_list.html:234 +msgid "Close (Don't Send E-Mail)" +msgstr "" + +#: templates/helpdesk/ticket_list.html:234 +msgid "Close (Send E-Mail)" +msgstr "" + +#: templates/helpdesk/ticket_list.html:234 +msgid "Assign To" +msgstr "" + +#: templates/helpdesk/ticket_list.html:234 +msgid "Nobody (Unassign)" +msgstr "" + +#: templates/helpdesk/user_settings.html:3 +msgid "Change User Settings" +msgstr "" + +#: templates/helpdesk/user_settings.html:14 +msgid "" +"\n" +"

User Settings

\n" +"\n" +"

Use the following options to change the way your helpdesk system works for you. These settings do not impact any other user.

\n" +msgstr "" + +#: templates/helpdesk/user_settings.html:29 +msgid "Save Options" +msgstr "" + +#: templates/helpdesk/registration/logged_out.html:2 +msgid "Logged Out" +msgstr "" + +#: templates/helpdesk/registration/logged_out.html:4 +msgid "" +"\n" +"

Logged Out

\n" +"\n" +"

Thanks for being here. Hopefully you've helped resolve a few tickets and make the world a better place.

\n" +"\n" +msgstr "" + +#: templates/helpdesk/registration/login.html:2 +msgid "Helpdesk Login" +msgstr "" + +#: templates/helpdesk/registration/login.html:9 +#: templates/helpdesk/registration/login.html:21 +msgid "Login" +msgstr "" + +#: templates/helpdesk/registration/login.html:11 +msgid "" +"To log in and begin responding to cases, simply enter your username and " +"password below." +msgstr "" + +#: templates/helpdesk/registration/login.html:14 +msgid "Your username and password didn't match. Please try again." +msgstr "" + +#: templates/helpdesk/registration/login.html:16 +msgid "Username" +msgstr "" + +#: templates/helpdesk/registration/login.html:18 +msgid "Password" +msgstr "" + +#: views/feeds.py:35 +#, python-format +msgid "Helpdesk: Open Tickets in queue %(queue)s for %(username)s" +msgstr "" + +#: views/feeds.py:40 +#, python-format +msgid "Helpdesk: Open Tickets for %(username)s" +msgstr "" + +#: views/feeds.py:46 +#, python-format +msgid "Open and Reopened Tickets in queue %(queue)s for %(username)s" +msgstr "" + +#: views/feeds.py:51 +#, python-format +msgid "Open and Reopened Tickets for %(username)s" +msgstr "" + +#: views/feeds.py:98 +msgid "Helpdesk: Unassigned Tickets" +msgstr "" + +#: views/feeds.py:99 +msgid "Unassigned Open and Reopened tickets" +msgstr "" + +#: views/feeds.py:124 +msgid "Helpdesk: Recent Followups" +msgstr "" + +#: views/feeds.py:125 +msgid "" +"Recent FollowUps, such as e-mail replies, comments, attachments and " +"resolutions" +msgstr "" + +#: views/feeds.py:140 +#, python-format +msgid "Helpdesk: Open Tickets in queue %(queue)s" +msgstr "" + +#: views/feeds.py:145 +#, python-format +msgid "Open and Reopened Tickets in queue %(queue)s" +msgstr "" + +#: views/public.py:91 +msgid "Invalid ticket ID or e-mail address. Please try again." +msgstr "" + +#: views/public.py:109 +msgid "Submitter accepted resolution and closed ticket" +msgstr "" + +#: views/staff.py:218 +msgid "Accepted resolution and closed ticket" +msgstr "" + +#: views/staff.py:246 +msgid "Sorry, you need to login to do that." +msgstr "" + +#: views/staff.py:295 +#, python-format +msgid "Assigned to %(username)s" +msgstr "" + +#: views/staff.py:318 +msgid "Updated" +msgstr "" + +#: views/staff.py:496 +#, python-format +msgid "Assigned to %(username)s in bulk update" +msgstr "" + +#: views/staff.py:501 +msgid "Unassigned in bulk update" +msgstr "" + +#: views/staff.py:506 views/staff.py:511 +msgid "Closed in bulk update" +msgstr "" + +#: views/staff.py:732 +msgid "" +"

Note: Your keyword search is case sensitive because of " +"your database. This means the search will not be accurate. " +"By switching to a different database system you will gain better searching! " +"For more information, read the Django Documentation on string matching in SQLite." +msgstr "" + +#: views/staff.py:843 +msgid "Ticket taken off hold" +msgstr "" + +#: views/staff.py:846 +msgid "Ticket placed on hold" +msgstr "" + +#: views/staff.py:914 +msgid "Jan" +msgstr "" + +#: views/staff.py:915 +msgid "Feb" +msgstr "" + +#: views/staff.py:916 +msgid "Mar" +msgstr "" + +#: views/staff.py:917 +msgid "Apr" +msgstr "" + +#: views/staff.py:918 +msgid "May" +msgstr "" + +#: views/staff.py:919 +msgid "Jun" +msgstr "" + +#: views/staff.py:920 +msgid "Jul" +msgstr "" + +#: views/staff.py:921 +msgid "Aug" +msgstr "" + +#: views/staff.py:922 +msgid "Sep" +msgstr "" + +#: views/staff.py:923 +msgid "Oct" +msgstr "" + +#: views/staff.py:924 +msgid "Nov" +msgstr "" + +#: views/staff.py:925 +msgid "Dec" +msgstr "" + +#: views/staff.py:951 +msgid "User by Priority" +msgstr "" + +#: views/staff.py:957 +msgid "User by Queue" +msgstr "" + +#: views/staff.py:963 +msgid "User by Status" +msgstr "" + +#: views/staff.py:969 +msgid "User by Month" +msgstr "" + +#: views/staff.py:975 +msgid "Queue by Priority" +msgstr "" + +#: views/staff.py:981 +msgid "Queue by Status" +msgstr "" + +#: views/staff.py:987 +msgid "Queue by Month" +msgstr "" diff --git a/helpdesk/locale/cs/LC_MESSAGES/django.mo b/helpdesk/locale/cs/LC_MESSAGES/django.mo new file mode 100644 index 00000000..5057b8bd Binary files /dev/null and b/helpdesk/locale/cs/LC_MESSAGES/django.mo differ diff --git a/helpdesk/locale/cs/LC_MESSAGES/django.po b/helpdesk/locale/cs/LC_MESSAGES/django.po new file mode 100644 index 00000000..9d4c81fc --- /dev/null +++ b/helpdesk/locale/cs/LC_MESSAGES/django.po @@ -0,0 +1,2393 @@ +# django-helpdesk English language translation +# Copyright (C) 2011 Ross Poulton +# This file is distributed under the same license as the django-helpdesk package. +# +# Translators: +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: django-helpdesk\n" +"Report-Msgid-Bugs-To: http://github.com/RossP/django-helpdesk/issues\n" +"POT-Creation-Date: 2014-07-26 14:14+0200\n" +"PO-Revision-Date: 2014-08-01 09:58+0000\n" +"Last-Translator: Ross Poulton \n" +"Language-Team: Czech (http://www.transifex.com/projects/p/django-helpdesk/language/cs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: cs\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#: forms.py:128 forms.py:328 models.py:190 models.py:267 +#: templates/helpdesk/dashboard.html:15 templates/helpdesk/dashboard.html:58 +#: templates/helpdesk/dashboard.html:78 templates/helpdesk/dashboard.html:100 +#: templates/helpdesk/dashboard.html:124 templates/helpdesk/rss_list.html:24 +#: templates/helpdesk/ticket_list.html:69 +#: templates/helpdesk/ticket_list.html:88 +#: templates/helpdesk/ticket_list.html:225 views/staff.py:1032 +#: views/staff.py:1038 views/staff.py:1044 views/staff.py:1050 +msgid "Queue" +msgstr "" + +#: forms.py:137 +msgid "Summary of the problem" +msgstr "" + +#: forms.py:142 +msgid "Submitter E-Mail Address" +msgstr "" + +#: forms.py:144 +msgid "" +"This e-mail address will receive copies of all public updates to this " +"ticket." +msgstr "" + +#: forms.py:150 +msgid "Description of Issue" +msgstr "" + +#: forms.py:157 +msgid "Case owner" +msgstr "" + +#: forms.py:158 +msgid "" +"If you select an owner other than yourself, they'll be e-mailed details of " +"this ticket immediately." +msgstr "" + +#: forms.py:166 models.py:327 management/commands/escalate_tickets.py:154 +#: templates/helpdesk/public_view_ticket.html:23 +#: templates/helpdesk/ticket.html:184 +#: templates/helpdesk/ticket_desc_table.html:47 +#: templates/helpdesk/ticket_list.html:94 views/staff.py:429 +msgid "Priority" +msgstr "" + +#: forms.py:167 +msgid "Please select a priority carefully. If unsure, leave it as '3'." +msgstr "" + +#: forms.py:174 forms.py:365 models.py:335 templates/helpdesk/ticket.html:186 +#: views/staff.py:439 +msgid "Due on" +msgstr "" + +#: forms.py:186 forms.py:370 +msgid "Attach File" +msgstr "" + +#: forms.py:187 forms.py:371 +msgid "You can attach a file such as a document or screenshot to this ticket." +msgstr "" + +#: forms.py:240 +msgid "Ticket Opened" +msgstr "" + +#: forms.py:247 +#, python-format +msgid "Ticket Opened & Assigned to %(name)s" +msgstr "" + +#: forms.py:337 +msgid "Summary of your query" +msgstr "" + +#: forms.py:342 +msgid "Your E-Mail Address" +msgstr "" + +#: forms.py:343 +msgid "We will e-mail you when your ticket is updated." +msgstr "" + +#: forms.py:348 +msgid "Description of your issue" +msgstr "" + +#: forms.py:350 +msgid "" +"Please be as descriptive as possible, including any details we may need to " +"address your query." +msgstr "" + +#: forms.py:358 +msgid "Urgency" +msgstr "" + +#: forms.py:359 +msgid "Please select a priority carefully." +msgstr "" + +#: forms.py:419 +msgid "Ticket Opened Via Web" +msgstr "" + +#: forms.py:486 +msgid "Show Ticket List on Login?" +msgstr "" + +#: forms.py:487 +msgid "Display the ticket list upon login? Otherwise, the dashboard is shown." +msgstr "" + +#: forms.py:492 +msgid "E-mail me on ticket change?" +msgstr "" + +#: forms.py:493 +msgid "" +"If you're the ticket owner and the ticket is changed via the web by somebody" +" else, do you want to receive an e-mail?" +msgstr "" + +#: forms.py:498 +msgid "E-mail me when assigned a ticket?" +msgstr "" + +#: forms.py:499 +msgid "" +"If you are assigned a ticket via the web, do you want to receive an e-mail?" +msgstr "" + +#: forms.py:504 +msgid "E-mail me when a ticket is changed via the API?" +msgstr "" + +#: forms.py:505 +msgid "If a ticket is altered by the API, do you want to receive an e-mail?" +msgstr "" + +#: forms.py:510 +msgid "Number of tickets to show per page" +msgstr "" + +#: forms.py:511 +msgid "How many tickets do you want to see on the Ticket List page?" +msgstr "" + +#: forms.py:518 +msgid "Use my e-mail address when submitting tickets?" +msgstr "" + +#: forms.py:519 +msgid "" +"When you submit a ticket, do you want to automatically use your e-mail " +"address as the submitter address? You can type a different e-mail address " +"when entering the ticket if needed, this option only changes the default." +msgstr "" + +#: models.py:35 models.py:261 models.py:503 models.py:817 models.py:853 +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:100 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket.html:178 templates/helpdesk/ticket_list.html:85 +#: templates/helpdesk/ticket_list.html:225 views/staff.py:419 +msgid "Title" +msgstr "" + +#: models.py:40 models.py:822 models.py:1206 +msgid "Slug" +msgstr "" + +#: models.py:41 +msgid "" +"This slug is used when building ticket ID's. Once set, try not to change it " +"or e-mailing may get messy." +msgstr "" + +#: models.py:46 models.py:1054 models.py:1129 models.py:1203 +#: templates/helpdesk/email_ignore_list.html:13 +#: templates/helpdesk/ticket_cc_list.html:15 +msgid "E-Mail Address" +msgstr "" + +#: models.py:49 +msgid "" +"All outgoing e-mails for this queue will use this e-mail address. If you use" +" IMAP or POP3, this should be the e-mail address for that mailbox." +msgstr "" + +#: models.py:55 models.py:794 +msgid "Locale" +msgstr "" + +#: models.py:59 +msgid "" +"Locale of this queue. All correspondence in this queue will be in this " +"language." +msgstr "" + +#: models.py:63 +msgid "Allow Public Submission?" +msgstr "" + +#: models.py:66 +msgid "Should this queue be listed on the public submission form?" +msgstr "" + +#: models.py:71 +msgid "Allow E-Mail Submission?" +msgstr "" + +#: models.py:74 +msgid "Do you want to poll the e-mail box below for new tickets?" +msgstr "" + +#: models.py:79 +msgid "Escalation Days" +msgstr "" + +#: models.py:82 +msgid "" +"For tickets which are not held, how often do you wish to increase their " +"priority? Set to 0 for no escalation." +msgstr "" + +#: models.py:87 +msgid "New Ticket CC Address" +msgstr "" + +#: models.py:91 +msgid "" +"If an e-mail address is entered here, then it will receive notification of " +"all new tickets created for this queue. Enter a comma between multiple " +"e-mail addresses." +msgstr "" + +#: models.py:97 +msgid "Updated Ticket CC Address" +msgstr "" + +#: models.py:101 +msgid "" +"If an e-mail address is entered here, then it will receive notification of " +"all activity (new tickets, closed tickets, updates, reassignments, etc) for " +"this queue. Separate multiple addresses with a comma." +msgstr "" + +#: models.py:108 +msgid "E-Mail Box Type" +msgstr "" + +#: models.py:110 +msgid "POP 3" +msgstr "" + +#: models.py:110 +msgid "IMAP" +msgstr "" + +#: models.py:113 +msgid "" +"E-Mail server type for creating tickets automatically from a mailbox - both " +"POP3 and IMAP are supported." +msgstr "" + +#: models.py:118 +msgid "E-Mail Hostname" +msgstr "" + +#: models.py:122 +msgid "" +"Your e-mail server address - either the domain name or IP address. May be " +"\"localhost\"." +msgstr "" + +#: models.py:127 +msgid "E-Mail Port" +msgstr "" + +#: models.py:130 +msgid "" +"Port number to use for accessing e-mail. Default for POP3 is \"110\", and " +"for IMAP is \"143\". This may differ on some servers. Leave it blank to use " +"the defaults." +msgstr "" + +#: models.py:136 +msgid "Use SSL for E-Mail?" +msgstr "" + +#: models.py:139 +msgid "" +"Whether to use SSL for IMAP or POP3 - the default ports when using SSL are " +"993 for IMAP and 995 for POP3." +msgstr "" + +#: models.py:144 +msgid "E-Mail Username" +msgstr "" + +#: models.py:148 +msgid "Username for accessing this mailbox." +msgstr "" + +#: models.py:152 +msgid "E-Mail Password" +msgstr "" + +#: models.py:156 +msgid "Password for the above username" +msgstr "" + +#: models.py:160 +msgid "IMAP Folder" +msgstr "" + +#: models.py:164 +msgid "" +"If using IMAP, what folder do you wish to fetch messages from? This allows " +"you to use one IMAP account for multiple queues, by filtering messages on " +"your IMAP server into separate folders. Default: INBOX." +msgstr "" + +#: models.py:171 +msgid "E-Mail Check Interval" +msgstr "" + +#: models.py:172 +msgid "How often do you wish to check this mailbox? (in Minutes)" +msgstr "" + +#: models.py:191 templates/helpdesk/email_ignore_list.html:13 +msgid "Queues" +msgstr "" + +#: models.py:245 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:138 +msgid "Open" +msgstr "" + +#: models.py:246 templates/helpdesk/ticket.html:144 +#: templates/helpdesk/ticket.html.py:150 templates/helpdesk/ticket.html:155 +#: templates/helpdesk/ticket.html.py:159 +msgid "Reopened" +msgstr "" + +#: models.py:247 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:139 templates/helpdesk/ticket.html.py:145 +#: templates/helpdesk/ticket.html:151 +msgid "Resolved" +msgstr "" + +#: models.py:248 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:140 templates/helpdesk/ticket.html.py:146 +#: templates/helpdesk/ticket.html:152 templates/helpdesk/ticket.html.py:156 +msgid "Closed" +msgstr "" + +#: models.py:249 templates/helpdesk/ticket.html:141 +#: templates/helpdesk/ticket.html.py:147 templates/helpdesk/ticket.html:160 +msgid "Duplicate" +msgstr "" + +#: models.py:253 +msgid "1. Critical" +msgstr "" + +#: models.py:254 +msgid "2. High" +msgstr "" + +#: models.py:255 +msgid "3. Normal" +msgstr "" + +#: models.py:256 +msgid "4. Low" +msgstr "" + +#: models.py:257 +msgid "5. Very Low" +msgstr "" + +#: models.py:271 templates/helpdesk/dashboard.html:100 +#: templates/helpdesk/ticket_list.html:82 +#: templates/helpdesk/ticket_list.html:225 +msgid "Created" +msgstr "" + +#: models.py:273 +msgid "Date this ticket was first created" +msgstr "" + +#: models.py:277 +msgid "Modified" +msgstr "" + +#: models.py:279 +msgid "Date this ticket was most recently changed." +msgstr "" + +#: models.py:283 templates/helpdesk/public_view_ticket.html:18 +#: templates/helpdesk/ticket_desc_table.html:42 +msgid "Submitter E-Mail" +msgstr "" + +#: models.py:286 +msgid "" +"The submitter will receive an email for all public follow-ups left for this " +"task." +msgstr "" + +#: models.py:295 +msgid "Assigned to" +msgstr "" + +#: models.py:299 templates/helpdesk/dashboard.html:58 +#: templates/helpdesk/dashboard.html:78 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket_list.html:70 +#: templates/helpdesk/ticket_list.html:91 +#: templates/helpdesk/ticket_list.html:225 +msgid "Status" +msgstr "" + +#: models.py:305 +msgid "On Hold" +msgstr "" + +#: models.py:308 +msgid "If a ticket is on hold, it will not automatically be escalated." +msgstr "" + +#: models.py:313 models.py:826 templates/helpdesk/public_view_ticket.html:41 +#: templates/helpdesk/ticket_desc_table.html:19 +msgid "Description" +msgstr "" + +#: models.py:316 +msgid "The content of the customers query." +msgstr "" + +#: models.py:320 templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 +msgid "Resolution" +msgstr "" + +#: models.py:323 +msgid "The resolution provided to the customer by our staff." +msgstr "" + +#: models.py:331 +msgid "1 = Highest Priority, 5 = Low Priority" +msgstr "" + +#: models.py:344 +msgid "" +"The date this ticket was last escalated - updated automatically by " +"management/commands/escalate_tickets.py." +msgstr "" + +#: models.py:353 templates/helpdesk/ticket_desc_table.html:38 +#: views/feeds.py:95 views/feeds.py:121 views/feeds.py:173 views/staff.py:376 +msgid "Unassigned" +msgstr "" + +#: models.py:392 +msgid " - On Hold" +msgstr "" + +#: models.py:394 +msgid " - Open dependencies" +msgstr "" + +#: models.py:448 models.py:494 models.py:1117 models.py:1280 models.py:1309 +#: templates/helpdesk/public_homepage.html:78 +#: templates/helpdesk/public_view_form.html:12 +msgid "Ticket" +msgstr "" + +#: models.py:449 templates/helpdesk/navigation.html:17 +#: templates/helpdesk/ticket_list.html:2 +#: templates/helpdesk/ticket_list.html:224 +msgid "Tickets" +msgstr "" + +#: models.py:498 models.py:738 models.py:1047 models.py:1200 +msgid "Date" +msgstr "" + +#: models.py:510 views/staff.py:390 +msgid "Comment" +msgstr "" + +#: models.py:516 +msgid "Public" +msgstr "" + +#: models.py:519 +msgid "" +"Public tickets are viewable by the submitter and all staff, but non-public " +"tickets can only be seen by staff." +msgstr "" + +#: models.py:527 models.py:922 models.py:1125 views/staff.py:1008 +#: views/staff.py:1014 views/staff.py:1020 views/staff.py:1026 +msgid "User" +msgstr "" + +#: models.py:531 templates/helpdesk/ticket.html:135 +msgid "New Status" +msgstr "" + +#: models.py:535 +msgid "If the status was changed, what was it changed to?" +msgstr "" + +#: models.py:542 models.py:566 models.py:628 +msgid "Follow-up" +msgstr "" + +#: models.py:543 +msgid "Follow-ups" +msgstr "" + +#: models.py:570 models.py:1285 +msgid "Field" +msgstr "" + +#: models.py:575 +msgid "Old Value" +msgstr "" + +#: models.py:581 +msgid "New Value" +msgstr "" + +#: models.py:589 +msgid "removed" +msgstr "" + +#: models.py:591 +#, python-format +msgid "set to %s" +msgstr "" + +#: models.py:593 +#, python-format +msgid "changed from \"%(old_value)s\" to \"%(new_value)s\"" +msgstr "" + +#: models.py:600 +msgid "Ticket change" +msgstr "" + +#: models.py:601 +msgid "Ticket changes" +msgstr "" + +#: models.py:632 +msgid "File" +msgstr "" + +#: models.py:637 +msgid "Filename" +msgstr "" + +#: models.py:642 +msgid "MIME Type" +msgstr "" + +#: models.py:647 +msgid "Size" +msgstr "" + +#: models.py:648 +msgid "Size of this file in bytes" +msgstr "" + +#: models.py:665 +msgid "Attachment" +msgstr "" + +#: models.py:666 +msgid "Attachments" +msgstr "" + +#: models.py:685 +msgid "" +"Leave blank to allow this reply to be used for all queues, or select those " +"queues you wish to limit this reply to." +msgstr "" + +#: models.py:690 models.py:733 models.py:1042 +#: templates/helpdesk/email_ignore_list.html:13 +msgid "Name" +msgstr "" + +#: models.py:692 +msgid "" +"Only used to assist users with selecting a reply - not shown to the user." +msgstr "" + +#: models.py:697 +msgid "Body" +msgstr "" + +#: models.py:698 +msgid "" +"Context available: {{ ticket }} - ticket object (eg {{ ticket.title }}); {{ " +"queue }} - The queue; and {{ user }} - the current user." +msgstr "" + +#: models.py:705 +msgid "Pre-set reply" +msgstr "" + +#: models.py:706 +msgid "Pre-set replies" +msgstr "" + +#: models.py:727 +msgid "" +"Leave blank for this exclusion to be applied to all queues, or select those " +"queues you wish to exclude with this entry." +msgstr "" + +#: models.py:739 +msgid "Date on which escalation should not happen" +msgstr "" + +#: models.py:746 +msgid "Escalation exclusion" +msgstr "" + +#: models.py:747 +msgid "Escalation exclusions" +msgstr "" + +#: models.py:760 +msgid "Template Name" +msgstr "" + +#: models.py:765 +msgid "Subject" +msgstr "" + +#: models.py:767 +msgid "" +"This will be prefixed with \"[ticket.ticket] ticket.title\". We recommend " +"something simple such as \"(Updated\") or \"(Closed)\" - the same context is" +" available as in plain_text, below." +msgstr "" + +#: models.py:773 +msgid "Heading" +msgstr "" + +#: models.py:775 +msgid "" +"In HTML e-mails, this will be the heading at the top of the email - the same" +" context is available as in plain_text, below." +msgstr "" + +#: models.py:781 +msgid "Plain Text" +msgstr "" + +#: models.py:782 +msgid "" +"The context available to you includes {{ ticket }}, {{ queue }}, and " +"depending on the time of the call: {{ resolution }} or {{ comment }}." +msgstr "" + +#: models.py:788 +msgid "HTML" +msgstr "" + +#: models.py:789 +msgid "The same context is available here as in plain_text, above." +msgstr "" + +#: models.py:798 +msgid "Locale of this template." +msgstr "" + +#: models.py:806 +msgid "e-mail template" +msgstr "" + +#: models.py:807 +msgid "e-mail templates" +msgstr "" + +#: models.py:834 +msgid "Knowledge base category" +msgstr "" + +#: models.py:835 +msgid "Knowledge base categories" +msgstr "" + +#: models.py:849 templates/helpdesk/kb_index.html:11 +#: templates/helpdesk/public_homepage.html:11 +msgid "Category" +msgstr "" + +#: models.py:858 +msgid "Question" +msgstr "" + +#: models.py:862 +msgid "Answer" +msgstr "" + +#: models.py:866 +msgid "Votes" +msgstr "" + +#: models.py:867 +msgid "Total number of votes cast for this item" +msgstr "" + +#: models.py:872 +msgid "Positive Votes" +msgstr "" + +#: models.py:873 +msgid "Number of votes for this item which were POSITIVE." +msgstr "" + +#: models.py:878 +msgid "Last Updated" +msgstr "" + +#: models.py:879 +msgid "The date on which this question was most recently changed." +msgstr "" + +#: models.py:893 +msgid "Unrated" +msgstr "" + +#: models.py:901 +msgid "Knowledge base item" +msgstr "" + +#: models.py:902 +msgid "Knowledge base items" +msgstr "" + +#: models.py:926 templates/helpdesk/ticket_list.html:170 +msgid "Query Name" +msgstr "" + +#: models.py:928 +msgid "User-provided name for this query" +msgstr "" + +#: models.py:932 +msgid "Shared With Other Users?" +msgstr "" + +#: models.py:935 +msgid "Should other users see this query?" +msgstr "" + +#: models.py:939 +msgid "Search Query" +msgstr "" + +#: models.py:940 +msgid "Pickled query object. Be wary changing this." +msgstr "" + +#: models.py:950 +msgid "Saved search" +msgstr "" + +#: models.py:951 +msgid "Saved searches" +msgstr "" + +#: models.py:966 +msgid "Settings Dictionary" +msgstr "" + +#: models.py:967 +msgid "" +"This is a base64-encoded representation of a pickled Python dictionary. Do " +"not change this field via the admin." +msgstr "" + +#: models.py:993 +msgid "User Setting" +msgstr "" + +#: models.py:994 templates/helpdesk/navigation.html:37 +#: templates/helpdesk/user_settings.html:6 +msgid "User Settings" +msgstr "" + +#: models.py:1036 +msgid "" +"Leave blank for this e-mail to be ignored on all queues, or select those " +"queues you wish to ignore this e-mail for." +msgstr "" + +#: models.py:1048 +msgid "Date on which this e-mail address was added" +msgstr "" + +#: models.py:1056 +msgid "" +"Enter a full e-mail address, or portions with wildcards, eg *@domain.com or " +"postmaster@*." +msgstr "" + +#: models.py:1061 +msgid "Save Emails in Mailbox?" +msgstr "" + +#: models.py:1064 +msgid "" +"Do you want to save emails from this address in the mailbox? If this is " +"unticked, emails from this address will be deleted." +msgstr "" + +#: models.py:1101 +msgid "Ignored e-mail address" +msgstr "" + +#: models.py:1102 +msgid "Ignored e-mail addresses" +msgstr "" + +#: models.py:1124 +msgid "User who wishes to receive updates for this ticket." +msgstr "" + +#: models.py:1132 +msgid "For non-user followers, enter their e-mail address" +msgstr "" + +#: models.py:1136 +msgid "Can View Ticket?" +msgstr "" + +#: models.py:1138 +msgid "Can this CC login to view the ticket details?" +msgstr "" + +#: models.py:1142 +msgid "Can Update Ticket?" +msgstr "" + +#: models.py:1144 +msgid "Can this CC login and update the ticket?" +msgstr "" + +#: models.py:1175 +msgid "Field Name" +msgstr "" + +#: models.py:1176 +msgid "" +"As used in the database and behind the scenes. Must be unique and consist of" +" only lowercase letters with no punctuation." +msgstr "" + +#: models.py:1181 +msgid "Label" +msgstr "" + +#: models.py:1183 +msgid "The display label for this field" +msgstr "" + +#: models.py:1187 +msgid "Help Text" +msgstr "" + +#: models.py:1188 +msgid "Shown to the user when editing the ticket" +msgstr "" + +#: models.py:1194 +msgid "Character (single line)" +msgstr "" + +#: models.py:1195 +msgid "Text (multi-line)" +msgstr "" + +#: models.py:1196 +msgid "Integer" +msgstr "" + +#: models.py:1197 +msgid "Decimal" +msgstr "" + +#: models.py:1198 +msgid "List" +msgstr "" + +#: models.py:1199 +msgid "Boolean (checkbox yes/no)" +msgstr "" + +#: models.py:1201 +msgid "Time" +msgstr "" + +#: models.py:1202 +msgid "Date & Time" +msgstr "" + +#: models.py:1204 +msgid "URL" +msgstr "" + +#: models.py:1205 +msgid "IP Address" +msgstr "" + +#: models.py:1210 +msgid "Data Type" +msgstr "" + +#: models.py:1212 +msgid "Allows you to restrict the data entered into this field" +msgstr "" + +#: models.py:1217 +msgid "Maximum Length (characters)" +msgstr "" + +#: models.py:1223 +msgid "Decimal Places" +msgstr "" + +#: models.py:1224 +msgid "Only used for decimal fields" +msgstr "" + +#: models.py:1230 +msgid "Add empty first choice to List?" +msgstr "" + +#: models.py:1232 +msgid "" +"Only for List: adds an empty first entry to the choices list, which enforces" +" that the user makes an active choice." +msgstr "" + +#: models.py:1236 +msgid "List Values" +msgstr "" + +#: models.py:1237 +msgid "For list fields only. Enter one option per line." +msgstr "" + +#: models.py:1243 +msgid "Ordering" +msgstr "" + +#: models.py:1244 +msgid "Lower numbers are displayed first; higher numbers are listed later" +msgstr "" + +#: models.py:1258 +msgid "Required?" +msgstr "" + +#: models.py:1259 +msgid "Does the user have to enter a value for this field?" +msgstr "" + +#: models.py:1263 +msgid "Staff Only?" +msgstr "" + +#: models.py:1264 +msgid "" +"If this is ticked, then the public submission form will NOT show this field" +msgstr "" + +#: models.py:1273 +msgid "Custom field" +msgstr "" + +#: models.py:1274 +msgid "Custom fields" +msgstr "" + +#: models.py:1297 +msgid "Ticket custom field value" +msgstr "" + +#: models.py:1298 +msgid "Ticket custom field values" +msgstr "" + +#: models.py:1315 +msgid "Depends On Ticket" +msgstr "" + +#: models.py:1324 +msgid "Ticket dependency" +msgstr "" + +#: models.py:1325 +msgid "Ticket dependencies" +msgstr "" + +#: management/commands/create_usersettings.py:25 +msgid "" +"Check for user without django-helpdesk UserSettings and create settings if " +"required. Uses settings.DEFAULT_USER_SETTINGS which can be overridden to " +"suit your situation." +msgstr "" + +#: management/commands/escalate_tickets.py:148 +#, python-format +msgid "Ticket escalated after %s days" +msgstr "" + +#: management/commands/get_email.py:158 +msgid "Created from e-mail" +msgstr "" + +#: management/commands/get_email.py:162 +msgid "Unknown Sender" +msgstr "" + +#: management/commands/get_email.py:216 +msgid "" +"No plain-text email body available. Please see attachment " +"email_html_body.html." +msgstr "" + +#: management/commands/get_email.py:220 +msgid "email_html_body.html" +msgstr "" + +#: management/commands/get_email.py:263 +#, python-format +msgid "E-Mail Received from %(sender_email)s" +msgstr "" + +#: management/commands/get_email.py:271 +#, python-format +msgid "Ticket Re-Opened by E-Mail Received from %(sender_email)s" +msgstr "" + +#: management/commands/get_email.py:329 +msgid " (Reopened)" +msgstr "" + +#: management/commands/get_email.py:331 +msgid " (Updated)" +msgstr "" + +#: templates/helpdesk/attribution.html:2 +msgid "" +"django-helpdesk." +msgstr "" + +#: templates/helpdesk/base.html:10 +msgid "Powered by django-helpdesk" +msgstr "" + +#: templates/helpdesk/base.html:20 templates/helpdesk/rss_list.html:9 +#: templates/helpdesk/rss_list.html:24 templates/helpdesk/rss_list.html:31 +msgid "My Open Tickets" +msgstr "" + +#: templates/helpdesk/base.html:21 +msgid "All Recent Activity" +msgstr "" + +#: templates/helpdesk/base.html:22 templates/helpdesk/dashboard.html:99 +#: templates/helpdesk/rss_list.html:15 +msgid "Unassigned Tickets" +msgstr "" + +#: templates/helpdesk/base.html:52 templates/helpdesk/public_base.html:6 +#: templates/helpdesk/public_base.html:18 +msgid "Helpdesk" +msgstr "" + +#: templates/helpdesk/base.html:62 templates/helpdesk/rss_list.html:9 +#: templates/helpdesk/rss_list.html:12 templates/helpdesk/rss_list.html:15 +#: templates/helpdesk/rss_list.html:30 templates/helpdesk/rss_list.html:31 +msgid "RSS Icon" +msgstr "" + +#: templates/helpdesk/base.html:62 templates/helpdesk/rss_list.html:2 +#: templates/helpdesk/rss_list.html.py:4 +msgid "RSS Feeds" +msgstr "" + +#: templates/helpdesk/base.html:63 +msgid "API" +msgstr "" + +#: templates/helpdesk/base.html:64 templates/helpdesk/system_settings.html:6 +msgid "System Settings" +msgstr "" + +#: templates/helpdesk/confirm_delete_saved_query.html:3 +#: templates/helpdesk/ticket_list.html:146 +msgid "Delete Saved Query" +msgstr "" + +#: templates/helpdesk/confirm_delete_saved_query.html:6 +msgid "Delete Query" +msgstr "" + +#: templates/helpdesk/confirm_delete_saved_query.html:8 +#, python-format +msgid "" +"Are you sure you want to delete this saved filter " +"(%(query_title)s)? To re-create it, you will need to manually re-" +"filter your ticket listing." +msgstr "" + +#: templates/helpdesk/confirm_delete_saved_query.html:11 +msgid "" +"You have shared this query, so other users may be using it. If you delete " +"it, they will have to manually create their own query." +msgstr "" + +#: templates/helpdesk/confirm_delete_saved_query.html:14 +#: templates/helpdesk/delete_ticket.html:10 +msgid "No, Don't Delete It" +msgstr "" + +#: templates/helpdesk/confirm_delete_saved_query.html:16 +#: templates/helpdesk/delete_ticket.html:12 +msgid "Yes - Delete It" +msgstr "" + +#: templates/helpdesk/create_ticket.html:3 +msgid "Create Ticket" +msgstr "" + +#: templates/helpdesk/create_ticket.html:10 +#: templates/helpdesk/navigation.html:65 templates/helpdesk/navigation.html:68 +#: templates/helpdesk/public_homepage.html:27 +msgid "Submit a Ticket" +msgstr "" + +#: templates/helpdesk/create_ticket.html:11 +#: templates/helpdesk/edit_ticket.html:11 +msgid "Unless otherwise stated, all fields are required." +msgstr "" + +#: templates/helpdesk/create_ticket.html:11 +#: templates/helpdesk/edit_ticket.html:11 +#: templates/helpdesk/public_homepage.html:28 +msgid "Please provide as descriptive a title and description as possible." +msgstr "" + +#: templates/helpdesk/create_ticket.html:30 +#: templates/helpdesk/public_homepage.html:55 +msgid "Submit Ticket" +msgstr "" + +#: templates/helpdesk/dashboard.html:2 +msgid "Helpdesk Dashboard" +msgstr "" + +#: templates/helpdesk/dashboard.html:9 +msgid "" +"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." +msgstr "" + +#: templates/helpdesk/dashboard.html:14 +msgid "Helpdesk Summary" +msgstr "" + +#: templates/helpdesk/dashboard.html:36 +msgid "Current Ticket Stats" +msgstr "" + +#: templates/helpdesk/dashboard.html:37 +msgid "Average number of days until ticket is closed (all tickets): " +msgstr "" + +#: templates/helpdesk/dashboard.html:38 +msgid "" +"Average number of days until ticket is closed (tickets opened in last 60 " +"days): " +msgstr "" + +#: templates/helpdesk/dashboard.html:39 +msgid "Click" +msgstr "" + +#: templates/helpdesk/dashboard.html:39 +msgid "for detailed average by month." +msgstr "" + +#: templates/helpdesk/dashboard.html:40 +msgid "Distribution of open tickets, grouped by time period:" +msgstr "" + +#: templates/helpdesk/dashboard.html:41 +msgid "Days since opened" +msgstr "" + +#: templates/helpdesk/dashboard.html:41 +msgid "Number of open tickets" +msgstr "" + +#: templates/helpdesk/dashboard.html:57 +msgid "All Tickets submitted by you" +msgstr "" + +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:100 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket_list.html:225 +msgid "Pr" +msgstr "" + +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:124 +msgid "Last Update" +msgstr "" + +#: templates/helpdesk/dashboard.html:77 +msgid "Open Tickets assigned to you (you are working on this ticket)" +msgstr "" + +#: templates/helpdesk/dashboard.html:92 +msgid "You have no tickets assigned to you." +msgstr "" + +#: templates/helpdesk/dashboard.html:99 +msgid "(pick up a ticket if you start to work on it)" +msgstr "" + +#: templates/helpdesk/dashboard.html:110 +#: templates/helpdesk/ticket_desc_table.html:38 +msgid "Take" +msgstr "" + +#: templates/helpdesk/dashboard.html:110 +#: templates/helpdesk/email_ignore_list.html:13 +#: templates/helpdesk/email_ignore_list.html:23 +#: templates/helpdesk/ticket_cc_list.html:15 +#: templates/helpdesk/ticket_cc_list.html:23 +#: templates/helpdesk/ticket_list.html:262 +msgid "Delete" +msgstr "" + +#: templates/helpdesk/dashboard.html:114 +msgid "There are no unassigned tickets." +msgstr "" + +#: templates/helpdesk/dashboard.html:123 +msgid "Closed & resolved Tickets you used to work on" +msgstr "" + +#: templates/helpdesk/delete_ticket.html:3 +#: templates/helpdesk/delete_ticket.html:6 +msgid "Delete Ticket" +msgstr "" + +#: templates/helpdesk/delete_ticket.html:8 +#, python-format +msgid "" +"Are you sure you want to delete this ticket (%(ticket_title)s)? All" +" traces of the ticket, including followups, attachments, and updates will be" +" irreversibly removed." +msgstr "" + +#: templates/helpdesk/edit_ticket.html:3 +msgid "Edit Ticket" +msgstr "" + +#: templates/helpdesk/edit_ticket.html:9 +msgid "Edit a Ticket" +msgstr "" + +#: templates/helpdesk/edit_ticket.html:13 +msgid "Note" +msgstr "" + +#: templates/helpdesk/edit_ticket.html:13 +msgid "" +"Editing a ticket does not send an e-mail to the ticket owner or " +"submitter. No new details should be entered, this form should only be used " +"to fix incorrect details or clean up the submission." +msgstr "" + +#: templates/helpdesk/edit_ticket.html:33 +msgid "Save Changes" +msgstr "" + +#: templates/helpdesk/email_ignore_add.html:3 +#: templates/helpdesk/email_ignore_add.html:6 +#: templates/helpdesk/email_ignore_add.html:23 +msgid "Ignore E-Mail Address" +msgstr "" + +#: templates/helpdesk/email_ignore_add.html:8 +msgid "" +"To ignore an e-mail address and prevent any emails from that address " +"creating tickets automatically, enter the e-mail address below." +msgstr "" + +#: templates/helpdesk/email_ignore_add.html:10 +msgid "" +"You can either enter a whole e-mail address such as " +"email@domain.com or a portion of an e-mail address with a wildcard," +" such as *@domain.com or user@*." +msgstr "" + +#: templates/helpdesk/email_ignore_del.html:3 +msgid "Delete Ignored E-Mail Address" +msgstr "" + +#: templates/helpdesk/email_ignore_del.html:6 +msgid "Un-Ignore E-Mail Address" +msgstr "" + +#: templates/helpdesk/email_ignore_del.html:8 +#, python-format +msgid "" +"Are you sure you wish to stop removing this email address " +"(%(email_address)s) and allow their e-mails to automatically create" +" tickets in your system? You can re-add this e-mail address at any time." +msgstr "" + +#: templates/helpdesk/email_ignore_del.html:10 +msgid "Keep Ignoring It" +msgstr "" + +#: templates/helpdesk/email_ignore_del.html:12 +msgid "Stop Ignoring It" +msgstr "" + +#: templates/helpdesk/email_ignore_list.html:3 +#: templates/helpdesk/email_ignore_list.html:12 +msgid "Ignored E-Mail Addresses" +msgstr "" + +#: templates/helpdesk/email_ignore_list.html:5 +msgid "" +"\n" +"

Ignored E-Mail Addresses

\n" +"\n" +"

The following e-mail addresses are currently being ignored by the incoming e-mail processor. You can add a new e-mail address to the list or delete any of the items below as required.

" +msgstr "" + +#: templates/helpdesk/email_ignore_list.html:13 +msgid "Date Added" +msgstr "" + +#: templates/helpdesk/email_ignore_list.html:13 +msgid "Keep in mailbox?" +msgstr "" + +#: templates/helpdesk/email_ignore_list.html:21 +#: templates/helpdesk/ticket_list.html:260 +msgid "All" +msgstr "" + +#: templates/helpdesk/email_ignore_list.html:22 +msgid "Keep" +msgstr "" + +#: templates/helpdesk/email_ignore_list.html:29 +msgid "" +"Note: If the 'Keep' option is not selected, emails sent " +"from that address will be deleted permanently." +msgstr "" + +#: templates/helpdesk/followup_edit.html:2 +msgid "Edit followup" +msgstr "" + +#: templates/helpdesk/followup_edit.html:9 +msgid "Edit FollowUp" +msgstr "" + +#: templates/helpdesk/followup_edit.html:14 +msgid "Reassign ticket:" +msgstr "" + +#: templates/helpdesk/followup_edit.html:16 +msgid "Title:" +msgstr "" + +#: templates/helpdesk/followup_edit.html:18 +msgid "Comment:" +msgstr "" + +#: templates/helpdesk/kb_category.html:4 +#: templates/helpdesk/kb_category.html:12 +#, python-format +msgid "Knowledgebase Category: %(kbcat)s" +msgstr "" + +#: templates/helpdesk/kb_category.html:6 +#, python-format +msgid "You are viewing all items in the %(kbcat)s category." +msgstr "" + +#: templates/helpdesk/kb_category.html:13 +msgid "Article" +msgstr "" + +#: templates/helpdesk/kb_index.html:4 templates/helpdesk/navigation.html:21 +#: templates/helpdesk/navigation.html:71 +msgid "Knowledgebase" +msgstr "" + +#: templates/helpdesk/kb_index.html:6 +msgid "" +"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." +msgstr "" + +#: templates/helpdesk/kb_index.html:10 +#: templates/helpdesk/public_homepage.html:10 +msgid "Knowledgebase Categories" +msgstr "" + +#: templates/helpdesk/kb_item.html:4 +#, python-format +msgid "Knowledgebase: %(item)s" +msgstr "" + +#: templates/helpdesk/kb_item.html:16 +#, python-format +msgid "" +"View other %(category_title)s " +"articles, or continue viewing other knowledgebase " +"articles." +msgstr "" + +#: templates/helpdesk/kb_item.html:18 +msgid "Feedback" +msgstr "" + +#: templates/helpdesk/kb_item.html:20 +msgid "" +"We give our users an opportunity to vote for items that they believe have " +"helped them out, in order for us to better serve future customers. We would " +"appreciate your feedback on this article. Did you find it useful?" +msgstr "" + +#: templates/helpdesk/kb_item.html:23 +msgid "This article was useful to me" +msgstr "" + +#: templates/helpdesk/kb_item.html:24 +msgid "This article was not useful to me" +msgstr "" + +#: templates/helpdesk/kb_item.html:27 +msgid "The results of voting by other readers of this article are below:" +msgstr "" + +#: templates/helpdesk/kb_item.html:30 +#, python-format +msgid "Recommendations: %(recommendations)s" +msgstr "" + +#: templates/helpdesk/kb_item.html:31 +#, python-format +msgid "Votes: %(votes)s" +msgstr "" + +#: templates/helpdesk/kb_item.html:32 +#, python-format +msgid "Overall Rating: %(score)s" +msgstr "" + +#: templates/helpdesk/navigation.html:16 templates/helpdesk/navigation.html:64 +msgid "Dashboard" +msgstr "" + +#: templates/helpdesk/navigation.html:18 +msgid "New Ticket" +msgstr "" + +#: templates/helpdesk/navigation.html:19 +msgid "Stats" +msgstr "" + +#: templates/helpdesk/navigation.html:24 +msgid "Saved Query" +msgstr "" + +#: templates/helpdesk/navigation.html:39 +msgid "Change password" +msgstr "" + +#: templates/helpdesk/navigation.html:50 +msgid "Search..." +msgstr "" + +#: templates/helpdesk/navigation.html:50 +msgid "Enter a keyword, or a ticket number to jump straight to that ticket." +msgstr "" + +#: templates/helpdesk/navigation.html:73 +msgid "Logout" +msgstr "" + +#: templates/helpdesk/navigation.html:73 +msgid "Log In" +msgstr "" + +#: templates/helpdesk/public_change_language.html:2 +#: templates/helpdesk/public_homepage.html:73 +#: templates/helpdesk/public_view_form.html:4 +#: templates/helpdesk/public_view_ticket.html:2 +msgid "View a Ticket" +msgstr "" + +#: templates/helpdesk/public_change_language.html:5 +msgid "Change the display language" +msgstr "" + +#: templates/helpdesk/public_homepage.html:6 +msgid "Knowledgebase Articles" +msgstr "" + +#: templates/helpdesk/public_homepage.html:28 +msgid "All fields are required." +msgstr "" + +#: templates/helpdesk/public_homepage.html:66 +msgid "Please use button at upper right to login first." +msgstr "" + +#: templates/helpdesk/public_homepage.html:82 +#: templates/helpdesk/public_view_form.html:15 +msgid "Your E-mail Address" +msgstr "" + +#: templates/helpdesk/public_homepage.html:86 +#: templates/helpdesk/public_view_form.html:19 +msgid "View Ticket" +msgstr "" + +#: templates/helpdesk/public_spam.html:4 +msgid "Unable To Open Ticket" +msgstr "" + +#: templates/helpdesk/public_spam.html:5 +msgid "Sorry, but there has been an error trying to submit your ticket." +msgstr "" + +#: templates/helpdesk/public_spam.html:6 +msgid "" +"Our system has marked your submission as spam, so we are " +"unable to save it. If this is not spam, please press back and re-type your " +"message. Be careful to avoid sounding 'spammy', and if you have heaps of " +"links please try removing them if possible." +msgstr "" + +#: templates/helpdesk/public_spam.html:7 +msgid "" +"We are sorry for any inconvenience, however this check is required to avoid " +"our helpdesk resources being overloaded by spammers." +msgstr "" + +#: templates/helpdesk/public_view_form.html:8 +msgid "Error:" +msgstr "" + +#: templates/helpdesk/public_view_ticket.html:9 +#, python-format +msgid "Queue: %(queue_name)s" +msgstr "" + +#: templates/helpdesk/public_view_ticket.html:13 +#: templates/helpdesk/ticket_desc_table.html:32 +msgid "Submitted On" +msgstr "" + +#: templates/helpdesk/public_view_ticket.html:35 +msgid "Tags" +msgstr "" + +#: templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 +msgid "Accept" +msgstr "" + +#: templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 +msgid "Accept and Close" +msgstr "" + +#: templates/helpdesk/public_view_ticket.html:57 +#: templates/helpdesk/ticket.html:66 +msgid "Follow-Ups" +msgstr "" + +#: templates/helpdesk/public_view_ticket.html:65 +#: templates/helpdesk/ticket.html:100 +#, python-format +msgid "Changed %(field)s from %(old_value)s to %(new_value)s." +msgstr "" + +#: templates/helpdesk/report_index.html:3 +#: templates/helpdesk/report_index.html:6 +#: templates/helpdesk/report_output.html:3 +#: templates/helpdesk/report_output.html:16 +msgid "Reports & Statistics" +msgstr "" + +#: templates/helpdesk/report_index.html:9 +msgid "You haven't created any tickets yet, so you cannot run any reports." +msgstr "" + +#: templates/helpdesk/report_index.html:13 +msgid "Reports By User" +msgstr "" + +#: templates/helpdesk/report_index.html:15 +#: templates/helpdesk/report_index.html:24 +msgid "by Priority" +msgstr "" + +#: templates/helpdesk/report_index.html:16 +msgid "by Queue" +msgstr "" + +#: templates/helpdesk/report_index.html:17 +#: templates/helpdesk/report_index.html:25 +msgid "by Status" +msgstr "" + +#: templates/helpdesk/report_index.html:18 +#: templates/helpdesk/report_index.html:26 +msgid "by Month" +msgstr "" + +#: templates/helpdesk/report_index.html:22 +msgid "Reports By Queue" +msgstr "" + +#: templates/helpdesk/report_index.html:27 views/staff.py:1049 +msgid "Days until ticket closed by Month" +msgstr "" + +#: templates/helpdesk/report_output.html:19 +msgid "" +"You can run this query on filtered data by using one of your saved queries." +msgstr "" + +#: templates/helpdesk/report_output.html:21 +msgid "Select Query:" +msgstr "" + +#: templates/helpdesk/report_output.html:26 +msgid "Filter Report" +msgstr "" + +#: templates/helpdesk/report_output.html:29 +msgid "" +"Want to filter this report to just show a subset of data? Go to the Ticket " +"List, filter your query, and save your query." +msgstr "" + +#: templates/helpdesk/rss_list.html:6 +msgid "" +"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." +msgstr "" + +#: templates/helpdesk/rss_list.html:10 +msgid "" +"A summary of your open tickets - useful for getting alerted to new tickets " +"opened for you" +msgstr "" + +#: templates/helpdesk/rss_list.html:12 +msgid "Latest Activity" +msgstr "" + +#: templates/helpdesk/rss_list.html:13 +msgid "" +"A summary of all helpdesk activity - including comments, emails, " +"attachments, and more" +msgstr "" + +#: templates/helpdesk/rss_list.html:16 +msgid "" +"All unassigned tickets - useful for being alerted to new tickets opened by " +"the public via the web or via e-mail" +msgstr "" + +#: templates/helpdesk/rss_list.html:19 +msgid "" +"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." +msgstr "" + +#: templates/helpdesk/rss_list.html:23 +msgid "Per-Queue Feeds" +msgstr "" + +#: templates/helpdesk/rss_list.html:24 +msgid "All Open Tickets" +msgstr "" + +#: templates/helpdesk/rss_list.html:30 +msgid "Open Tickets" +msgstr "" + +#: templates/helpdesk/system_settings.html:3 +msgid "Change System Settings" +msgstr "" + +#: templates/helpdesk/system_settings.html:8 +msgid "The following items can be maintained by you or other superusers:" +msgstr "" + +#: templates/helpdesk/system_settings.html:11 +msgid "E-Mail Ignore list" +msgstr "" + +#: templates/helpdesk/system_settings.html:12 +msgid "Maintain Queues" +msgstr "" + +#: templates/helpdesk/system_settings.html:13 +msgid "Maintain Pre-Set Replies" +msgstr "" + +#: templates/helpdesk/system_settings.html:14 +msgid "Maintain Knowledgebase Categories" +msgstr "" + +#: templates/helpdesk/system_settings.html:15 +msgid "Maintain Knowledgebase Items" +msgstr "" + +#: templates/helpdesk/system_settings.html:16 +msgid "Maintain E-Mail Templates" +msgstr "" + +#: templates/helpdesk/system_settings.html:17 +msgid "Maintain Users" +msgstr "" + +#: templates/helpdesk/ticket.html:2 +msgid "View Ticket Details" +msgstr "" + +#: templates/helpdesk/ticket.html:34 +msgid "Attach another File" +msgstr "" + +#: templates/helpdesk/ticket.html:34 templates/helpdesk/ticket.html.py:200 +msgid "Add Another File" +msgstr "" + +#: templates/helpdesk/ticket.html:73 templates/helpdesk/ticket.html.py:86 +msgid "Private" +msgstr "" + +#: templates/helpdesk/ticket.html:119 +msgid "Respond to this ticket" +msgstr "" + +#: templates/helpdesk/ticket.html:126 +msgid "Use a Pre-set Reply" +msgstr "" + +#: templates/helpdesk/ticket.html:126 templates/helpdesk/ticket.html.py:166 +msgid "(Optional)" +msgstr "" + +#: templates/helpdesk/ticket.html:128 +msgid "" +"Selecting a pre-set reply will over-write your comment below. You can then " +"modify the pre-set reply to your liking before saving this update." +msgstr "" + +#: templates/helpdesk/ticket.html:131 +msgid "Comment / Resolution" +msgstr "" + +#: templates/helpdesk/ticket.html:133 +msgid "" +"You can insert ticket and queue details in your message. For more " +"information, see the context help page." +msgstr "" + +#: templates/helpdesk/ticket.html:136 +msgid "" +"This ticket cannot be resolved or closed until the tickets it depends on are" +" resolved." +msgstr "" + +#: templates/helpdesk/ticket.html:166 +msgid "Is this update public?" +msgstr "" + +#: templates/helpdesk/ticket.html:168 +msgid "" +"If this is public, the submitter will be e-mailed your comment or " +"resolution." +msgstr "" + +#: templates/helpdesk/ticket.html:172 +msgid "Change Further Details »" +msgstr "" + +#: templates/helpdesk/ticket.html:181 templates/helpdesk/ticket_list.html:68 +#: templates/helpdesk/ticket_list.html:97 +#: templates/helpdesk/ticket_list.html:225 +msgid "Owner" +msgstr "" + +#: templates/helpdesk/ticket.html:182 +msgid "Unassign" +msgstr "" + +#: templates/helpdesk/ticket.html:193 +msgid "Attach File(s) »" +msgstr "" + +#: templates/helpdesk/ticket.html:199 +msgid "Attach a File" +msgstr "" + +#: templates/helpdesk/ticket.html:207 +msgid "Update This Ticket" +msgstr "" + +#: templates/helpdesk/ticket_cc_add.html:3 +msgid "Add Ticket CC" +msgstr "" + +#: templates/helpdesk/ticket_cc_add.html:5 +msgid "" +"\n" +"

Add Ticket CC

\n" +"\n" +"

To automatically send an email to a user or e-mail address when this ticket is updated, select the user or enter an e-mail address below.

" +msgstr "" + +#: templates/helpdesk/ticket_cc_add.html:21 +msgid "Save Ticket CC" +msgstr "" + +#: templates/helpdesk/ticket_cc_del.html:3 +msgid "Delete Ticket CC" +msgstr "" + +#: templates/helpdesk/ticket_cc_del.html:5 +#, python-format +msgid "" +"\n" +"

Delete Ticket CC

\n" +"\n" +"

Are you sure you wish to delete this email address (%(email_address)s) from the CC list for this ticket? They will stop receiving updates.

\n" +msgstr "" + +#: templates/helpdesk/ticket_cc_del.html:11 +#: templates/helpdesk/ticket_dependency_del.html:11 +msgid "Don't Delete" +msgstr "" + +#: templates/helpdesk/ticket_cc_del.html:13 +#: templates/helpdesk/ticket_dependency_del.html:13 +msgid "Yes, Delete" +msgstr "" + +#: templates/helpdesk/ticket_cc_list.html:3 +msgid "Ticket CC Settings" +msgstr "" + +#: templates/helpdesk/ticket_cc_list.html:5 +#, python-format +msgid "" +"\n" +"

Ticket CC Settings

\n" +"\n" +"

The following people will receive an e-mail whenever %(ticket_title)s is updated. Some people can also view or edit the ticket via the public ticket views.

\n" +"\n" +"

You can add a new e-mail address to the list or delete any of the items below as required.

" +msgstr "" + +#: templates/helpdesk/ticket_cc_list.html:14 +msgid "Ticket CC List" +msgstr "" + +#: templates/helpdesk/ticket_cc_list.html:15 +msgid "View?" +msgstr "" + +#: templates/helpdesk/ticket_cc_list.html:15 +msgid "Update?" +msgstr "" + +#: templates/helpdesk/ticket_cc_list.html:29 +#, python-format +msgid "Return to %(ticket_title)s" +msgstr "" + +#: templates/helpdesk/ticket_dependency_add.html:3 +msgid "Add Ticket Dependency" +msgstr "" + +#: templates/helpdesk/ticket_dependency_add.html:5 +msgid "" +"\n" +"

Add Ticket Dependency

\n" +"\n" +"

Adding a dependency will stop you resolving this ticket until the dependent ticket has been resolved or closed.

" +msgstr "" + +#: templates/helpdesk/ticket_dependency_add.html:21 +msgid "Save Ticket Dependency" +msgstr "" + +#: templates/helpdesk/ticket_dependency_del.html:3 +msgid "Delete Ticket Dependency" +msgstr "" + +#: templates/helpdesk/ticket_dependency_del.html:5 +msgid "" +"\n" +"

Delete Ticket Dependency

\n" +"\n" +"

Are you sure you wish to remove the dependency on this ticket?

\n" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:7 +msgid "Unhold" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:7 +msgid "Hold" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:9 +#, python-format +msgid "Queue: %(queue)s" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:37 +msgid "Assigned To" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:43 +msgid "Ignore" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:52 +msgid "Copies To" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:53 +msgid "Manage" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:53 +msgid "" +"Click here to add / remove people who should receive an e-mail whenever this" +" ticket is updated." +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:53 +msgid "Subscribe" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:53 +msgid "" +"Click here to subscribe yourself to this ticket, if you want to receive an " +"e-mail whenever this ticket is updated." +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:57 +msgid "Dependencies" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:59 +msgid "" +"This ticket cannot be resolved until the following ticket(s) are resolved" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:60 +msgid "Remove Dependency" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:63 +msgid "This ticket has no dependencies." +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:65 +msgid "Add Dependency" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:65 +msgid "" +"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." +msgstr "" + +#: templates/helpdesk/ticket_list.html:59 +msgid "Change Query" +msgstr "" + +#: templates/helpdesk/ticket_list.html:67 +#: templates/helpdesk/ticket_list.html:79 +msgid "Sorting" +msgstr "" + +#: templates/helpdesk/ticket_list.html:71 +#: templates/helpdesk/ticket_list.html:139 +msgid "Keywords" +msgstr "" + +#: templates/helpdesk/ticket_list.html:72 +msgid "Date Range" +msgstr "" + +#: templates/helpdesk/ticket_list.html:100 +msgid "Reverse" +msgstr "" + +#: templates/helpdesk/ticket_list.html:102 +msgid "Ordering applied to tickets" +msgstr "" + +#: templates/helpdesk/ticket_list.html:107 +msgid "Owner(s)" +msgstr "" + +#: templates/helpdesk/ticket_list.html:111 +msgid "(ME)" +msgstr "" + +#: templates/helpdesk/ticket_list.html:115 +msgid "Ctrl-Click to select multiple options" +msgstr "" + +#: templates/helpdesk/ticket_list.html:120 +msgid "Queue(s)" +msgstr "" + +#: templates/helpdesk/ticket_list.html:121 +#: templates/helpdesk/ticket_list.html:127 +msgid "Ctrl-click to select multiple options" +msgstr "" + +#: templates/helpdesk/ticket_list.html:126 +msgid "Status(es)" +msgstr "" + +#: templates/helpdesk/ticket_list.html:132 +msgid "Date (From)" +msgstr "" + +#: templates/helpdesk/ticket_list.html:133 +msgid "Date (To)" +msgstr "" + +#: templates/helpdesk/ticket_list.html:134 +msgid "Use YYYY-MM-DD date format, eg 2011-05-29" +msgstr "" + +#: templates/helpdesk/ticket_list.html:140 +msgid "" +"Keywords are case-insensitive, and will be looked for in the title, body and" +" submitter fields." +msgstr "" + +#: templates/helpdesk/ticket_list.html:144 +msgid "Apply Filter" +msgstr "" + +#: templates/helpdesk/ticket_list.html:146 +#, python-format +msgid "You are currently viewing saved query \"%(query_name)s\"." +msgstr "" + +#: templates/helpdesk/ticket_list.html:149 +#, python-format +msgid "" +"Run a report on this " +"query to see stats and charts for the data listed below." +msgstr "" + +#: templates/helpdesk/ticket_list.html:162 +#: templates/helpdesk/ticket_list.html:181 +msgid "Save Query" +msgstr "" + +#: templates/helpdesk/ticket_list.html:172 +msgid "" +"This name appears in the drop-down list of saved queries. If you share your " +"query, other users will see this name, so choose something clear and " +"descriptive!" +msgstr "" + +#: templates/helpdesk/ticket_list.html:174 +msgid "Shared?" +msgstr "" + +#: templates/helpdesk/ticket_list.html:175 +msgid "Yes, share this query with other users." +msgstr "" + +#: templates/helpdesk/ticket_list.html:176 +msgid "" +"If you share this query, it will be visible by all other logged-in " +"users." +msgstr "" + +#: templates/helpdesk/ticket_list.html:195 +msgid "Use Saved Query" +msgstr "" + +#: templates/helpdesk/ticket_list.html:202 +msgid "Query" +msgstr "" + +#: templates/helpdesk/ticket_list.html:207 +msgid "Run Query" +msgstr "" + +#: templates/helpdesk/ticket_list.html:240 +msgid "No Tickets Match Your Selection" +msgstr "" + +#: templates/helpdesk/ticket_list.html:247 +msgid "Previous" +msgstr "" + +#: templates/helpdesk/ticket_list.html:251 +#, python-format +msgid "Page %(ticket_num)s of %(num_pages)s." +msgstr "" + +#: templates/helpdesk/ticket_list.html:255 +msgid "Next" +msgstr "" + +#: templates/helpdesk/ticket_list.html:260 +msgid "Select:" +msgstr "" + +#: templates/helpdesk/ticket_list.html:260 +msgid "None" +msgstr "" + +#: templates/helpdesk/ticket_list.html:260 +msgid "Inverse" +msgstr "" + +#: templates/helpdesk/ticket_list.html:262 +msgid "With Selected Tickets:" +msgstr "" + +#: templates/helpdesk/ticket_list.html:262 +msgid "Take (Assign to me)" +msgstr "" + +#: templates/helpdesk/ticket_list.html:262 +msgid "Close" +msgstr "" + +#: templates/helpdesk/ticket_list.html:262 +msgid "Close (Don't Send E-Mail)" +msgstr "" + +#: templates/helpdesk/ticket_list.html:262 +msgid "Close (Send E-Mail)" +msgstr "" + +#: templates/helpdesk/ticket_list.html:262 +msgid "Assign To" +msgstr "" + +#: templates/helpdesk/ticket_list.html:262 +msgid "Nobody (Unassign)" +msgstr "" + +#: templates/helpdesk/user_settings.html:3 +msgid "Change User Settings" +msgstr "" + +#: templates/helpdesk/user_settings.html:8 +msgid "" +"Use the following options to change the way your helpdesk system works for " +"you. These settings do not impact any other user." +msgstr "" + +#: templates/helpdesk/user_settings.html:14 +msgid "Save Options" +msgstr "" + +#: templates/helpdesk/registration/logged_out.html:2 +msgid "Logged Out" +msgstr "" + +#: templates/helpdesk/registration/logged_out.html:4 +msgid "" +"\n" +"

Logged Out

\n" +"\n" +"

Thanks for being here. Hopefully you've helped resolve a few tickets and make the world a better place.

\n" +"\n" +msgstr "" + +#: templates/helpdesk/registration/login.html:2 +msgid "Helpdesk Login" +msgstr "" + +#: templates/helpdesk/registration/login.html:14 +msgid "To log in simply enter your username and password below." +msgstr "" + +#: templates/helpdesk/registration/login.html:17 +msgid "Your username and password didn't match. Please try again." +msgstr "" + +#: templates/helpdesk/registration/login.html:20 +msgid "Login" +msgstr "" + +#: views/feeds.py:39 +#, python-format +msgid "Helpdesk: Open Tickets in queue %(queue)s for %(username)s" +msgstr "" + +#: views/feeds.py:44 +#, python-format +msgid "Helpdesk: Open Tickets for %(username)s" +msgstr "" + +#: views/feeds.py:50 +#, python-format +msgid "Open and Reopened Tickets in queue %(queue)s for %(username)s" +msgstr "" + +#: views/feeds.py:55 +#, python-format +msgid "Open and Reopened Tickets for %(username)s" +msgstr "" + +#: views/feeds.py:102 +msgid "Helpdesk: Unassigned Tickets" +msgstr "" + +#: views/feeds.py:103 +msgid "Unassigned Open and Reopened tickets" +msgstr "" + +#: views/feeds.py:128 +msgid "Helpdesk: Recent Followups" +msgstr "" + +#: views/feeds.py:129 +msgid "" +"Recent FollowUps, such as e-mail replies, comments, attachments and " +"resolutions" +msgstr "" + +#: views/feeds.py:144 +#, python-format +msgid "Helpdesk: Open Tickets in queue %(queue)s" +msgstr "" + +#: views/feeds.py:149 +#, python-format +msgid "Open and Reopened Tickets in queue %(queue)s" +msgstr "" + +#: views/public.py:89 +msgid "Invalid ticket ID or e-mail address. Please try again." +msgstr "" + +#: views/public.py:107 +msgid "Submitter accepted resolution and closed ticket" +msgstr "" + +#: views/staff.py:235 +msgid "Accepted resolution and closed ticket" +msgstr "" + +#: views/staff.py:369 +#, python-format +msgid "Assigned to %(username)s" +msgstr "" + +#: views/staff.py:392 +msgid "Updated" +msgstr "" + +#: views/staff.py:577 +#, python-format +msgid "Assigned to %(username)s in bulk update" +msgstr "" + +#: views/staff.py:582 +msgid "Unassigned in bulk update" +msgstr "" + +#: views/staff.py:587 views/staff.py:592 +msgid "Closed in bulk update" +msgstr "" + +#: views/staff.py:806 +msgid "" +"

Note: Your keyword search is case sensitive because of " +"your database. This means the search will not be accurate. " +"By switching to a different database system you will gain better searching! " +"For more information, read the Django Documentation on string matching in SQLite." +msgstr "" + +#: views/staff.py:910 +msgid "Ticket taken off hold" +msgstr "" + +#: views/staff.py:913 +msgid "Ticket placed on hold" +msgstr "" + +#: views/staff.py:1007 +msgid "User by Priority" +msgstr "" + +#: views/staff.py:1013 +msgid "User by Queue" +msgstr "" + +#: views/staff.py:1019 +msgid "User by Status" +msgstr "" + +#: views/staff.py:1025 +msgid "User by Month" +msgstr "" + +#: views/staff.py:1031 +msgid "Queue by Priority" +msgstr "" + +#: views/staff.py:1037 +msgid "Queue by Status" +msgstr "" + +#: views/staff.py:1043 +msgid "Queue by Month" +msgstr "" diff --git a/helpdesk/locale/de/LC_MESSAGES/django.mo b/helpdesk/locale/de/LC_MESSAGES/django.mo index fc8e1022..1eb489d0 100644 Binary files a/helpdesk/locale/de/LC_MESSAGES/django.mo and b/helpdesk/locale/de/LC_MESSAGES/django.mo differ diff --git a/helpdesk/locale/de/LC_MESSAGES/django.po b/helpdesk/locale/de/LC_MESSAGES/django.po index 299a82c4..4cd08e31 100644 --- a/helpdesk/locale/de/LC_MESSAGES/django.po +++ b/helpdesk/locale/de/LC_MESSAGES/django.po @@ -3,6 +3,7 @@ # This file is distributed under the same license as the django-helpdesk package. # # Translators: +# Translators: # Fabian Affolter , 2013 # Jannis Leidel , 2011 # Marc-Stefan Cassola , 2011 @@ -12,8 +13,8 @@ msgid "" msgstr "" "Project-Id-Version: django-helpdesk\n" "Report-Msgid-Bugs-To: http://github.com/RossP/django-helpdesk/issues\n" -"POT-Creation-Date: 2012-08-07 20:40+1000\n" -"PO-Revision-Date: 2013-04-29 09:18+0000\n" +"POT-Creation-Date: 2014-07-26 14:14+0200\n" +"PO-Revision-Date: 2014-08-01 09:58+0000\n" "Last-Translator: Ross Poulton \n" "Language-Team: German (http://www.transifex.com/projects/p/django-helpdesk/language/de/)\n" "MIME-Version: 1.0\n" @@ -22,1050 +23,1149 @@ msgstr "" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: forms.py:113 forms.py:360 models.py:262 -#: templates/helpdesk/dashboard.html:11 templates/helpdesk/dashboard.html:37 -#: templates/helpdesk/dashboard.html:57 templates/helpdesk/dashboard.html:77 -#: templates/helpdesk/dashboard.html:99 templates/helpdesk/rss_list.html:23 -#: templates/helpdesk/ticket_list.html:56 -#: templates/helpdesk/ticket_list.html:78 -#: templates/helpdesk/ticket_list.html:199 views/staff.py:976 -#: views/staff.py:982 views/staff.py:988 +#: forms.py:128 forms.py:328 models.py:190 models.py:267 +#: templates/helpdesk/dashboard.html:15 templates/helpdesk/dashboard.html:58 +#: templates/helpdesk/dashboard.html:78 templates/helpdesk/dashboard.html:100 +#: templates/helpdesk/dashboard.html:124 templates/helpdesk/rss_list.html:24 +#: templates/helpdesk/ticket_list.html:69 +#: templates/helpdesk/ticket_list.html:88 +#: templates/helpdesk/ticket_list.html:225 views/staff.py:1032 +#: views/staff.py:1038 views/staff.py:1044 views/staff.py:1050 msgid "Queue" msgstr "Ticketsammlung" -#: forms.py:122 +#: forms.py:137 msgid "Summary of the problem" msgstr "Zusammenfassung des Problems" -#: forms.py:127 +#: forms.py:142 msgid "Submitter E-Mail Address" msgstr "E-Mail-Adresse des Erstellers" -#: forms.py:129 +#: forms.py:144 msgid "" "This e-mail address will receive copies of all public updates to this " "ticket." msgstr "Alle öffentlichen Ticket-Updates werden an diese E-Mail-Adresse geschickt" -#: forms.py:135 +#: forms.py:150 msgid "Description of Issue" msgstr "Problembeschreibung" -#: forms.py:142 +#: forms.py:157 msgid "Case owner" msgstr "Verantwortlicher" -#: forms.py:143 +#: forms.py:158 msgid "" "If you select an owner other than yourself, they'll be e-mailed details of " "this ticket immediately." msgstr "Wenn Sie andere Verantwortliche als sich selbst auswählen, werden diese sofort per E-Mail mit den Details zum Ticket benachrichtigt." -#: forms.py:151 models.py:322 management/commands/escalate_tickets.py:149 -#: templates/helpdesk/public_view_ticket.html:21 -#: templates/helpdesk/ticket.html:176 -#: templates/helpdesk/ticket_desc_table.html:31 -#: templates/helpdesk/ticket_list.html:84 views/staff.py:355 +#: forms.py:166 models.py:327 management/commands/escalate_tickets.py:154 +#: templates/helpdesk/public_view_ticket.html:23 +#: templates/helpdesk/ticket.html:184 +#: templates/helpdesk/ticket_desc_table.html:47 +#: templates/helpdesk/ticket_list.html:94 views/staff.py:429 msgid "Priority" msgstr "Priorität" -#: forms.py:152 +#: forms.py:167 msgid "Please select a priority carefully. If unsure, leave it as '3'." msgstr "Wählen Sie die Priorität mit Bedacht. Im Zweifel lassen Sie sie bei '3'." -#: forms.py:159 forms.py:397 models.py:330 templates/helpdesk/ticket.html:178 -#: views/staff.py:365 +#: forms.py:174 forms.py:365 models.py:335 templates/helpdesk/ticket.html:186 +#: views/staff.py:439 msgid "Due on" msgstr "Fällig am" -#: forms.py:171 forms.py:402 +#: forms.py:186 forms.py:370 msgid "Attach File" msgstr "Datei anhängen" -#: forms.py:172 forms.py:403 +#: forms.py:187 forms.py:371 msgid "You can attach a file such as a document or screenshot to this ticket." msgstr "Sie können eine Datei (z.B. ein Dokument oder ein Bildschirmphoto) an das Ticket anhängen." -#: forms.py:180 templates/helpdesk/public_view_ticket.html:33 -#: templates/helpdesk/ticket.html:182 -#: templates/helpdesk/ticket_desc_table.html:42 -#: templates/helpdesk/ticket_list.html:61 -#: templates/helpdesk/ticket_list.html:199 views/staff.py:376 -msgid "Tags" -msgstr "Tags" - -#: forms.py:181 -msgid "" -"Words, separated by spaces, or phrases separated by commas. These should " -"communicate significant characteristics of this ticket" -msgstr "Durch Leerzeichen getrennte Wörter oder durch Kommata getrennte Formulierungen. Diese sollten die wichtigsten Charakteristika des Tickets beschreiben." - -#: forms.py:275 +#: forms.py:240 msgid "Ticket Opened" msgstr "Ticket geöffnet" -#: forms.py:282 +#: forms.py:247 #, python-format msgid "Ticket Opened & Assigned to %(name)s" msgstr "Ticket geöffnet und %(name)s zugewiesen " -#: forms.py:369 +#: forms.py:337 msgid "Summary of your query" msgstr "Zusammenfassung Ihrer Anfrage" -#: forms.py:374 +#: forms.py:342 msgid "Your E-Mail Address" msgstr "Ihre E-Mail-Adresse" -#: forms.py:375 +#: forms.py:343 msgid "We will e-mail you when your ticket is updated." msgstr "Wir werden Ihnen eine E-Mail schicken, wenn Ihr Ticket geupdated wurde." -#: forms.py:380 +#: forms.py:348 msgid "Description of your issue" msgstr "Beschreibung Ihres Problems" -#: forms.py:382 +#: forms.py:350 msgid "" "Please be as descriptive as possible, including any details we may need to " "address your query." msgstr "Bitten beschreiben Sie alle Details, die wir zur Bearbeitung Ihrer Anfrage benötigen könnten." -#: forms.py:390 +#: forms.py:358 msgid "Urgency" msgstr "Dringlichkeit" -#: forms.py:391 +#: forms.py:359 msgid "Please select a priority carefully." msgstr "Wählen Sie die Priorität mit Bedacht. " -#: forms.py:486 +#: forms.py:419 msgid "Ticket Opened Via Web" msgstr "Ticket über das Web geöffnet" -#: forms.py:553 +#: forms.py:486 msgid "Show Ticket List on Login?" msgstr "Liste mit Tickets beim Anmelden zeigen?" -#: forms.py:554 +#: forms.py:487 msgid "Display the ticket list upon login? Otherwise, the dashboard is shown." msgstr "Liste mit Tickets bei der Anmeldung zeigen? Sonst wird eine Übersicht angezeigt." -#: forms.py:559 +#: forms.py:492 msgid "E-mail me on ticket change?" msgstr "Bei Änderungen am Ticket per E-Mail benachrichtigen?" -#: forms.py:560 +#: forms.py:493 msgid "" "If you're the ticket owner and the ticket is changed via the web by somebody" " else, do you want to receive an e-mail?" msgstr "Wenn Sie der Verantwortliche für ein Ticket sind und dieses wird über das Web von jemandem bearbeitet, wollen Sie per E-Mail benachrichtigt werden?" -#: forms.py:565 +#: forms.py:498 msgid "E-mail me when assigned a ticket?" msgstr "Per E-Mail benachrichtigen, wenn Ihnen ein Ticket zugewiesen wird?" -#: forms.py:566 +#: forms.py:499 msgid "" "If you are assigned a ticket via the web, do you want to receive an e-mail?" msgstr "Möchten Sie eine E-Mail erhalten, wenn Ihnen ein Ticket über das Web zugewiesen wird?" -#: forms.py:571 +#: forms.py:504 msgid "E-mail me when a ticket is changed via the API?" msgstr "Per E-Mail benachrichtigen, wenn ein Ticket über die API bearbeitet wird?" -#: forms.py:572 +#: forms.py:505 msgid "If a ticket is altered by the API, do you want to receive an e-mail?" msgstr "Per E-Mail benachrichtigen, wenn ein Ticket über die API bearbeitet wird?" -#: forms.py:577 +#: forms.py:510 msgid "Number of tickets to show per page" msgstr "Anzahl der pro Seite anzuzeigenden Tickets" -#: forms.py:578 +#: forms.py:511 msgid "How many tickets do you want to see on the Ticket List page?" msgstr "Wie viele Tickets möchten Sie auf der Ticket-Liste sehen?" -#: forms.py:585 +#: forms.py:518 msgid "Use my e-mail address when submitting tickets?" msgstr "Ihre E-Mail-Adresse beim Erstellen von Tickets verwenden?" -#: forms.py:586 +#: forms.py:519 msgid "" "When you submit a ticket, do you want to automatically use your e-mail " "address as the submitter address? You can type a different e-mail address " "when entering the ticket if needed, this option only changes the default." msgstr "Soll Ihre E-Mail-Adresse automatisch als Absender verwendet werden, wenn Sie ein Ticket erstellen? Sie können auch eine andere E-Mail-Adresse eingeben, diese Option legt lediglich das Standardverhalten fest." -#: models.py:32 models.py:256 models.py:490 models.py:787 models.py:821 -#: templates/helpdesk/dashboard.html:37 templates/helpdesk/dashboard.html:57 -#: templates/helpdesk/dashboard.html:77 templates/helpdesk/dashboard.html:99 -#: templates/helpdesk/ticket.html:170 templates/helpdesk/ticket_list.html:75 -#: templates/helpdesk/ticket_list.html:199 views/staff.py:345 +#: models.py:35 models.py:261 models.py:503 models.py:817 models.py:853 +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:100 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket.html:178 templates/helpdesk/ticket_list.html:85 +#: templates/helpdesk/ticket_list.html:225 views/staff.py:419 msgid "Title" msgstr "Titel" -#: models.py:37 models.py:792 models.py:1162 +#: models.py:40 models.py:822 models.py:1206 msgid "Slug" msgstr "Kennung" -#: models.py:38 +#: models.py:41 msgid "" "This slug is used when building ticket ID's. Once set, try not to change it " "or e-mailing may get messy." msgstr "Diese Kennung wird zur Erstellung der Ticket-IDs verwendet. Bitte ändern Sie sie nach der Festlegung nicht mehr, sonst könnte es Probleme beim E-Mail Versand geben." -#: models.py:43 models.py:1015 models.py:1085 models.py:1159 +#: models.py:46 models.py:1054 models.py:1129 models.py:1203 #: templates/helpdesk/email_ignore_list.html:13 #: templates/helpdesk/ticket_cc_list.html:15 msgid "E-Mail Address" msgstr "E-Mail-Adresse" -#: models.py:46 +#: models.py:49 msgid "" "All outgoing e-mails for this queue will use this e-mail address. If you use" " IMAP or POP3, this should be the e-mail address for that mailbox." msgstr "Alle ausgehenden E-Mails dieser Ticketsammlung werden diese E-mail Adresse benutzen. Falls Sie IMAP oder POP3 benutzen, sollte dies die E-Mail-Adresse dieser Mailbox sein." -#: models.py:52 models.py:766 +#: models.py:55 models.py:794 msgid "Locale" msgstr "Spracheinstellung" -#: models.py:56 +#: models.py:59 msgid "" "Locale of this queue. All correspondence in this queue will be in this " "language." msgstr "Spracheinstellung für diese Ticketsammlung. Alle Korrespondenz zu dieser Ticketsammlung wird in dieser Sprache sein." -#: models.py:60 +#: models.py:63 msgid "Allow Public Submission?" msgstr "Öffentliche Erstellung zulassen?" -#: models.py:63 +#: models.py:66 msgid "Should this queue be listed on the public submission form?" msgstr "Soll diese Ticketsammlung im öffentlichen Formular verfügbar sein?" -#: models.py:68 +#: models.py:71 msgid "Allow E-Mail Submission?" msgstr "Erstellung per E-Mail zulassen?" -#: models.py:71 +#: models.py:74 msgid "Do you want to poll the e-mail box below for new tickets?" msgstr "Möchten Sie nachfolgende E-Mail-Adresse nach neuen Tickets abfragen?" -#: models.py:76 +#: models.py:79 msgid "Escalation Days" msgstr "Tage bis zur Eskalation" -#: models.py:79 +#: models.py:82 msgid "" "For tickets which are not held, how often do you wish to increase their " "priority? Set to 0 for no escalation." msgstr "Wie oft soll die Priorität von nicht zurückgehaltenen Tickets erhöht werden? Geben sie 0 an, falls sie keine Eskalation wünschen." -#: models.py:84 +#: models.py:87 msgid "New Ticket CC Address" msgstr "Ticketerstellung auch melden an" -#: models.py:88 +#: models.py:91 msgid "" "If an e-mail address is entered here, then it will receive notification of " "all new tickets created for this queue. Enter a comma between multiple " "e-mail addresses." msgstr "Jede eingegebene E-Mail Adresse wird benachrichtigt wenn ein neues Ticket in dieser Sammlung erstellt wird. Mehrere E-Mail Adressen durch Kommata getrennt." -#: models.py:94 +#: models.py:97 msgid "Updated Ticket CC Address" msgstr "Ticketbearbeitung auch melden an" -#: models.py:98 +#: models.py:101 msgid "" "If an e-mail address is entered here, then it will receive notification of " "all activity (new tickets, closed tickets, updates, reassignments, etc) for " "this queue. Separate multiple addresses with a comma." msgstr "Jede eingegebene E-Mail Adresse wird über jede Aktivität (neues Ticket, Tickets geschlossen, Aktualisierungen, Neuzuweisungen, usw.) in dieser Sammlung benachrichtigt. Mehrere E-Mail Adressen durch Kommata getrennt." -#: models.py:105 +#: models.py:108 msgid "E-Mail Box Type" msgstr "Art der E-Mail-Box" -#: models.py:107 +#: models.py:110 msgid "POP 3" msgstr "POP3" -#: models.py:107 +#: models.py:110 msgid "IMAP" msgstr "IMAP" -#: models.py:110 +#: models.py:113 msgid "" "E-Mail server type for creating tickets automatically from a mailbox - both " "POP3 and IMAP are supported." msgstr "Art des E-Mail-Servers, von dem Tickets automatisch aus der Mailbox erstellt werden - sowohl POP3 als auch IMAP werden unterstützt." -#: models.py:115 +#: models.py:118 msgid "E-Mail Hostname" msgstr "E-Mail-Hostname" -#: models.py:119 +#: models.py:122 msgid "" "Your e-mail server address - either the domain name or IP address. May be " "\"localhost\"." msgstr "Die Adresse Ihres E-Mail-Servers - entweder der Domainname oder die " -#: models.py:124 +#: models.py:127 msgid "E-Mail Port" msgstr "Port des E-Mail Servers" -#: models.py:127 +#: models.py:130 msgid "" "Port number to use for accessing e-mail. Default for POP3 is \"110\", and " "for IMAP is \"143\". This may differ on some servers. Leave it blank to use " "the defaults." msgstr "Portnummer, unter der der E-Mail-Dienst erreichbar ist. Standardwerte sind '110' für POP3 und '143' für IMAP, diese können allerdings je nach Server anders sein. Wenn Sie nichts angeben, werden die Standardwerte benutzt." -#: models.py:133 +#: models.py:136 msgid "Use SSL for E-Mail?" msgstr "SSL für E-Mails verwenden?" -#: models.py:136 +#: models.py:139 msgid "" "Whether to use SSL for IMAP or POP3 - the default ports when using SSL are " "993 for IMAP and 995 for POP3." msgstr "Falls Sie SSL für IMAP oder POP3 verwenden: der Standardport für IMAP ist '993' und für POP3 '995'." -#: models.py:141 +#: models.py:144 msgid "E-Mail Username" msgstr "E-Mail-Benutzername" -#: models.py:145 +#: models.py:148 msgid "Username for accessing this mailbox." msgstr "Benutzername, um auf diese Mailbox zuzugreifen" -#: models.py:149 +#: models.py:152 msgid "E-Mail Password" msgstr "E-Mail-Passwort" -#: models.py:153 +#: models.py:156 msgid "Password for the above username" msgstr "Passwort zum obigen Benutzernamen" -#: models.py:157 +#: models.py:160 msgid "IMAP Folder" msgstr "IMAP-Ordner" -#: models.py:161 +#: models.py:164 msgid "" "If using IMAP, what folder do you wish to fetch messages from? This allows " "you to use one IMAP account for multiple queues, by filtering messages on " "your IMAP server into separate folders. Default: INBOX." msgstr "Falls Sie IMAP verwenden wollen, von welchem Ordner sollen die Tickets abgerufen werden? Sie können so ein E-mail Konto für mehrere Ticketsammlungen verwenden, indem Sie für die Ticketsammlungen getrennte Ordner auf Ihrem IMAP Server anlegen." -#: models.py:168 +#: models.py:171 msgid "E-Mail Check Interval" msgstr "E-Mail-Abrufintervall" -#: models.py:169 +#: models.py:172 msgid "How often do you wish to check this mailbox? (in Minutes)" msgstr "Wie oft soll das E-mail Konto abgerufen werden? (in Minuten)" -#: models.py:240 templates/helpdesk/dashboard.html:11 -#: templates/helpdesk/ticket.html:130 +#: models.py:191 templates/helpdesk/email_ignore_list.html:13 +msgid "Queues" +msgstr "" + +#: models.py:245 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:138 msgid "Open" msgstr "Offen" -#: models.py:241 templates/helpdesk/ticket.html:136 -#: templates/helpdesk/ticket.html.py:142 templates/helpdesk/ticket.html:147 -#: templates/helpdesk/ticket.html.py:151 +#: models.py:246 templates/helpdesk/ticket.html:144 +#: templates/helpdesk/ticket.html.py:150 templates/helpdesk/ticket.html:155 +#: templates/helpdesk/ticket.html.py:159 msgid "Reopened" msgstr "Wieder geöffnet" -#: models.py:242 templates/helpdesk/dashboard.html:11 -#: templates/helpdesk/ticket.html:131 templates/helpdesk/ticket.html.py:137 -#: templates/helpdesk/ticket.html:143 +#: models.py:247 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:139 templates/helpdesk/ticket.html.py:145 +#: templates/helpdesk/ticket.html:151 msgid "Resolved" msgstr "Gelöst" -#: models.py:243 templates/helpdesk/dashboard.html:11 -#: templates/helpdesk/ticket.html:132 templates/helpdesk/ticket.html.py:138 -#: templates/helpdesk/ticket.html:144 templates/helpdesk/ticket.html.py:148 +#: models.py:248 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:140 templates/helpdesk/ticket.html.py:146 +#: templates/helpdesk/ticket.html:152 templates/helpdesk/ticket.html.py:156 msgid "Closed" msgstr "Geschlossen" -#: models.py:244 templates/helpdesk/ticket.html:133 -#: templates/helpdesk/ticket.html.py:139 templates/helpdesk/ticket.html:152 +#: models.py:249 templates/helpdesk/ticket.html:141 +#: templates/helpdesk/ticket.html.py:147 templates/helpdesk/ticket.html:160 msgid "Duplicate" msgstr "Duplikat" -#: models.py:248 +#: models.py:253 msgid "1. Critical" msgstr "1. Kritisch" -#: models.py:249 +#: models.py:254 msgid "2. High" msgstr "2. Hoch" -#: models.py:250 +#: models.py:255 msgid "3. Normal" msgstr "3. Normal" -#: models.py:251 +#: models.py:256 msgid "4. Low" msgstr "4. Niedrig" -#: models.py:252 +#: models.py:257 msgid "5. Very Low" msgstr "5. Sehr niedrig" -#: models.py:266 templates/helpdesk/dashboard.html:77 -#: templates/helpdesk/ticket_list.html:72 -#: templates/helpdesk/ticket_list.html:199 +#: models.py:271 templates/helpdesk/dashboard.html:100 +#: templates/helpdesk/ticket_list.html:82 +#: templates/helpdesk/ticket_list.html:225 msgid "Created" msgstr "Erstellt" -#: models.py:268 +#: models.py:273 msgid "Date this ticket was first created" msgstr "Erstellungsdatum des Tickets" -#: models.py:272 +#: models.py:277 msgid "Modified" msgstr "Bearbeitet" -#: models.py:274 +#: models.py:279 msgid "Date this ticket was most recently changed." msgstr "Bearbeitungsdatum des Tickets" -#: models.py:278 templates/helpdesk/public_view_ticket.html:16 -#: templates/helpdesk/ticket_desc_table.html:26 +#: models.py:283 templates/helpdesk/public_view_ticket.html:18 +#: templates/helpdesk/ticket_desc_table.html:42 msgid "Submitter E-Mail" msgstr "E-Mail-Adresse des Erstellers" -#: models.py:281 +#: models.py:286 msgid "" "The submitter will receive an email for all public follow-ups left for this " "task." msgstr "Der Ersteller wird eine E-Mail zu allen öffentlich sichtbaren Weiterbearbeitungen dieses Tickets erhalten." -#: models.py:290 +#: models.py:295 msgid "Assigned to" msgstr "Zugewiesen" -#: models.py:294 templates/helpdesk/dashboard.html:37 -#: templates/helpdesk/dashboard.html:57 templates/helpdesk/dashboard.html:99 -#: templates/helpdesk/ticket_list.html:57 -#: templates/helpdesk/ticket_list.html:81 -#: templates/helpdesk/ticket_list.html:199 +#: models.py:299 templates/helpdesk/dashboard.html:58 +#: templates/helpdesk/dashboard.html:78 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket_list.html:70 +#: templates/helpdesk/ticket_list.html:91 +#: templates/helpdesk/ticket_list.html:225 msgid "Status" msgstr "Status" -#: models.py:300 +#: models.py:305 msgid "On Hold" msgstr "Zurückgehalten" -#: models.py:303 +#: models.py:308 msgid "If a ticket is on hold, it will not automatically be escalated." msgstr "Ein zurückgehaltenes Ticket wird nicht automatisch eskaliert." -#: models.py:308 models.py:796 templates/helpdesk/public_view_ticket.html:39 -#: templates/helpdesk/ticket_desc_table.html:67 +#: models.py:313 models.py:826 templates/helpdesk/public_view_ticket.html:41 +#: templates/helpdesk/ticket_desc_table.html:19 msgid "Description" msgstr "Beschreibung" -#: models.py:311 +#: models.py:316 msgid "The content of the customers query." msgstr "Die Anfrage des Kunden." -#: models.py:315 templates/helpdesk/public_view_ticket.html:46 -#: templates/helpdesk/ticket_desc_table.html:74 +#: models.py:320 templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 msgid "Resolution" msgstr "Lösung" -#: models.py:318 +#: models.py:323 msgid "The resolution provided to the customer by our staff." msgstr "Die Lösung, die dem Kunden von unseren Mitarbeitern vorgeschlagen wurde." -#: models.py:326 +#: models.py:331 msgid "1 = Highest Priority, 5 = Low Priority" msgstr "1 = Höchste Priorität, 5 = Niedrige Priorität" -#: models.py:339 +#: models.py:344 msgid "" "The date this ticket was last escalated - updated automatically by " "management/commands/escalate_tickets.py." msgstr "Das Datum, an dem dieses Ticket zuletzt eskaliert wurde - wird von management/commands/escalate_tickets.py automatisch aktualisiert." -#: models.py:348 templates/helpdesk/ticket_desc_table.html:22 -#: views/feeds.py:91 views/feeds.py:117 views/feeds.py:169 views/staff.py:302 +#: models.py:353 templates/helpdesk/ticket_desc_table.html:38 +#: views/feeds.py:95 views/feeds.py:121 views/feeds.py:173 views/staff.py:376 msgid "Unassigned" msgstr "Nicht zugeordnet" -#: models.py:387 +#: models.py:392 msgid " - On Hold" msgstr " - Zurückgehalten" -#: models.py:481 models.py:1073 models.py:1231 models.py:1256 -#: templates/helpdesk/public_homepage.html:26 +#: models.py:394 +msgid " - Open dependencies" +msgstr "" + +#: models.py:448 models.py:494 models.py:1117 models.py:1280 models.py:1309 +#: templates/helpdesk/public_homepage.html:78 #: templates/helpdesk/public_view_form.html:12 msgid "Ticket" msgstr "Ticket" -#: models.py:485 models.py:714 models.py:1008 models.py:1156 +#: models.py:449 templates/helpdesk/navigation.html:17 +#: templates/helpdesk/ticket_list.html:2 +#: templates/helpdesk/ticket_list.html:224 +msgid "Tickets" +msgstr "Tickets" + +#: models.py:498 models.py:738 models.py:1047 models.py:1200 msgid "Date" msgstr "Datum" -#: models.py:497 views/staff.py:316 +#: models.py:510 views/staff.py:390 msgid "Comment" msgstr "Kommentar" -#: models.py:503 +#: models.py:516 msgid "Public" msgstr "Öffentlich" -#: models.py:506 +#: models.py:519 msgid "" "Public tickets are viewable by the submitter and all staff, but non-public " "tickets can only be seen by staff." msgstr "Öffentliche Tickets sind vom Ersteller und allen Mitarbeitern einsehbar, nicht-öffentliche Tickets nur von den Mitarbeitern." -#: models.py:514 models.py:888 models.py:1081 views/staff.py:952 -#: views/staff.py:958 views/staff.py:964 views/staff.py:970 +#: models.py:527 models.py:922 models.py:1125 views/staff.py:1008 +#: views/staff.py:1014 views/staff.py:1020 views/staff.py:1026 msgid "User" msgstr "Benutzer" -#: models.py:518 templates/helpdesk/ticket.html:127 +#: models.py:531 templates/helpdesk/ticket.html:135 msgid "New Status" msgstr "Neuer Status" -#: models.py:522 +#: models.py:535 msgid "If the status was changed, what was it changed to?" msgstr "Falls der Status geändert wurde, wie lautet er nun?" -#: models.py:551 models.py:608 +#: models.py:542 models.py:566 models.py:628 msgid "Follow-up" msgstr "Weiterbearbeitung" -#: models.py:555 models.py:1236 +#: models.py:543 +msgid "Follow-ups" +msgstr "" + +#: models.py:570 models.py:1285 msgid "Field" msgstr "Feld" -#: models.py:560 +#: models.py:575 msgid "Old Value" msgstr "Alter Wert" -#: models.py:566 +#: models.py:581 msgid "New Value" msgstr "Neuer Wert" -#: models.py:574 +#: models.py:589 msgid "removed" msgstr "entfernt" -#: models.py:576 +#: models.py:591 #, python-format msgid "set to %s" msgstr "auf %s gesetzt" -#: models.py:578 +#: models.py:593 #, python-format msgid "changed from \"%(old_value)s\" to \"%(new_value)s\"" msgstr "von \"%(old_value)s\" zu \"%(new_value)s\" geändert" -#: models.py:612 +#: models.py:600 +msgid "Ticket change" +msgstr "" + +#: models.py:601 +msgid "Ticket changes" +msgstr "" + +#: models.py:632 msgid "File" msgstr "Datei" -#: models.py:617 +#: models.py:637 msgid "Filename" msgstr "Dateiname" -#: models.py:622 +#: models.py:642 msgid "MIME Type" msgstr "MIME Type" -#: models.py:627 +#: models.py:647 msgid "Size" msgstr "Größe" -#: models.py:628 +#: models.py:648 msgid "Size of this file in bytes" msgstr "Größe der Datei in Bytes" -#: models.py:663 +#: models.py:665 +msgid "Attachment" +msgstr "" + +#: models.py:666 +msgid "Attachments" +msgstr "" + +#: models.py:685 msgid "" "Leave blank to allow this reply to be used for all queues, or select those " "queues you wish to limit this reply to." msgstr "Leerlassen, um diese Antwort für alle Ticketsammlungen zu verwenden, oder die Ticketsammlungen auswählen, auf die Sie diese Antwort beschränken wollen." -#: models.py:668 models.py:709 models.py:1003 +#: models.py:690 models.py:733 models.py:1042 #: templates/helpdesk/email_ignore_list.html:13 msgid "Name" msgstr "Name" -#: models.py:670 +#: models.py:692 msgid "" "Only used to assist users with selecting a reply - not shown to the user." msgstr "Zur Unterstützung des Benutzers bei der Wahl einer Antwort - wird dem Benutzer nicht angezeigt." -#: models.py:675 +#: models.py:697 msgid "Body" msgstr "Textkörper" -#: models.py:676 +#: models.py:698 msgid "" "Context available: {{ ticket }} - ticket object (eg {{ ticket.title }}); {{ " "queue }} - The queue; and {{ user }} - the current user." msgstr "Verfügbarer Kontext: {{ ticket }} - Ticket Objekt (z.B. {{ ticket.title }}); {{ queue }} - Die Ticketsammlung; und {{ user }} - der aktuelle Benutzer." -#: models.py:703 +#: models.py:705 +msgid "Pre-set reply" +msgstr "" + +#: models.py:706 +msgid "Pre-set replies" +msgstr "" + +#: models.py:727 msgid "" "Leave blank for this exclusion to be applied to all queues, or select those " "queues you wish to exclude with this entry." msgstr "Leerlassen, um diese Ausnahme auf alle Ticketsammlungen anzuwenden, oder die Ticketsammlungen auswählen, die damit ausgeschlossen werden sollen." -#: models.py:715 +#: models.py:739 msgid "Date on which escalation should not happen" msgstr "Datum, an dem keine Eskalation stattfinden soll" -#: models.py:732 +#: models.py:746 +msgid "Escalation exclusion" +msgstr "" + +#: models.py:747 +msgid "Escalation exclusions" +msgstr "" + +#: models.py:760 msgid "Template Name" msgstr "Vorlagenname" -#: models.py:737 +#: models.py:765 msgid "Subject" msgstr "Betreff" -#: models.py:739 +#: models.py:767 msgid "" "This will be prefixed with \"[ticket.ticket] ticket.title\". We recommend " "something simple such as \"(Updated\") or \"(Closed)\" - the same context is" " available as in plain_text, below." msgstr "Wird mit \"[ticket.ticket] ticket.title\" vorangestellt. Wir empfehlen etwas einfaches wie \"(Aktualisiert\") or \"(Geschlossen)\" - der gleiche Kontext ist als einfacher Text weiter unten verfügbar." -#: models.py:745 +#: models.py:773 msgid "Heading" msgstr "Überschrift" -#: models.py:747 +#: models.py:775 msgid "" "In HTML e-mails, this will be the heading at the top of the email - the same" " context is available as in plain_text, below." msgstr "Die Überschrift für HTML-E-Mails – der selbe Kontext is weiter unten als einfacher Text verfügbar." -#: models.py:753 +#: models.py:781 msgid "Plain Text" msgstr "Einfacher Text" -#: models.py:754 +#: models.py:782 msgid "" "The context available to you includes {{ ticket }}, {{ queue }}, and " "depending on the time of the call: {{ resolution }} or {{ comment }}." msgstr "Der zur Verfügung stehende Kontext beinhaltet {{ ticket }}, {{ queue }} und, je nachdem wann aufgerufen: {{ resolution }} oder {{ comment }}." -#: models.py:760 +#: models.py:788 msgid "HTML" msgstr "HTML" -#: models.py:761 +#: models.py:789 msgid "The same context is available here as in plain_text, above." msgstr "Hier steht der gleiche Kontext wie oben als einfacher Text." -#: models.py:770 +#: models.py:798 msgid "Locale of this template." msgstr "Gebietsschema dieses Templates." -#: models.py:817 templates/helpdesk/kb_index.html:10 -#: templates/helpdesk/public_homepage.html:10 +#: models.py:806 +msgid "e-mail template" +msgstr "" + +#: models.py:807 +msgid "e-mail templates" +msgstr "" + +#: models.py:834 +msgid "Knowledge base category" +msgstr "" + +#: models.py:835 +msgid "Knowledge base categories" +msgstr "" + +#: models.py:849 templates/helpdesk/kb_index.html:11 +#: templates/helpdesk/public_homepage.html:11 msgid "Category" msgstr "Kategorie" -#: models.py:826 +#: models.py:858 msgid "Question" msgstr "Frage" -#: models.py:830 +#: models.py:862 msgid "Answer" msgstr "Antwort" -#: models.py:834 +#: models.py:866 msgid "Votes" msgstr "Stimmen" -#: models.py:835 +#: models.py:867 msgid "Total number of votes cast for this item" msgstr "Gesamte abgegebene Stimmen für diesen Eintrag" -#: models.py:840 +#: models.py:872 msgid "Positive Votes" msgstr "Zustimmung" -#: models.py:841 +#: models.py:873 msgid "Number of votes for this item which were POSITIVE." msgstr "Anzahl der Benutzer, die diesen Eintrag hilfreich fand." -#: models.py:846 +#: models.py:878 msgid "Last Updated" msgstr "Zuletzt aktualisiert" -#: models.py:847 +#: models.py:879 msgid "The date on which this question was most recently changed." msgstr "Datum, an dem diese Frage zuletzt bearbeitet wurde." -#: models.py:861 +#: models.py:893 msgid "Unrated" msgstr "Unbewertet" -#: models.py:892 templates/helpdesk/ticket_list.html:158 +#: models.py:901 +msgid "Knowledge base item" +msgstr "" + +#: models.py:902 +msgid "Knowledge base items" +msgstr "" + +#: models.py:926 templates/helpdesk/ticket_list.html:170 msgid "Query Name" msgstr "Name der Abfrage" -#: models.py:894 +#: models.py:928 msgid "User-provided name for this query" msgstr "Vom Benutzer vergebener Name für diese Abfrage" -#: models.py:898 +#: models.py:932 msgid "Shared With Other Users?" msgstr "Mit anderen Benutzern geteilt?" -#: models.py:901 +#: models.py:935 msgid "Should other users see this query?" msgstr "Sollen andere Benutzer diese Abfrage sehen?" -#: models.py:905 +#: models.py:939 msgid "Search Query" msgstr "Abfrage suchen" -#: models.py:906 +#: models.py:940 msgid "Pickled query object. Be wary changing this." msgstr "'Serialisiertes Abfrageobjekt. Nur mit Bedacht ändern." -#: models.py:927 +#: models.py:950 +msgid "Saved search" +msgstr "" + +#: models.py:951 +msgid "Saved searches" +msgstr "" + +#: models.py:966 msgid "Settings Dictionary" msgstr "Dictionary mit Einstellungen" -#: models.py:928 +#: models.py:967 msgid "" "This is a base64-encoded representation of a pickled Python dictionary. Do " "not change this field via the admin." msgstr "Dies is eine base64-enkodierte Repräsentation eines serialisierten Python dictionaries. Ändern Sie dieses Feld nicht im Admin-Interface." -#: models.py:997 +#: models.py:993 +msgid "User Setting" +msgstr "" + +#: models.py:994 templates/helpdesk/navigation.html:37 +#: templates/helpdesk/user_settings.html:6 +msgid "User Settings" +msgstr "Benutzereinstellungen" + +#: models.py:1036 msgid "" "Leave blank for this e-mail to be ignored on all queues, or select those " "queues you wish to ignore this e-mail for." msgstr "Leerlassen, um diese E-Mail in allen Ticketsammlungen zu ignorieren, oder die Ticketsammlungen auswählen, die diese E-Mail ignorieren sollen." -#: models.py:1009 +#: models.py:1048 msgid "Date on which this e-mail address was added" msgstr "Datum an dem die E-Mail-Adresse hinzugefügt wurde" -#: models.py:1017 +#: models.py:1056 msgid "" "Enter a full e-mail address, or portions with wildcards, eg *@domain.com or " "postmaster@*." msgstr "Geben Sie eine vollständige E-Mail-Adresse oder einen Teil mit Platzhaltern ein, z.B. '*@domain.com' oder 'postmaster@*'." -#: models.py:1022 +#: models.py:1061 msgid "Save Emails in Mailbox?" msgstr "E-Mails in der Mailbox speichern?" -#: models.py:1025 +#: models.py:1064 msgid "" "Do you want to save emails from this address in the mailbox? If this is " "unticked, emails from this address will be deleted." msgstr "Möchten Sie E-Mails von dieser Adresse in der Mailbox speichern? Wenn die Box nicht angekreuzt ist, werden E-Mails von dieser Adresse gelöscht." -#: models.py:1080 +#: models.py:1101 +msgid "Ignored e-mail address" +msgstr "" + +#: models.py:1102 +msgid "Ignored e-mail addresses" +msgstr "" + +#: models.py:1124 msgid "User who wishes to receive updates for this ticket." msgstr "Benutzer, der Updates über dieses Ticket erhalten möchte." -#: models.py:1088 +#: models.py:1132 msgid "For non-user followers, enter their e-mail address" msgstr "Für nicht registrierte Benutzer nur eine E-Mail-Adresse eingeben." -#: models.py:1092 +#: models.py:1136 msgid "Can View Ticket?" msgstr "Kann Ticket einsehen?" -#: models.py:1094 +#: models.py:1138 msgid "Can this CC login to view the ticket details?" msgstr "Soll sich dieser 'CC-Benutzer' anmelden und die Ticketdetails einsehen können?" -#: models.py:1098 +#: models.py:1142 msgid "Can Update Ticket?" msgstr "Soll er das Ticket bearbeiten können?" -#: models.py:1100 +#: models.py:1144 msgid "Can this CC login and update the ticket?" msgstr "Soll dieser 'CC-Benutzer' sich anmelden und das Ticket bearbeiten können?" -#: models.py:1131 +#: models.py:1175 msgid "Field Name" msgstr "Feldname" -#: models.py:1132 +#: models.py:1176 msgid "" "As used in the database and behind the scenes. Must be unique and consist of" " only lowercase letters with no punctuation." msgstr "Wird in der Datenbank verwendet, muss unique sein und darf nur aus Kleinbuchstaben ohne Zeichensetzung bestehen." -#: models.py:1137 +#: models.py:1181 msgid "Label" msgstr "Bezeichnung" -#: models.py:1139 +#: models.py:1183 msgid "The display label for this field" msgstr "Die Bezeichnung für das Feld" -#: models.py:1143 +#: models.py:1187 msgid "Help Text" msgstr "Hilfetext" -#: models.py:1144 +#: models.py:1188 msgid "Shown to the user when editing the ticket" msgstr "Wird dem Benutzer bei der Bearbeitung des Tickets gezeigt" -#: models.py:1150 +#: models.py:1194 msgid "Character (single line)" msgstr "Zeichen (einzelne Zeile)" -#: models.py:1151 +#: models.py:1195 msgid "Text (multi-line)" msgstr "Text (mehrere Zeilen)" -#: models.py:1152 +#: models.py:1196 msgid "Integer" msgstr "Ganzzahl" -#: models.py:1153 +#: models.py:1197 msgid "Decimal" msgstr "Dezimalzahl" -#: models.py:1154 +#: models.py:1198 msgid "List" msgstr "Liste" -#: models.py:1155 +#: models.py:1199 msgid "Boolean (checkbox yes/no)" msgstr "Boolscher Wert (als Checkbox)" -#: models.py:1157 +#: models.py:1201 msgid "Time" msgstr "Zeit" -#: models.py:1158 +#: models.py:1202 msgid "Date & Time" msgstr "Datum & Zeit" -#: models.py:1160 +#: models.py:1204 msgid "URL" msgstr "URL" -#: models.py:1161 +#: models.py:1205 msgid "IP Address" msgstr "IP-Adresse" -#: models.py:1166 +#: models.py:1210 msgid "Data Type" msgstr "Datentyp" -#: models.py:1168 +#: models.py:1212 msgid "Allows you to restrict the data entered into this field" msgstr "Zum Einschränken der eingegebenen Daten verwendbar" -#: models.py:1173 +#: models.py:1217 msgid "Maximum Length (characters)" msgstr "Maximallänge" -#: models.py:1179 +#: models.py:1223 msgid "Decimal Places" msgstr "Dezimalstellen" -#: models.py:1180 +#: models.py:1224 msgid "Only used for decimal fields" msgstr "Wird nur für Dezimalzahl-Felder verwendet" -#: models.py:1186 +#: models.py:1230 msgid "Add empty first choice to List?" msgstr "" -#: models.py:1187 +#: models.py:1232 msgid "" "Only for List: adds an empty first entry to the choices list, which enforces" " that the user makes an active choice." msgstr "" -#: models.py:1191 +#: models.py:1236 msgid "List Values" msgstr "Listenwerte" -#: models.py:1192 +#: models.py:1237 msgid "For list fields only. Enter one option per line." msgstr "Ausschließlich für Listenfelder. Bitte eine Option je Zeile eingeben. " -#: models.py:1198 +#: models.py:1243 msgid "Ordering" msgstr "Reihenfolge" -#: models.py:1199 +#: models.py:1244 msgid "Lower numbers are displayed first; higher numbers are listed later" msgstr "Kleinere Zahlen werden zuerst angezeigt, höhere später." -#: models.py:1213 +#: models.py:1258 msgid "Required?" msgstr "Erforderlich?" -#: models.py:1214 +#: models.py:1259 msgid "Does the user have to enter a value for this field?" msgstr "Muss der Benutzer dieses Feld ausfüllen?" -#: models.py:1218 +#: models.py:1263 msgid "Staff Only?" msgstr "Nur für Admin-Benutzer?" -#: models.py:1219 +#: models.py:1264 msgid "" "If this is ticked, then the public submission form will NOT show this field" msgstr "Wenn aktiviert, wird dieses Feld nicht im öffentlichen Ticket Formular angezeigt." -#: models.py:1262 +#: models.py:1273 +msgid "Custom field" +msgstr "" + +#: models.py:1274 +msgid "Custom fields" +msgstr "" + +#: models.py:1297 +msgid "Ticket custom field value" +msgstr "" + +#: models.py:1298 +msgid "Ticket custom field values" +msgstr "" + +#: models.py:1315 msgid "Depends On Ticket" msgstr "hängt ab von Ticket" -#: management/commands/create_usersettings.py:21 +#: models.py:1324 +msgid "Ticket dependency" +msgstr "" + +#: models.py:1325 +msgid "Ticket dependencies" +msgstr "" + +#: management/commands/create_usersettings.py:25 msgid "" "Check for user without django-helpdesk UserSettings and create settings if " "required. Uses settings.DEFAULT_USER_SETTINGS which can be overridden to " "suit your situation." msgstr "Suche nach Benutzern ohne django-helpdesk UserSettings und erstelle diese. Verwendet settings.DEFAULT_USER_SETTINGS, die bei Bedarf überschrieben werden können." -#: management/commands/escalate_tickets.py:143 +#: management/commands/escalate_tickets.py:148 #, python-format msgid "Ticket escalated after %s days" msgstr "Ticket nach %s Tagen eskaliert" -#: management/commands/get_email.py:151 +#: management/commands/get_email.py:158 msgid "Created from e-mail" msgstr "Aus E-Mail erstellt" -#: management/commands/get_email.py:155 +#: management/commands/get_email.py:162 msgid "Unknown Sender" msgstr "Unbekannter Absender" -#: management/commands/get_email.py:209 +#: management/commands/get_email.py:216 msgid "" "No plain-text email body available. Please see attachment " "email_html_body.html." msgstr "E-Mail nicht als einfacher Text verfügbar. Siehe Anhang email_html_body.html." -#: management/commands/get_email.py:213 +#: management/commands/get_email.py:220 msgid "email_html_body.html" msgstr "email_html_body.html" -#: management/commands/get_email.py:256 +#: management/commands/get_email.py:263 #, python-format msgid "E-Mail Received from %(sender_email)s" msgstr "E-Mail empfangen von %(sender_email)s" -#: management/commands/get_email.py:264 +#: management/commands/get_email.py:271 #, python-format msgid "Ticket Re-Opened by E-Mail Received from %(sender_email)s" msgstr "Ticket wieder geöffnet durch empfangene E-Mail von %(sender_email)s" -#: management/commands/get_email.py:322 +#: management/commands/get_email.py:329 msgid " (Reopened)" msgstr "(Wieder geöffnet)" -#: management/commands/get_email.py:324 +#: management/commands/get_email.py:331 msgid " (Updated)" msgstr "Aktualisiert" #: templates/helpdesk/attribution.html:2 msgid "" -"Powered by django-" -"helpdesk." +"django-helpdesk." msgstr "" -#: templates/helpdesk/attribution.html:4 -msgid "For technical support please contact:" -msgstr "" - -#: templates/helpdesk/base.html:9 +#: templates/helpdesk/base.html:10 msgid "Powered by django-helpdesk" msgstr "Powered by django-helpdesk" -#: templates/helpdesk/base.html:19 templates/helpdesk/rss_list.html:9 -#: templates/helpdesk/rss_list.html:23 templates/helpdesk/rss_list.html:28 +#: templates/helpdesk/base.html:20 templates/helpdesk/rss_list.html:9 +#: templates/helpdesk/rss_list.html:24 templates/helpdesk/rss_list.html:31 msgid "My Open Tickets" msgstr "Meine offenen Tickets" -#: templates/helpdesk/base.html:20 +#: templates/helpdesk/base.html:21 msgid "All Recent Activity" msgstr "Letzte Aktivitäten" -#: templates/helpdesk/base.html:21 templates/helpdesk/dashboard.html:76 +#: templates/helpdesk/base.html:22 templates/helpdesk/dashboard.html:99 #: templates/helpdesk/rss_list.html:15 msgid "Unassigned Tickets" msgstr "Nicht zugewiesene Tickets" -#: templates/helpdesk/base.html:101 templates/helpdesk/public_base.html:6 -#: templates/helpdesk/public_base.html:14 +#: templates/helpdesk/base.html:52 templates/helpdesk/public_base.html:6 +#: templates/helpdesk/public_base.html:18 msgid "Helpdesk" msgstr "Helpdesk" -#: templates/helpdesk/base.html:111 templates/helpdesk/rss_list.html:9 +#: templates/helpdesk/base.html:62 templates/helpdesk/rss_list.html:9 #: templates/helpdesk/rss_list.html:12 templates/helpdesk/rss_list.html:15 -#: templates/helpdesk/rss_list.html:27 templates/helpdesk/rss_list.html:28 +#: templates/helpdesk/rss_list.html:30 templates/helpdesk/rss_list.html:31 msgid "RSS Icon" msgstr "RSS-Icon" -#: templates/helpdesk/base.html:111 templates/helpdesk/rss_list.html:2 +#: templates/helpdesk/base.html:62 templates/helpdesk/rss_list.html:2 #: templates/helpdesk/rss_list.html.py:4 msgid "RSS Feeds" msgstr "RSS-Feeds" -#: templates/helpdesk/base.html:112 +#: templates/helpdesk/base.html:63 msgid "API" msgstr "API" -#: templates/helpdesk/base.html:113 -msgid "User Settings" -msgstr "Benutzereinstellungen" - -#: templates/helpdesk/base.html:115 -msgid "Change Language" -msgstr "Sprache ändern" - -#: templates/helpdesk/base.html:117 +#: templates/helpdesk/base.html:64 templates/helpdesk/system_settings.html:6 msgid "System Settings" msgstr "Systemeinstellungen" #: templates/helpdesk/confirm_delete_saved_query.html:3 -#: templates/helpdesk/ticket_list.html:144 +#: templates/helpdesk/ticket_list.html:146 msgid "Delete Saved Query" msgstr "Gespeicherte Abfrage löschen" -#: templates/helpdesk/confirm_delete_saved_query.html:5 +#: templates/helpdesk/confirm_delete_saved_query.html:6 +msgid "Delete Query" +msgstr "" + +#: templates/helpdesk/confirm_delete_saved_query.html:8 #, python-format msgid "" -"\n" -"

Delete Query

\n" -"\n" -"

Are you sure you want to delete this saved filter (%(query_title)s)? To re-create it, you will need to manually re-filter your ticket listing.

\n" +"Are you sure you want to delete this saved filter " +"(%(query_title)s)? To re-create it, you will need to manually re-" +"filter your ticket listing." msgstr "" #: templates/helpdesk/confirm_delete_saved_query.html:11 msgid "" -"\n" -"

You have shared this query, so other users may be using it. If you delete it, they will have to manually create their own query.

\n" +"You have shared this query, so other users may be using it. If you delete " +"it, they will have to manually create their own query." msgstr "" -#: templates/helpdesk/confirm_delete_saved_query.html:15 -#: templates/helpdesk/delete_ticket.html:11 +#: templates/helpdesk/confirm_delete_saved_query.html:14 +#: templates/helpdesk/delete_ticket.html:10 msgid "No, Don't Delete It" msgstr "" -#: templates/helpdesk/confirm_delete_saved_query.html:17 -#: templates/helpdesk/delete_ticket.html:13 +#: templates/helpdesk/confirm_delete_saved_query.html:16 +#: templates/helpdesk/delete_ticket.html:12 msgid "Yes - Delete It" msgstr "" @@ -1073,21 +1173,25 @@ msgstr "" msgid "Create Ticket" msgstr "" -#: templates/helpdesk/create_ticket.html:6 -msgid "" -"

Submit a Ticket

\n" -"\n" -"

Unless otherwise stated, all fields are required. Please provide as descriptive a title and description as possible.

" +#: templates/helpdesk/create_ticket.html:10 +#: templates/helpdesk/navigation.html:65 templates/helpdesk/navigation.html:68 +#: templates/helpdesk/public_homepage.html:27 +msgid "Submit a Ticket" msgstr "" -#: templates/helpdesk/create_ticket.html:17 -#: templates/helpdesk/edit_ticket.html:19 -#: templates/helpdesk/public_homepage.html:50 -msgid "(Optional)" -msgstr "(Optional)" +#: templates/helpdesk/create_ticket.html:11 +#: templates/helpdesk/edit_ticket.html:11 +msgid "Unless otherwise stated, all fields are required." +msgstr "" -#: templates/helpdesk/create_ticket.html:26 -#: templates/helpdesk/public_homepage.html:59 +#: templates/helpdesk/create_ticket.html:11 +#: templates/helpdesk/edit_ticket.html:11 +#: templates/helpdesk/public_homepage.html:28 +msgid "Please provide as descriptive a title and description as possible." +msgstr "" + +#: templates/helpdesk/create_ticket.html:30 +#: templates/helpdesk/public_homepage.html:55 msgid "Submit Ticket" msgstr "" @@ -1095,136 +1199,176 @@ msgstr "" msgid "Helpdesk Dashboard" msgstr "Helpdesk-Dashboard" -#: templates/helpdesk/dashboard.html:10 -msgid "Helpdesk Summary" -msgstr "Helpdesk-Zusammenfassung" - -#: templates/helpdesk/dashboard.html:25 +#: templates/helpdesk/dashboard.html:9 msgid "" "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." msgstr "" -#: templates/helpdesk/dashboard.html:27 -msgid "" -"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?" -msgstr "" +#: templates/helpdesk/dashboard.html:14 +msgid "Helpdesk Summary" +msgstr "Helpdesk-Zusammenfassung" #: templates/helpdesk/dashboard.html:36 +msgid "Current Ticket Stats" +msgstr "" + +#: templates/helpdesk/dashboard.html:37 +msgid "Average number of days until ticket is closed (all tickets): " +msgstr "" + +#: templates/helpdesk/dashboard.html:38 +msgid "" +"Average number of days until ticket is closed (tickets opened in last 60 " +"days): " +msgstr "" + +#: templates/helpdesk/dashboard.html:39 +msgid "Click" +msgstr "" + +#: templates/helpdesk/dashboard.html:39 +msgid "for detailed average by month." +msgstr "" + +#: templates/helpdesk/dashboard.html:40 +msgid "Distribution of open tickets, grouped by time period:" +msgstr "" + +#: templates/helpdesk/dashboard.html:41 +msgid "Days since opened" +msgstr "" + +#: templates/helpdesk/dashboard.html:41 +msgid "Number of open tickets" +msgstr "" + +#: templates/helpdesk/dashboard.html:57 msgid "All Tickets submitted by you" msgstr "" -#: templates/helpdesk/dashboard.html:37 templates/helpdesk/dashboard.html:57 -#: templates/helpdesk/dashboard.html:77 templates/helpdesk/dashboard.html:99 -#: templates/helpdesk/ticket_list.html:199 +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:100 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket_list.html:225 msgid "Pr" msgstr "" -#: templates/helpdesk/dashboard.html:37 templates/helpdesk/dashboard.html:57 -#: templates/helpdesk/dashboard.html:99 +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:124 msgid "Last Update" msgstr "Letzte Änderung" -#: templates/helpdesk/dashboard.html:56 +#: templates/helpdesk/dashboard.html:77 msgid "Open Tickets assigned to you (you are working on this ticket)" msgstr "" -#: templates/helpdesk/dashboard.html:69 +#: templates/helpdesk/dashboard.html:92 msgid "You have no tickets assigned to you." msgstr "Ihnen sind keine Tickets zugewiesen." -#: templates/helpdesk/dashboard.html:76 +#: templates/helpdesk/dashboard.html:99 msgid "(pick up a ticket if you start to work on it)" msgstr "" -#: templates/helpdesk/dashboard.html:85 -#: templates/helpdesk/ticket_desc_table.html:22 +#: templates/helpdesk/dashboard.html:110 +#: templates/helpdesk/ticket_desc_table.html:38 msgid "Take" msgstr "" -#: templates/helpdesk/dashboard.html:85 +#: templates/helpdesk/dashboard.html:110 #: templates/helpdesk/email_ignore_list.html:13 #: templates/helpdesk/email_ignore_list.html:23 #: templates/helpdesk/ticket_cc_list.html:15 #: templates/helpdesk/ticket_cc_list.html:23 -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Delete" msgstr "Löschen" -#: templates/helpdesk/dashboard.html:89 +#: templates/helpdesk/dashboard.html:114 msgid "There are no unassigned tickets." msgstr "Es existieren derzeit keine nicht-zugewiesenen Tickets." -#: templates/helpdesk/dashboard.html:98 +#: templates/helpdesk/dashboard.html:123 msgid "Closed & resolved Tickets you used to work on" msgstr "" #: templates/helpdesk/delete_ticket.html:3 +#: templates/helpdesk/delete_ticket.html:6 msgid "Delete Ticket" msgstr "Ticket löschen" -#: templates/helpdesk/delete_ticket.html:5 +#: templates/helpdesk/delete_ticket.html:8 #, python-format msgid "" -"\n" -"

Delete Ticket

\n" -"\n" -"

Are you sure you want to delete this ticket (%(ticket_title)s)? All traces of the ticket, including followups, attachments, and updates will be irreversably removed.

\n" +"Are you sure you want to delete this ticket (%(ticket_title)s)? All" +" traces of the ticket, including followups, attachments, and updates will be" +" irreversibly removed." msgstr "" #: templates/helpdesk/edit_ticket.html:3 msgid "Edit Ticket" msgstr "Ticket bearbeiten" -#: templates/helpdesk/edit_ticket.html:6 -msgid "" -"

Edit a Ticket

\n" -"\n" -"

Unless otherwise stated, all fields are required. Please provide as descriptive a title and description as possible.

\n" -"\n" -"

Note: Editing a ticket does not send an e-mail to the ticket owner or submitter. No new details should be entered, this form should only be used to fix incorrect details or clean up the submission.

" +#: templates/helpdesk/edit_ticket.html:9 +msgid "Edit a Ticket" msgstr "" -#: templates/helpdesk/edit_ticket.html:28 +#: templates/helpdesk/edit_ticket.html:13 +msgid "Note" +msgstr "" + +#: templates/helpdesk/edit_ticket.html:13 +msgid "" +"Editing a ticket does not send an e-mail to the ticket owner or " +"submitter. No new details should be entered, this form should only be used " +"to fix incorrect details or clean up the submission." +msgstr "" + +#: templates/helpdesk/edit_ticket.html:33 msgid "Save Changes" msgstr "Änderungen speichern" #: templates/helpdesk/email_ignore_add.html:3 +#: templates/helpdesk/email_ignore_add.html:6 #: templates/helpdesk/email_ignore_add.html:23 msgid "Ignore E-Mail Address" msgstr "" -#: templates/helpdesk/email_ignore_add.html:5 +#: templates/helpdesk/email_ignore_add.html:8 msgid "" -"\n" -"

Ignore E-Mail Address

\n" -"\n" -"

To ignore an e-mail address and prevent any emails from that address creating tickets automatically, enter the e-mail address below.

\n" -"\n" -"

You can either enter a whole e-mail address such as email@domain.com or a portion of an e-mail address with a wildcard, such as *@domain.com or user@*.

" +"To ignore an e-mail address and prevent any emails from that address " +"creating tickets automatically, enter the e-mail address below." +msgstr "" + +#: templates/helpdesk/email_ignore_add.html:10 +msgid "" +"You can either enter a whole e-mail address such as " +"email@domain.com or a portion of an e-mail address with a wildcard," +" such as *@domain.com or user@*." msgstr "" #: templates/helpdesk/email_ignore_del.html:3 msgid "Delete Ignored E-Mail Address" msgstr "" -#: templates/helpdesk/email_ignore_del.html:5 -#, python-format -msgid "" -"\n" -"

Un-Ignore E-Mail Address

\n" -"\n" -"

Are you sure you wish to stop removing this email address (%(email_address)s) and allow their e-mails to automatically create tickets in your system? You can re-add this e-mail address at any time.

\n" +#: templates/helpdesk/email_ignore_del.html:6 +msgid "Un-Ignore E-Mail Address" msgstr "" -#: templates/helpdesk/email_ignore_del.html:11 +#: templates/helpdesk/email_ignore_del.html:8 +#, python-format +msgid "" +"Are you sure you wish to stop removing this email address " +"(%(email_address)s) and allow their e-mails to automatically create" +" tickets in your system? You can re-add this e-mail address at any time." +msgstr "" + +#: templates/helpdesk/email_ignore_del.html:10 msgid "Keep Ignoring It" msgstr "" -#: templates/helpdesk/email_ignore_del.html:13 +#: templates/helpdesk/email_ignore_del.html:12 msgid "Stop Ignoring It" msgstr "" @@ -1245,16 +1389,12 @@ msgstr "" msgid "Date Added" msgstr "" -#: templates/helpdesk/email_ignore_list.html:13 -msgid "Queues" -msgstr "" - #: templates/helpdesk/email_ignore_list.html:13 msgid "Keep in mailbox?" msgstr "" #: templates/helpdesk/email_ignore_list.html:21 -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "All" msgstr "Alle" @@ -1289,7 +1429,7 @@ msgid "Comment:" msgstr "Kommentar:" #: templates/helpdesk/kb_category.html:4 -#: templates/helpdesk/kb_category.html:11 +#: templates/helpdesk/kb_category.html:12 #, python-format msgid "Knowledgebase Category: %(kbcat)s" msgstr "" @@ -1299,12 +1439,12 @@ msgstr "" msgid "You are viewing all items in the %(kbcat)s category." msgstr "" -#: templates/helpdesk/kb_category.html:12 +#: templates/helpdesk/kb_category.html:13 msgid "Article" msgstr "Artikel" -#: templates/helpdesk/kb_index.html:4 templates/helpdesk/navigation.html:11 -#: templates/helpdesk/navigation.html:33 +#: templates/helpdesk/kb_index.html:4 templates/helpdesk/navigation.html:21 +#: templates/helpdesk/navigation.html:71 msgid "Knowledgebase" msgstr "Wissensdatenbank" @@ -1315,8 +1455,8 @@ msgid "" "your problem prior to opening a support ticket." msgstr "" -#: templates/helpdesk/kb_index.html:9 -#: templates/helpdesk/public_homepage.html:9 +#: templates/helpdesk/kb_index.html:10 +#: templates/helpdesk/public_homepage.html:10 msgid "Knowledgebase Categories" msgstr "Wissendatenbank-Kategorien" @@ -1325,7 +1465,7 @@ msgstr "Wissendatenbank-Kategorien" msgid "Knowledgebase: %(item)s" msgstr "Wissensdatenbank: %(item)s" -#: templates/helpdesk/kb_item.html:13 +#: templates/helpdesk/kb_item.html:16 #, python-format msgid "" "View other %(category_title)s " @@ -1333,88 +1473,82 @@ msgid "" "articles." msgstr "" -#: templates/helpdesk/kb_item.html:15 +#: templates/helpdesk/kb_item.html:18 msgid "Feedback" msgstr "Feedback" -#: templates/helpdesk/kb_item.html:17 +#: templates/helpdesk/kb_item.html:20 msgid "" "We give our users an opportunity to vote for items that they believe have " "helped them out, in order for us to better serve future customers. We would " "appreciate your feedback on this article. Did you find it useful?" msgstr "" -#: templates/helpdesk/kb_item.html:20 +#: templates/helpdesk/kb_item.html:23 msgid "This article was useful to me" msgstr "Dieser Artikel war hilfreich." -#: templates/helpdesk/kb_item.html:21 +#: templates/helpdesk/kb_item.html:24 msgid "This article was not useful to me" msgstr "Dieser Artikel war nicht hilfreich." -#: templates/helpdesk/kb_item.html:24 +#: templates/helpdesk/kb_item.html:27 msgid "The results of voting by other readers of this article are below:" msgstr "" -#: templates/helpdesk/kb_item.html:27 +#: templates/helpdesk/kb_item.html:30 #, python-format msgid "Recommendations: %(recommendations)s" msgstr "Empfehlungen: %(recommendations)s" -#: templates/helpdesk/kb_item.html:28 +#: templates/helpdesk/kb_item.html:31 #, python-format msgid "Votes: %(votes)s" msgstr "" -#: templates/helpdesk/kb_item.html:29 +#: templates/helpdesk/kb_item.html:32 #, python-format msgid "Overall Rating: %(score)s" msgstr "" -#: templates/helpdesk/navigation.html:4 +#: templates/helpdesk/navigation.html:16 templates/helpdesk/navigation.html:64 msgid "Dashboard" msgstr "Dashboard" -#: templates/helpdesk/navigation.html:5 -#: templates/helpdesk/ticket_list.html:198 -msgid "Tickets" -msgstr "Tickets" - -#: templates/helpdesk/navigation.html:6 +#: templates/helpdesk/navigation.html:18 msgid "New Ticket" msgstr "Neues Ticket" -#: templates/helpdesk/navigation.html:8 +#: templates/helpdesk/navigation.html:19 msgid "Stats" msgstr "Statistiken" -#: templates/helpdesk/navigation.html:14 -#: templates/helpdesk/ticket_list.html:46 -msgid "Load Saved Query" +#: templates/helpdesk/navigation.html:24 +msgid "Saved Query" msgstr "" -#: templates/helpdesk/navigation.html:25 templates/helpdesk/navigation.html:35 -msgid "Logout" -msgstr "Abmelden" +#: templates/helpdesk/navigation.html:39 +msgid "Change password" +msgstr "" -#: templates/helpdesk/navigation.html:26 +#: templates/helpdesk/navigation.html:50 msgid "Search..." msgstr "Suchen..." -#: templates/helpdesk/navigation.html:26 +#: templates/helpdesk/navigation.html:50 msgid "Enter a keyword, or a ticket number to jump straight to that ticket." msgstr "" -#: templates/helpdesk/navigation.html:31 -msgid "Submit A Ticket" -msgstr "" +#: templates/helpdesk/navigation.html:73 +msgid "Logout" +msgstr "Abmelden" -#: templates/helpdesk/navigation.html:35 +#: templates/helpdesk/navigation.html:73 msgid "Log In" msgstr "Anmelden" #: templates/helpdesk/public_change_language.html:2 -#: templates/helpdesk/public_homepage.html:21 +#: templates/helpdesk/public_homepage.html:73 #: templates/helpdesk/public_view_form.html:4 #: templates/helpdesk/public_view_ticket.html:2 msgid "View a Ticket" @@ -1428,74 +1562,81 @@ msgstr "Anzeigesprache ändern" msgid "Knowledgebase Articles" msgstr "Wissensdatenbank-Artikel" -#: templates/helpdesk/public_homepage.html:29 +#: templates/helpdesk/public_homepage.html:28 +msgid "All fields are required." +msgstr "" + +#: templates/helpdesk/public_homepage.html:66 +msgid "Please use button at upper right to login first." +msgstr "" + +#: templates/helpdesk/public_homepage.html:82 #: templates/helpdesk/public_view_form.html:15 msgid "Your E-mail Address" msgstr "Ihre E-Mail-Adresse" -#: templates/helpdesk/public_homepage.html:33 +#: templates/helpdesk/public_homepage.html:86 #: templates/helpdesk/public_view_form.html:19 msgid "View Ticket" msgstr "Ticket betrachten" -#: templates/helpdesk/public_homepage.html:39 -msgid "Submit a Ticket" -msgstr "" - -#: templates/helpdesk/public_homepage.html:41 -msgid "" -"All fields are required. Please provide as descriptive a title and " -"description as possible." -msgstr "" - -#: templates/helpdesk/public_homepage.html:67 -msgid "Please use button at upper right to login first." -msgstr "" - #: templates/helpdesk/public_spam.html:4 msgid "Unable To Open Ticket" msgstr "" +#: templates/helpdesk/public_spam.html:5 +msgid "Sorry, but there has been an error trying to submit your ticket." +msgstr "" + #: templates/helpdesk/public_spam.html:6 msgid "" -"

Sorry, but there has been an error trying to submit your ticket.

\n" -"\n" -"

Our system has marked your submission as spam, so we are unable to save it. If this is not spam, please press back and re-type your message. Be careful to avoid sounding 'spammy', and if you have heaps of links please try removing them if possible.

\n" -"\n" -"

We are sorry for any inconvenience, however this check is required to avoid our helpdesk resources being overloaded by spammers.

\n" +"Our system has marked your submission as spam, so we are " +"unable to save it. If this is not spam, please press back and re-type your " +"message. Be careful to avoid sounding 'spammy', and if you have heaps of " +"links please try removing them if possible." +msgstr "" + +#: templates/helpdesk/public_spam.html:7 +msgid "" +"We are sorry for any inconvenience, however this check is required to avoid " +"our helpdesk resources being overloaded by spammers." msgstr "" #: templates/helpdesk/public_view_form.html:8 msgid "Error:" msgstr "Fehler:" -#: templates/helpdesk/public_view_ticket.html:8 +#: templates/helpdesk/public_view_ticket.html:9 #, python-format msgid "Queue: %(queue_name)s" msgstr "Ticketsammlung: %(queue_name)s" -#: templates/helpdesk/public_view_ticket.html:11 -#: templates/helpdesk/ticket_desc_table.html:16 +#: templates/helpdesk/public_view_ticket.html:13 +#: templates/helpdesk/ticket_desc_table.html:32 msgid "Submitted On" msgstr "" -#: templates/helpdesk/public_view_ticket.html:46 -#: templates/helpdesk/ticket_desc_table.html:74 +#: templates/helpdesk/public_view_ticket.html:35 +msgid "Tags" +msgstr "Tags" + +#: templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 msgid "Accept" msgstr "Akzeptieren" -#: templates/helpdesk/public_view_ticket.html:46 -#: templates/helpdesk/ticket_desc_table.html:74 +#: templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 msgid "Accept and Close" msgstr "Akzeptieren und schließen" -#: templates/helpdesk/public_view_ticket.html:55 -#: templates/helpdesk/ticket.html:64 +#: templates/helpdesk/public_view_ticket.html:57 +#: templates/helpdesk/ticket.html:66 msgid "Follow-Ups" msgstr "" -#: templates/helpdesk/public_view_ticket.html:63 -#: templates/helpdesk/ticket.html:92 +#: templates/helpdesk/public_view_ticket.html:65 +#: templates/helpdesk/ticket.html:100 #, python-format msgid "Changed %(field)s from %(old_value)s to %(new_value)s." msgstr "" @@ -1538,6 +1679,10 @@ msgstr "" msgid "Reports By Queue" msgstr "" +#: templates/helpdesk/report_index.html:27 views/staff.py:1049 +msgid "Days until ticket closed by Month" +msgstr "" + #: templates/helpdesk/report_output.html:19 msgid "" "You can run this query on filtered data by using one of your saved queries." @@ -1595,15 +1740,15 @@ msgid "" "new tickets coming into that queue." msgstr "" -#: templates/helpdesk/rss_list.html:22 +#: templates/helpdesk/rss_list.html:23 msgid "Per-Queue Feeds" msgstr "" -#: templates/helpdesk/rss_list.html:23 +#: templates/helpdesk/rss_list.html:24 msgid "All Open Tickets" msgstr "Alle offenen Tickets" -#: templates/helpdesk/rss_list.html:27 +#: templates/helpdesk/rss_list.html:30 msgid "Open Tickets" msgstr "Offene Tickets" @@ -1611,12 +1756,8 @@ msgstr "Offene Tickets" msgid "Change System Settings" msgstr "Systemeinstellungen ändern" -#: templates/helpdesk/system_settings.html:5 -msgid "" -"\n" -"

System Settings

\n" -"\n" -"

The following items can be maintained by you or other superusers:

" +#: templates/helpdesk/system_settings.html:8 +msgid "The following items can be maintained by you or other superusers:" msgstr "" #: templates/helpdesk/system_settings.html:11 @@ -1655,77 +1796,81 @@ msgstr "" msgid "Attach another File" msgstr "" -#: templates/helpdesk/ticket.html:34 templates/helpdesk/ticket.html.py:197 +#: templates/helpdesk/ticket.html:34 templates/helpdesk/ticket.html.py:200 msgid "Add Another File" msgstr "" -#: templates/helpdesk/ticket.html:71 templates/helpdesk/ticket.html.py:81 +#: templates/helpdesk/ticket.html:73 templates/helpdesk/ticket.html.py:86 msgid "Private" msgstr "Privat" -#: templates/helpdesk/ticket.html:111 +#: templates/helpdesk/ticket.html:119 msgid "Respond to this ticket" msgstr "" -#: templates/helpdesk/ticket.html:118 +#: templates/helpdesk/ticket.html:126 msgid "Use a Pre-set Reply" msgstr "" -#: templates/helpdesk/ticket.html:120 +#: templates/helpdesk/ticket.html:126 templates/helpdesk/ticket.html.py:166 +msgid "(Optional)" +msgstr "(Optional)" + +#: templates/helpdesk/ticket.html:128 msgid "" "Selecting a pre-set reply will over-write your comment below. You can then " "modify the pre-set reply to your liking before saving this update." msgstr "" -#: templates/helpdesk/ticket.html:123 +#: templates/helpdesk/ticket.html:131 msgid "Comment / Resolution" msgstr "" -#: templates/helpdesk/ticket.html:125 +#: templates/helpdesk/ticket.html:133 msgid "" "You can insert ticket and queue details in your message. For more " "information, see the context help page." msgstr "" -#: templates/helpdesk/ticket.html:128 +#: templates/helpdesk/ticket.html:136 msgid "" "This ticket cannot be resolved or closed until the tickets it depends on are" " resolved." msgstr "" -#: templates/helpdesk/ticket.html:158 +#: templates/helpdesk/ticket.html:166 msgid "Is this update public?" msgstr "" -#: templates/helpdesk/ticket.html:160 +#: templates/helpdesk/ticket.html:168 msgid "" "If this is public, the submitter will be e-mailed your comment or " "resolution." msgstr "" -#: templates/helpdesk/ticket.html:164 +#: templates/helpdesk/ticket.html:172 msgid "Change Further Details »" msgstr "" -#: templates/helpdesk/ticket.html:173 templates/helpdesk/ticket_list.html:55 -#: templates/helpdesk/ticket_list.html:87 -#: templates/helpdesk/ticket_list.html:199 +#: templates/helpdesk/ticket.html:181 templates/helpdesk/ticket_list.html:68 +#: templates/helpdesk/ticket_list.html:97 +#: templates/helpdesk/ticket_list.html:225 msgid "Owner" msgstr "Eigentümer" -#: templates/helpdesk/ticket.html:174 +#: templates/helpdesk/ticket.html:182 msgid "Unassign" msgstr "Zuweisung zurücknehmen" -#: templates/helpdesk/ticket.html:190 +#: templates/helpdesk/ticket.html:193 msgid "Attach File(s) »" msgstr "Datei(en) anhängen »" -#: templates/helpdesk/ticket.html:196 +#: templates/helpdesk/ticket.html:199 msgid "Attach a File" msgstr "Datei anhängen" -#: templates/helpdesk/ticket.html:204 +#: templates/helpdesk/ticket.html:207 msgid "Update This Ticket" msgstr "" @@ -1828,263 +1973,256 @@ msgid "" "

Are you sure you wish to remove the dependency on this ticket?

\n" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:11 +#: templates/helpdesk/ticket_desc_table.html:7 msgid "Unhold" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:11 +#: templates/helpdesk/ticket_desc_table.html:7 msgid "Hold" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:13 +#: templates/helpdesk/ticket_desc_table.html:9 #, python-format msgid "Queue: %(queue)s" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:21 +#: templates/helpdesk/ticket_desc_table.html:37 msgid "Assigned To" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:27 +#: templates/helpdesk/ticket_desc_table.html:43 msgid "Ignore" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:36 +#: templates/helpdesk/ticket_desc_table.html:52 msgid "Copies To" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:37 +#: templates/helpdesk/ticket_desc_table.html:53 msgid "Manage" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:37 +#: templates/helpdesk/ticket_desc_table.html:53 msgid "" "Click here to add / remove people who should receive an e-mail whenever this" " ticket is updated." msgstr "" -#: templates/helpdesk/ticket_desc_table.html:48 +#: templates/helpdesk/ticket_desc_table.html:53 +msgid "Subscribe" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:53 +msgid "" +"Click here to subscribe yourself to this ticket, if you want to receive an " +"e-mail whenever this ticket is updated." +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:57 msgid "Dependencies" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:50 +#: templates/helpdesk/ticket_desc_table.html:59 msgid "" "This ticket cannot be resolved until the following ticket(s) are resolved" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:51 +#: templates/helpdesk/ticket_desc_table.html:60 msgid "Remove Dependency" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:54 +#: templates/helpdesk/ticket_desc_table.html:63 msgid "This ticket has no dependencies." msgstr "" -#: templates/helpdesk/ticket_desc_table.html:56 +#: templates/helpdesk/ticket_desc_table.html:65 msgid "Add Dependency" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:56 +#: templates/helpdesk/ticket_desc_table.html:65 msgid "" "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." msgstr "" -#: templates/helpdesk/ticket_list.html:2 -msgid "Ticket Listing" -msgstr "" - -#: templates/helpdesk/ticket_list.html:41 -msgid "Query Options" -msgstr "" - -#: templates/helpdesk/ticket_list.html:43 -msgid "Save This Query" -msgstr "" - -#: templates/helpdesk/ticket_list.html:51 +#: templates/helpdesk/ticket_list.html:59 msgid "Change Query" msgstr "" -#: templates/helpdesk/ticket_list.html:54 -#: templates/helpdesk/ticket_list.html:69 +#: templates/helpdesk/ticket_list.html:67 +#: templates/helpdesk/ticket_list.html:79 msgid "Sorting" msgstr "" -#: templates/helpdesk/ticket_list.html:58 -#: templates/helpdesk/ticket_list.html:137 +#: templates/helpdesk/ticket_list.html:71 +#: templates/helpdesk/ticket_list.html:139 msgid "Keywords" msgstr "" -#: templates/helpdesk/ticket_list.html:59 +#: templates/helpdesk/ticket_list.html:72 msgid "Date Range" msgstr "" -#: templates/helpdesk/ticket_list.html:90 +#: templates/helpdesk/ticket_list.html:100 msgid "Reverse" msgstr "" -#: templates/helpdesk/ticket_list.html:92 +#: templates/helpdesk/ticket_list.html:102 msgid "Ordering applied to tickets" msgstr "" -#: templates/helpdesk/ticket_list.html:97 +#: templates/helpdesk/ticket_list.html:107 msgid "Owner(s)" msgstr "" -#: templates/helpdesk/ticket_list.html:101 +#: templates/helpdesk/ticket_list.html:111 msgid "(ME)" msgstr "" -#: templates/helpdesk/ticket_list.html:105 +#: templates/helpdesk/ticket_list.html:115 msgid "Ctrl-Click to select multiple options" msgstr "" -#: templates/helpdesk/ticket_list.html:110 +#: templates/helpdesk/ticket_list.html:120 msgid "Queue(s)" msgstr "" -#: templates/helpdesk/ticket_list.html:111 -#: templates/helpdesk/ticket_list.html:117 -#: templates/helpdesk/ticket_list.html:131 +#: templates/helpdesk/ticket_list.html:121 +#: templates/helpdesk/ticket_list.html:127 msgid "Ctrl-click to select multiple options" msgstr "" -#: templates/helpdesk/ticket_list.html:116 +#: templates/helpdesk/ticket_list.html:126 msgid "Status(es)" msgstr "" -#: templates/helpdesk/ticket_list.html:122 +#: templates/helpdesk/ticket_list.html:132 msgid "Date (From)" msgstr "Datum (von)" -#: templates/helpdesk/ticket_list.html:123 +#: templates/helpdesk/ticket_list.html:133 msgid "Date (To)" msgstr "Datum (bis)" -#: templates/helpdesk/ticket_list.html:124 +#: templates/helpdesk/ticket_list.html:134 msgid "Use YYYY-MM-DD date format, eg 2011-05-29" msgstr "" -#: templates/helpdesk/ticket_list.html:130 -msgid "Tag(s)" -msgstr "" - -#: templates/helpdesk/ticket_list.html:138 +#: templates/helpdesk/ticket_list.html:140 msgid "" "Keywords are case-insensitive, and will be looked for in the title, body and" " submitter fields." msgstr "" -#: templates/helpdesk/ticket_list.html:142 +#: templates/helpdesk/ticket_list.html:144 msgid "Apply Filter" msgstr "" -#: templates/helpdesk/ticket_list.html:144 +#: templates/helpdesk/ticket_list.html:146 #, python-format -msgid "You are currently viewing saved query %(query_name)s." +msgid "You are currently viewing saved query \"%(query_name)s\"." msgstr "" -#: templates/helpdesk/ticket_list.html:147 +#: templates/helpdesk/ticket_list.html:149 #, python-format msgid "" "Run a report on this " "query to see stats and charts for the data listed below." msgstr "" -#: templates/helpdesk/ticket_list.html:154 -#: templates/helpdesk/ticket_list.html:169 +#: templates/helpdesk/ticket_list.html:162 +#: templates/helpdesk/ticket_list.html:181 msgid "Save Query" msgstr "" -#: templates/helpdesk/ticket_list.html:160 +#: templates/helpdesk/ticket_list.html:172 msgid "" "This name appears in the drop-down list of saved queries. If you share your " "query, other users will see this name, so choose something clear and " "descriptive!" msgstr "" -#: templates/helpdesk/ticket_list.html:162 +#: templates/helpdesk/ticket_list.html:174 msgid "Shared?" msgstr "" -#: templates/helpdesk/ticket_list.html:163 +#: templates/helpdesk/ticket_list.html:175 msgid "Yes, share this query with other users." msgstr "" -#: templates/helpdesk/ticket_list.html:164 +#: templates/helpdesk/ticket_list.html:176 msgid "" "If you share this query, it will be visible by all other logged-in " "users." msgstr "" -#: templates/helpdesk/ticket_list.html:176 +#: templates/helpdesk/ticket_list.html:195 msgid "Use Saved Query" msgstr "" -#: templates/helpdesk/ticket_list.html:178 +#: templates/helpdesk/ticket_list.html:202 msgid "Query" msgstr "" -#: templates/helpdesk/ticket_list.html:183 +#: templates/helpdesk/ticket_list.html:207 msgid "Run Query" msgstr "" -#: templates/helpdesk/ticket_list.html:213 +#: templates/helpdesk/ticket_list.html:240 msgid "No Tickets Match Your Selection" msgstr "" -#: templates/helpdesk/ticket_list.html:219 +#: templates/helpdesk/ticket_list.html:247 msgid "Previous" msgstr "" -#: templates/helpdesk/ticket_list.html:223 +#: templates/helpdesk/ticket_list.html:251 #, python-format msgid "Page %(ticket_num)s of %(num_pages)s." msgstr "" -#: templates/helpdesk/ticket_list.html:227 +#: templates/helpdesk/ticket_list.html:255 msgid "Next" msgstr "" -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "Select:" msgstr "" -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "None" msgstr "" -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "Inverse" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "With Selected Tickets:" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Take (Assign to me)" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Close" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Close (Don't Send E-Mail)" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Close (Send E-Mail)" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Assign To" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Nobody (Unassign)" msgstr "" @@ -2092,15 +2230,13 @@ msgstr "" msgid "Change User Settings" msgstr "" -#: templates/helpdesk/user_settings.html:14 +#: templates/helpdesk/user_settings.html:8 msgid "" -"\n" -"

User Settings

\n" -"\n" -"

Use the following options to change the way your helpdesk system works for you. These settings do not impact any other user.

\n" +"Use the following options to change the way your helpdesk system works for " +"you. These settings do not impact any other user." msgstr "" -#: templates/helpdesk/user_settings.html:29 +#: templates/helpdesk/user_settings.html:14 msgid "Save Options" msgstr "" @@ -2121,116 +2257,101 @@ msgstr "" msgid "Helpdesk Login" msgstr "" -#: templates/helpdesk/registration/login.html:9 -#: templates/helpdesk/registration/login.html:21 -msgid "Login" -msgstr "" - -#: templates/helpdesk/registration/login.html:11 -msgid "" -"To log in and begin responding to cases, simply enter your username and " -"password below." -msgstr "" - #: templates/helpdesk/registration/login.html:14 +msgid "To log in simply enter your username and password below." +msgstr "" + +#: templates/helpdesk/registration/login.html:17 msgid "Your username and password didn't match. Please try again." msgstr "" -#: templates/helpdesk/registration/login.html:16 -msgid "Username" +#: templates/helpdesk/registration/login.html:20 +msgid "Login" msgstr "" -#: templates/helpdesk/registration/login.html:18 -msgid "Password" -msgstr "" - -#: views/feeds.py:35 +#: views/feeds.py:39 #, python-format msgid "Helpdesk: Open Tickets in queue %(queue)s for %(username)s" msgstr "Helpdesk: Offene Tickets in Ticketsammlung %(queue)s für %(username)s" -#: views/feeds.py:40 +#: views/feeds.py:44 #, python-format msgid "Helpdesk: Open Tickets for %(username)s" msgstr "Helpdesk : Offene Tickets für %(username)s" -#: views/feeds.py:46 +#: views/feeds.py:50 #, python-format msgid "Open and Reopened Tickets in queue %(queue)s for %(username)s" msgstr "Offene und wiedergeöffnete Tickets in Ticketsammlung %(queue)s für %(username)s" -#: views/feeds.py:51 +#: views/feeds.py:55 #, python-format msgid "Open and Reopened Tickets for %(username)s" msgstr "Offene und wiedergeöffnete Tickets für %(username)s" -#: views/feeds.py:98 +#: views/feeds.py:102 msgid "Helpdesk: Unassigned Tickets" msgstr "Helpdesk: Nicht zugeordnete Tickets" -#: views/feeds.py:99 +#: views/feeds.py:103 msgid "Unassigned Open and Reopened tickets" msgstr "Nicht zugeordnete offene und wiedergeöffnete Tickets" -#: views/feeds.py:124 +#: views/feeds.py:128 msgid "Helpdesk: Recent Followups" msgstr "Helpdesk: kürzliche Weiterbearbeitungen" -#: views/feeds.py:125 +#: views/feeds.py:129 msgid "" "Recent FollowUps, such as e-mail replies, comments, attachments and " "resolutions" msgstr "Kürzliche Weiterbearbeitungen wie E-Mail-Antworten, Kommentare, Anhänge oder Lösungen" -#: views/feeds.py:140 +#: views/feeds.py:144 #, python-format msgid "Helpdesk: Open Tickets in queue %(queue)s" msgstr "Helpdesk: Offene Tickets in Ticketsammlung %(queue)s" -#: views/feeds.py:145 +#: views/feeds.py:149 #, python-format msgid "Open and Reopened Tickets in queue %(queue)s" msgstr "Offene und wiedergeöffnete Tickets in Ticketsammlung %(queue)s" -#: views/public.py:91 +#: views/public.py:89 msgid "Invalid ticket ID or e-mail address. Please try again." msgstr "Ungültige Ticket-ID oder E-Mail-Adresse. Bitte versuchen Sie es erneut." -#: views/public.py:109 +#: views/public.py:107 msgid "Submitter accepted resolution and closed ticket" msgstr "Ersteller akzeptiert die Lösung und hat das Ticket geschlossen." -#: views/staff.py:218 +#: views/staff.py:235 msgid "Accepted resolution and closed ticket" msgstr "Lösung akzeptiert und Ticket geschlossen" -#: views/staff.py:246 -msgid "Sorry, you need to login to do that." -msgstr "Dafür müssen Sie sich leider anmelden." - -#: views/staff.py:295 +#: views/staff.py:369 #, python-format msgid "Assigned to %(username)s" msgstr "%(username)s zugeordnet" -#: views/staff.py:318 +#: views/staff.py:392 msgid "Updated" msgstr "Aktualisiert" -#: views/staff.py:496 +#: views/staff.py:577 #, python-format msgid "Assigned to %(username)s in bulk update" msgstr "%(username)s zugeordnet in Massenaktualisierung" -#: views/staff.py:501 +#: views/staff.py:582 msgid "Unassigned in bulk update" msgstr "Zuordnung in Massenaktualisierung aufgehoben" -#: views/staff.py:506 views/staff.py:511 +#: views/staff.py:587 views/staff.py:592 msgid "Closed in bulk update" msgstr "In Massenaktualisierung geschlossen" -#: views/staff.py:732 +#: views/staff.py:806 msgid "" "

Note: Your keyword search is case sensitive because of " "your database. This means the search will not be accurate. " @@ -2240,86 +2361,38 @@ msgid "" "matching\">Django Documentation on string matching in SQLite." msgstr "

Achtung: Ihre Schlagwortsuche achtet wegen Ihrer Datenbank auf Groß- und Kleinschreibung. Das bedeutet, dass die Suche nicht genau ist. Durch den Wechsel auf eine andere Datenbank werden Sie eine bessere Suche erhalten. Weitere Informationen finden Sie in der Django Dokumentation zur Stringerkennung in SQLite." -#: views/staff.py:843 +#: views/staff.py:910 msgid "Ticket taken off hold" msgstr "Ticket wieder freigegeben" -#: views/staff.py:846 +#: views/staff.py:913 msgid "Ticket placed on hold" msgstr "Ticket zurückgehalten" -#: views/staff.py:914 -msgid "Jan" -msgstr "Jan" - -#: views/staff.py:915 -msgid "Feb" -msgstr "Feb" - -#: views/staff.py:916 -msgid "Mar" -msgstr "Mär" - -#: views/staff.py:917 -msgid "Apr" -msgstr "Apr" - -#: views/staff.py:918 -msgid "May" -msgstr "Mai" - -#: views/staff.py:919 -msgid "Jun" -msgstr "Jun" - -#: views/staff.py:920 -msgid "Jul" -msgstr "Jul" - -#: views/staff.py:921 -msgid "Aug" -msgstr "Aug" - -#: views/staff.py:922 -msgid "Sep" -msgstr "Sep" - -#: views/staff.py:923 -msgid "Oct" -msgstr "Okt" - -#: views/staff.py:924 -msgid "Nov" -msgstr "Nov" - -#: views/staff.py:925 -msgid "Dec" -msgstr "Dez" - -#: views/staff.py:951 +#: views/staff.py:1007 msgid "User by Priority" msgstr "Benutzer je Priorität" -#: views/staff.py:957 +#: views/staff.py:1013 msgid "User by Queue" msgstr "Benutzer je Sammlung" -#: views/staff.py:963 +#: views/staff.py:1019 msgid "User by Status" msgstr "Benutzer je Status" -#: views/staff.py:969 +#: views/staff.py:1025 msgid "User by Month" msgstr "Benutzer je Monat" -#: views/staff.py:975 +#: views/staff.py:1031 msgid "Queue by Priority" msgstr "Sammlung je Priorität" -#: views/staff.py:981 +#: views/staff.py:1037 msgid "Queue by Status" msgstr "Sammlung je Status" -#: views/staff.py:987 +#: views/staff.py:1043 msgid "Queue by Month" msgstr "Sammlung je Monat" diff --git a/helpdesk/locale/el/LC_MESSAGES/django.mo b/helpdesk/locale/el/LC_MESSAGES/django.mo index 1a5269cb..6c056855 100644 Binary files a/helpdesk/locale/el/LC_MESSAGES/django.mo and b/helpdesk/locale/el/LC_MESSAGES/django.mo differ diff --git a/helpdesk/locale/el/LC_MESSAGES/django.po b/helpdesk/locale/el/LC_MESSAGES/django.po index b5f8bbda..040efd0c 100644 --- a/helpdesk/locale/el/LC_MESSAGES/django.po +++ b/helpdesk/locale/el/LC_MESSAGES/django.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the django-helpdesk package. # # Translators: +# Translators: # George Bourazanas , 2011 msgid "" msgstr "" "Project-Id-Version: django-helpdesk\n" "Report-Msgid-Bugs-To: http://github.com/RossP/django-helpdesk/issues\n" -"POT-Creation-Date: 2012-08-07 20:40+1000\n" -"PO-Revision-Date: 2013-04-29 09:18+0000\n" +"POT-Creation-Date: 2014-07-26 14:14+0200\n" +"PO-Revision-Date: 2014-08-01 09:58+0000\n" "Last-Translator: Ross Poulton \n" "Language-Team: Greek (http://www.transifex.com/projects/p/django-helpdesk/language/el/)\n" "MIME-Version: 1.0\n" @@ -18,1050 +19,1149 @@ msgstr "" "Language: el\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: forms.py:113 forms.py:360 models.py:262 -#: templates/helpdesk/dashboard.html:11 templates/helpdesk/dashboard.html:37 -#: templates/helpdesk/dashboard.html:57 templates/helpdesk/dashboard.html:77 -#: templates/helpdesk/dashboard.html:99 templates/helpdesk/rss_list.html:23 -#: templates/helpdesk/ticket_list.html:56 -#: templates/helpdesk/ticket_list.html:78 -#: templates/helpdesk/ticket_list.html:199 views/staff.py:976 -#: views/staff.py:982 views/staff.py:988 +#: forms.py:128 forms.py:328 models.py:190 models.py:267 +#: templates/helpdesk/dashboard.html:15 templates/helpdesk/dashboard.html:58 +#: templates/helpdesk/dashboard.html:78 templates/helpdesk/dashboard.html:100 +#: templates/helpdesk/dashboard.html:124 templates/helpdesk/rss_list.html:24 +#: templates/helpdesk/ticket_list.html:69 +#: templates/helpdesk/ticket_list.html:88 +#: templates/helpdesk/ticket_list.html:225 views/staff.py:1032 +#: views/staff.py:1038 views/staff.py:1044 views/staff.py:1050 msgid "Queue" msgstr "" -#: forms.py:122 +#: forms.py:137 msgid "Summary of the problem" msgstr "" -#: forms.py:127 +#: forms.py:142 msgid "Submitter E-Mail Address" msgstr "" -#: forms.py:129 +#: forms.py:144 msgid "" "This e-mail address will receive copies of all public updates to this " "ticket." msgstr "" -#: forms.py:135 +#: forms.py:150 msgid "Description of Issue" msgstr "" -#: forms.py:142 +#: forms.py:157 msgid "Case owner" msgstr "" -#: forms.py:143 +#: forms.py:158 msgid "" "If you select an owner other than yourself, they'll be e-mailed details of " "this ticket immediately." msgstr "" -#: forms.py:151 models.py:322 management/commands/escalate_tickets.py:149 -#: templates/helpdesk/public_view_ticket.html:21 -#: templates/helpdesk/ticket.html:176 -#: templates/helpdesk/ticket_desc_table.html:31 -#: templates/helpdesk/ticket_list.html:84 views/staff.py:355 +#: forms.py:166 models.py:327 management/commands/escalate_tickets.py:154 +#: templates/helpdesk/public_view_ticket.html:23 +#: templates/helpdesk/ticket.html:184 +#: templates/helpdesk/ticket_desc_table.html:47 +#: templates/helpdesk/ticket_list.html:94 views/staff.py:429 msgid "Priority" msgstr "Προτεραιότητα" -#: forms.py:152 +#: forms.py:167 msgid "Please select a priority carefully. If unsure, leave it as '3'." msgstr "" -#: forms.py:159 forms.py:397 models.py:330 templates/helpdesk/ticket.html:178 -#: views/staff.py:365 +#: forms.py:174 forms.py:365 models.py:335 templates/helpdesk/ticket.html:186 +#: views/staff.py:439 msgid "Due on" msgstr "" -#: forms.py:171 forms.py:402 +#: forms.py:186 forms.py:370 msgid "Attach File" msgstr "Συνημμένο" -#: forms.py:172 forms.py:403 +#: forms.py:187 forms.py:371 msgid "You can attach a file such as a document or screenshot to this ticket." msgstr "" -#: forms.py:180 templates/helpdesk/public_view_ticket.html:33 -#: templates/helpdesk/ticket.html:182 -#: templates/helpdesk/ticket_desc_table.html:42 -#: templates/helpdesk/ticket_list.html:61 -#: templates/helpdesk/ticket_list.html:199 views/staff.py:376 -msgid "Tags" -msgstr "" - -#: forms.py:181 -msgid "" -"Words, separated by spaces, or phrases separated by commas. These should " -"communicate significant characteristics of this ticket" -msgstr "" - -#: forms.py:275 +#: forms.py:240 msgid "Ticket Opened" msgstr "" -#: forms.py:282 +#: forms.py:247 #, python-format msgid "Ticket Opened & Assigned to %(name)s" msgstr "" -#: forms.py:369 +#: forms.py:337 msgid "Summary of your query" msgstr "" -#: forms.py:374 +#: forms.py:342 msgid "Your E-Mail Address" msgstr "" -#: forms.py:375 +#: forms.py:343 msgid "We will e-mail you when your ticket is updated." msgstr "" -#: forms.py:380 +#: forms.py:348 msgid "Description of your issue" msgstr "" -#: forms.py:382 +#: forms.py:350 msgid "" "Please be as descriptive as possible, including any details we may need to " "address your query." msgstr "" -#: forms.py:390 +#: forms.py:358 msgid "Urgency" msgstr "" -#: forms.py:391 +#: forms.py:359 msgid "Please select a priority carefully." msgstr "" -#: forms.py:486 +#: forms.py:419 msgid "Ticket Opened Via Web" msgstr "" -#: forms.py:553 +#: forms.py:486 msgid "Show Ticket List on Login?" msgstr "" -#: forms.py:554 +#: forms.py:487 msgid "Display the ticket list upon login? Otherwise, the dashboard is shown." msgstr "" -#: forms.py:559 +#: forms.py:492 msgid "E-mail me on ticket change?" msgstr "" -#: forms.py:560 +#: forms.py:493 msgid "" "If you're the ticket owner and the ticket is changed via the web by somebody" " else, do you want to receive an e-mail?" msgstr "" -#: forms.py:565 +#: forms.py:498 msgid "E-mail me when assigned a ticket?" msgstr "Στείλε μου e-mail όταν καταχωρείτε ένα νέο αίτημα;" -#: forms.py:566 +#: forms.py:499 msgid "" "If you are assigned a ticket via the web, do you want to receive an e-mail?" msgstr "" -#: forms.py:571 +#: forms.py:504 msgid "E-mail me when a ticket is changed via the API?" msgstr "" -#: forms.py:572 +#: forms.py:505 msgid "If a ticket is altered by the API, do you want to receive an e-mail?" msgstr "" -#: forms.py:577 +#: forms.py:510 msgid "Number of tickets to show per page" msgstr "" -#: forms.py:578 +#: forms.py:511 msgid "How many tickets do you want to see on the Ticket List page?" msgstr "" -#: forms.py:585 +#: forms.py:518 msgid "Use my e-mail address when submitting tickets?" msgstr "" -#: forms.py:586 +#: forms.py:519 msgid "" "When you submit a ticket, do you want to automatically use your e-mail " "address as the submitter address? You can type a different e-mail address " "when entering the ticket if needed, this option only changes the default." msgstr "" -#: models.py:32 models.py:256 models.py:490 models.py:787 models.py:821 -#: templates/helpdesk/dashboard.html:37 templates/helpdesk/dashboard.html:57 -#: templates/helpdesk/dashboard.html:77 templates/helpdesk/dashboard.html:99 -#: templates/helpdesk/ticket.html:170 templates/helpdesk/ticket_list.html:75 -#: templates/helpdesk/ticket_list.html:199 views/staff.py:345 +#: models.py:35 models.py:261 models.py:503 models.py:817 models.py:853 +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:100 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket.html:178 templates/helpdesk/ticket_list.html:85 +#: templates/helpdesk/ticket_list.html:225 views/staff.py:419 msgid "Title" msgstr "" -#: models.py:37 models.py:792 models.py:1162 +#: models.py:40 models.py:822 models.py:1206 msgid "Slug" msgstr "" -#: models.py:38 +#: models.py:41 msgid "" "This slug is used when building ticket ID's. Once set, try not to change it " "or e-mailing may get messy." msgstr "" -#: models.py:43 models.py:1015 models.py:1085 models.py:1159 +#: models.py:46 models.py:1054 models.py:1129 models.py:1203 #: templates/helpdesk/email_ignore_list.html:13 #: templates/helpdesk/ticket_cc_list.html:15 msgid "E-Mail Address" msgstr "" -#: models.py:46 +#: models.py:49 msgid "" "All outgoing e-mails for this queue will use this e-mail address. If you use" " IMAP or POP3, this should be the e-mail address for that mailbox." msgstr "" -#: models.py:52 models.py:766 +#: models.py:55 models.py:794 msgid "Locale" msgstr "" -#: models.py:56 +#: models.py:59 msgid "" "Locale of this queue. All correspondence in this queue will be in this " "language." msgstr "" -#: models.py:60 +#: models.py:63 msgid "Allow Public Submission?" msgstr "" -#: models.py:63 +#: models.py:66 msgid "Should this queue be listed on the public submission form?" msgstr "" -#: models.py:68 +#: models.py:71 msgid "Allow E-Mail Submission?" msgstr "" -#: models.py:71 +#: models.py:74 msgid "Do you want to poll the e-mail box below for new tickets?" msgstr "" -#: models.py:76 +#: models.py:79 msgid "Escalation Days" msgstr "" -#: models.py:79 +#: models.py:82 msgid "" "For tickets which are not held, how often do you wish to increase their " "priority? Set to 0 for no escalation." msgstr "" -#: models.py:84 +#: models.py:87 msgid "New Ticket CC Address" msgstr "" -#: models.py:88 +#: models.py:91 msgid "" "If an e-mail address is entered here, then it will receive notification of " "all new tickets created for this queue. Enter a comma between multiple " "e-mail addresses." msgstr "" -#: models.py:94 +#: models.py:97 msgid "Updated Ticket CC Address" msgstr "" -#: models.py:98 +#: models.py:101 msgid "" "If an e-mail address is entered here, then it will receive notification of " "all activity (new tickets, closed tickets, updates, reassignments, etc) for " "this queue. Separate multiple addresses with a comma." msgstr "" -#: models.py:105 +#: models.py:108 msgid "E-Mail Box Type" msgstr "" -#: models.py:107 +#: models.py:110 msgid "POP 3" msgstr "" -#: models.py:107 +#: models.py:110 msgid "IMAP" msgstr "" -#: models.py:110 +#: models.py:113 msgid "" "E-Mail server type for creating tickets automatically from a mailbox - both " "POP3 and IMAP are supported." msgstr "" -#: models.py:115 +#: models.py:118 msgid "E-Mail Hostname" msgstr "" -#: models.py:119 +#: models.py:122 msgid "" "Your e-mail server address - either the domain name or IP address. May be " "\"localhost\"." msgstr "" -#: models.py:124 +#: models.py:127 msgid "E-Mail Port" msgstr "" -#: models.py:127 +#: models.py:130 msgid "" "Port number to use for accessing e-mail. Default for POP3 is \"110\", and " "for IMAP is \"143\". This may differ on some servers. Leave it blank to use " "the defaults." msgstr "" -#: models.py:133 +#: models.py:136 msgid "Use SSL for E-Mail?" msgstr "" -#: models.py:136 +#: models.py:139 msgid "" "Whether to use SSL for IMAP or POP3 - the default ports when using SSL are " "993 for IMAP and 995 for POP3." msgstr "" -#: models.py:141 +#: models.py:144 msgid "E-Mail Username" msgstr "" -#: models.py:145 +#: models.py:148 msgid "Username for accessing this mailbox." msgstr "" -#: models.py:149 +#: models.py:152 msgid "E-Mail Password" msgstr "" -#: models.py:153 +#: models.py:156 msgid "Password for the above username" msgstr "" -#: models.py:157 +#: models.py:160 msgid "IMAP Folder" msgstr "" -#: models.py:161 +#: models.py:164 msgid "" "If using IMAP, what folder do you wish to fetch messages from? This allows " "you to use one IMAP account for multiple queues, by filtering messages on " "your IMAP server into separate folders. Default: INBOX." msgstr "" -#: models.py:168 +#: models.py:171 msgid "E-Mail Check Interval" msgstr "" -#: models.py:169 +#: models.py:172 msgid "How often do you wish to check this mailbox? (in Minutes)" msgstr "" -#: models.py:240 templates/helpdesk/dashboard.html:11 -#: templates/helpdesk/ticket.html:130 +#: models.py:191 templates/helpdesk/email_ignore_list.html:13 +msgid "Queues" +msgstr "" + +#: models.py:245 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:138 msgid "Open" msgstr "" -#: models.py:241 templates/helpdesk/ticket.html:136 -#: templates/helpdesk/ticket.html.py:142 templates/helpdesk/ticket.html:147 -#: templates/helpdesk/ticket.html.py:151 +#: models.py:246 templates/helpdesk/ticket.html:144 +#: templates/helpdesk/ticket.html.py:150 templates/helpdesk/ticket.html:155 +#: templates/helpdesk/ticket.html.py:159 msgid "Reopened" msgstr "" -#: models.py:242 templates/helpdesk/dashboard.html:11 -#: templates/helpdesk/ticket.html:131 templates/helpdesk/ticket.html.py:137 -#: templates/helpdesk/ticket.html:143 +#: models.py:247 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:139 templates/helpdesk/ticket.html.py:145 +#: templates/helpdesk/ticket.html:151 msgid "Resolved" msgstr "" -#: models.py:243 templates/helpdesk/dashboard.html:11 -#: templates/helpdesk/ticket.html:132 templates/helpdesk/ticket.html.py:138 -#: templates/helpdesk/ticket.html:144 templates/helpdesk/ticket.html.py:148 +#: models.py:248 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:140 templates/helpdesk/ticket.html.py:146 +#: templates/helpdesk/ticket.html:152 templates/helpdesk/ticket.html.py:156 msgid "Closed" msgstr "" -#: models.py:244 templates/helpdesk/ticket.html:133 -#: templates/helpdesk/ticket.html.py:139 templates/helpdesk/ticket.html:152 +#: models.py:249 templates/helpdesk/ticket.html:141 +#: templates/helpdesk/ticket.html.py:147 templates/helpdesk/ticket.html:160 msgid "Duplicate" msgstr "" -#: models.py:248 +#: models.py:253 msgid "1. Critical" msgstr "" -#: models.py:249 +#: models.py:254 msgid "2. High" msgstr "" -#: models.py:250 +#: models.py:255 msgid "3. Normal" msgstr "" -#: models.py:251 +#: models.py:256 msgid "4. Low" msgstr "" -#: models.py:252 +#: models.py:257 msgid "5. Very Low" msgstr "" -#: models.py:266 templates/helpdesk/dashboard.html:77 -#: templates/helpdesk/ticket_list.html:72 -#: templates/helpdesk/ticket_list.html:199 +#: models.py:271 templates/helpdesk/dashboard.html:100 +#: templates/helpdesk/ticket_list.html:82 +#: templates/helpdesk/ticket_list.html:225 msgid "Created" msgstr "" -#: models.py:268 +#: models.py:273 msgid "Date this ticket was first created" msgstr "" -#: models.py:272 +#: models.py:277 msgid "Modified" msgstr "" -#: models.py:274 +#: models.py:279 msgid "Date this ticket was most recently changed." msgstr "" -#: models.py:278 templates/helpdesk/public_view_ticket.html:16 -#: templates/helpdesk/ticket_desc_table.html:26 +#: models.py:283 templates/helpdesk/public_view_ticket.html:18 +#: templates/helpdesk/ticket_desc_table.html:42 msgid "Submitter E-Mail" msgstr "" -#: models.py:281 +#: models.py:286 msgid "" "The submitter will receive an email for all public follow-ups left for this " "task." msgstr "" -#: models.py:290 +#: models.py:295 msgid "Assigned to" msgstr "" -#: models.py:294 templates/helpdesk/dashboard.html:37 -#: templates/helpdesk/dashboard.html:57 templates/helpdesk/dashboard.html:99 -#: templates/helpdesk/ticket_list.html:57 -#: templates/helpdesk/ticket_list.html:81 -#: templates/helpdesk/ticket_list.html:199 +#: models.py:299 templates/helpdesk/dashboard.html:58 +#: templates/helpdesk/dashboard.html:78 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket_list.html:70 +#: templates/helpdesk/ticket_list.html:91 +#: templates/helpdesk/ticket_list.html:225 msgid "Status" msgstr "" -#: models.py:300 +#: models.py:305 msgid "On Hold" msgstr "" -#: models.py:303 +#: models.py:308 msgid "If a ticket is on hold, it will not automatically be escalated." msgstr "" -#: models.py:308 models.py:796 templates/helpdesk/public_view_ticket.html:39 -#: templates/helpdesk/ticket_desc_table.html:67 +#: models.py:313 models.py:826 templates/helpdesk/public_view_ticket.html:41 +#: templates/helpdesk/ticket_desc_table.html:19 msgid "Description" msgstr "" -#: models.py:311 +#: models.py:316 msgid "The content of the customers query." msgstr "" -#: models.py:315 templates/helpdesk/public_view_ticket.html:46 -#: templates/helpdesk/ticket_desc_table.html:74 +#: models.py:320 templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 msgid "Resolution" msgstr "" -#: models.py:318 +#: models.py:323 msgid "The resolution provided to the customer by our staff." msgstr "" -#: models.py:326 +#: models.py:331 msgid "1 = Highest Priority, 5 = Low Priority" msgstr "" -#: models.py:339 +#: models.py:344 msgid "" "The date this ticket was last escalated - updated automatically by " "management/commands/escalate_tickets.py." msgstr "" -#: models.py:348 templates/helpdesk/ticket_desc_table.html:22 -#: views/feeds.py:91 views/feeds.py:117 views/feeds.py:169 views/staff.py:302 +#: models.py:353 templates/helpdesk/ticket_desc_table.html:38 +#: views/feeds.py:95 views/feeds.py:121 views/feeds.py:173 views/staff.py:376 msgid "Unassigned" msgstr "" -#: models.py:387 +#: models.py:392 msgid " - On Hold" msgstr "" -#: models.py:481 models.py:1073 models.py:1231 models.py:1256 -#: templates/helpdesk/public_homepage.html:26 +#: models.py:394 +msgid " - Open dependencies" +msgstr "" + +#: models.py:448 models.py:494 models.py:1117 models.py:1280 models.py:1309 +#: templates/helpdesk/public_homepage.html:78 #: templates/helpdesk/public_view_form.html:12 msgid "Ticket" msgstr "" -#: models.py:485 models.py:714 models.py:1008 models.py:1156 +#: models.py:449 templates/helpdesk/navigation.html:17 +#: templates/helpdesk/ticket_list.html:2 +#: templates/helpdesk/ticket_list.html:224 +msgid "Tickets" +msgstr "" + +#: models.py:498 models.py:738 models.py:1047 models.py:1200 msgid "Date" msgstr "" -#: models.py:497 views/staff.py:316 +#: models.py:510 views/staff.py:390 msgid "Comment" msgstr "" -#: models.py:503 +#: models.py:516 msgid "Public" msgstr "" -#: models.py:506 +#: models.py:519 msgid "" "Public tickets are viewable by the submitter and all staff, but non-public " "tickets can only be seen by staff." msgstr "" -#: models.py:514 models.py:888 models.py:1081 views/staff.py:952 -#: views/staff.py:958 views/staff.py:964 views/staff.py:970 +#: models.py:527 models.py:922 models.py:1125 views/staff.py:1008 +#: views/staff.py:1014 views/staff.py:1020 views/staff.py:1026 msgid "User" msgstr "" -#: models.py:518 templates/helpdesk/ticket.html:127 +#: models.py:531 templates/helpdesk/ticket.html:135 msgid "New Status" msgstr "" -#: models.py:522 +#: models.py:535 msgid "If the status was changed, what was it changed to?" msgstr "" -#: models.py:551 models.py:608 +#: models.py:542 models.py:566 models.py:628 msgid "Follow-up" msgstr "" -#: models.py:555 models.py:1236 +#: models.py:543 +msgid "Follow-ups" +msgstr "" + +#: models.py:570 models.py:1285 msgid "Field" msgstr "" -#: models.py:560 +#: models.py:575 msgid "Old Value" msgstr "" -#: models.py:566 +#: models.py:581 msgid "New Value" msgstr "" -#: models.py:574 +#: models.py:589 msgid "removed" msgstr "" -#: models.py:576 +#: models.py:591 #, python-format msgid "set to %s" msgstr "" -#: models.py:578 +#: models.py:593 #, python-format msgid "changed from \"%(old_value)s\" to \"%(new_value)s\"" msgstr "" -#: models.py:612 +#: models.py:600 +msgid "Ticket change" +msgstr "" + +#: models.py:601 +msgid "Ticket changes" +msgstr "" + +#: models.py:632 msgid "File" msgstr "" -#: models.py:617 +#: models.py:637 msgid "Filename" msgstr "" -#: models.py:622 +#: models.py:642 msgid "MIME Type" msgstr "" -#: models.py:627 +#: models.py:647 msgid "Size" msgstr "" -#: models.py:628 +#: models.py:648 msgid "Size of this file in bytes" msgstr "" -#: models.py:663 +#: models.py:665 +msgid "Attachment" +msgstr "" + +#: models.py:666 +msgid "Attachments" +msgstr "" + +#: models.py:685 msgid "" "Leave blank to allow this reply to be used for all queues, or select those " "queues you wish to limit this reply to." msgstr "" -#: models.py:668 models.py:709 models.py:1003 +#: models.py:690 models.py:733 models.py:1042 #: templates/helpdesk/email_ignore_list.html:13 msgid "Name" msgstr "" -#: models.py:670 +#: models.py:692 msgid "" "Only used to assist users with selecting a reply - not shown to the user." msgstr "" -#: models.py:675 +#: models.py:697 msgid "Body" msgstr "" -#: models.py:676 +#: models.py:698 msgid "" "Context available: {{ ticket }} - ticket object (eg {{ ticket.title }}); {{ " "queue }} - The queue; and {{ user }} - the current user." msgstr "" -#: models.py:703 +#: models.py:705 +msgid "Pre-set reply" +msgstr "" + +#: models.py:706 +msgid "Pre-set replies" +msgstr "" + +#: models.py:727 msgid "" "Leave blank for this exclusion to be applied to all queues, or select those " "queues you wish to exclude with this entry." msgstr "" -#: models.py:715 +#: models.py:739 msgid "Date on which escalation should not happen" msgstr "" -#: models.py:732 +#: models.py:746 +msgid "Escalation exclusion" +msgstr "" + +#: models.py:747 +msgid "Escalation exclusions" +msgstr "" + +#: models.py:760 msgid "Template Name" msgstr "" -#: models.py:737 +#: models.py:765 msgid "Subject" msgstr "" -#: models.py:739 +#: models.py:767 msgid "" "This will be prefixed with \"[ticket.ticket] ticket.title\". We recommend " "something simple such as \"(Updated\") or \"(Closed)\" - the same context is" " available as in plain_text, below." msgstr "" -#: models.py:745 +#: models.py:773 msgid "Heading" msgstr "" -#: models.py:747 +#: models.py:775 msgid "" "In HTML e-mails, this will be the heading at the top of the email - the same" " context is available as in plain_text, below." msgstr "" -#: models.py:753 +#: models.py:781 msgid "Plain Text" msgstr "" -#: models.py:754 +#: models.py:782 msgid "" "The context available to you includes {{ ticket }}, {{ queue }}, and " "depending on the time of the call: {{ resolution }} or {{ comment }}." msgstr "" -#: models.py:760 +#: models.py:788 msgid "HTML" msgstr "" -#: models.py:761 +#: models.py:789 msgid "The same context is available here as in plain_text, above." msgstr "" -#: models.py:770 +#: models.py:798 msgid "Locale of this template." msgstr "" -#: models.py:817 templates/helpdesk/kb_index.html:10 -#: templates/helpdesk/public_homepage.html:10 -msgid "Category" +#: models.py:806 +msgid "e-mail template" msgstr "" -#: models.py:826 -msgid "Question" -msgstr "" - -#: models.py:830 -msgid "Answer" +#: models.py:807 +msgid "e-mail templates" msgstr "" #: models.py:834 -msgid "Votes" +msgid "Knowledge base category" msgstr "" #: models.py:835 +msgid "Knowledge base categories" +msgstr "" + +#: models.py:849 templates/helpdesk/kb_index.html:11 +#: templates/helpdesk/public_homepage.html:11 +msgid "Category" +msgstr "" + +#: models.py:858 +msgid "Question" +msgstr "" + +#: models.py:862 +msgid "Answer" +msgstr "" + +#: models.py:866 +msgid "Votes" +msgstr "" + +#: models.py:867 msgid "Total number of votes cast for this item" msgstr "" -#: models.py:840 +#: models.py:872 msgid "Positive Votes" msgstr "" -#: models.py:841 +#: models.py:873 msgid "Number of votes for this item which were POSITIVE." msgstr "" -#: models.py:846 +#: models.py:878 msgid "Last Updated" msgstr "" -#: models.py:847 +#: models.py:879 msgid "The date on which this question was most recently changed." msgstr "" -#: models.py:861 +#: models.py:893 msgid "Unrated" msgstr "" -#: models.py:892 templates/helpdesk/ticket_list.html:158 +#: models.py:901 +msgid "Knowledge base item" +msgstr "" + +#: models.py:902 +msgid "Knowledge base items" +msgstr "" + +#: models.py:926 templates/helpdesk/ticket_list.html:170 msgid "Query Name" msgstr "" -#: models.py:894 +#: models.py:928 msgid "User-provided name for this query" msgstr "" -#: models.py:898 +#: models.py:932 msgid "Shared With Other Users?" msgstr "" -#: models.py:901 +#: models.py:935 msgid "Should other users see this query?" msgstr "" -#: models.py:905 +#: models.py:939 msgid "Search Query" msgstr "" -#: models.py:906 +#: models.py:940 msgid "Pickled query object. Be wary changing this." msgstr "" -#: models.py:927 +#: models.py:950 +msgid "Saved search" +msgstr "" + +#: models.py:951 +msgid "Saved searches" +msgstr "" + +#: models.py:966 msgid "Settings Dictionary" msgstr "" -#: models.py:928 +#: models.py:967 msgid "" "This is a base64-encoded representation of a pickled Python dictionary. Do " "not change this field via the admin." msgstr "" -#: models.py:997 +#: models.py:993 +msgid "User Setting" +msgstr "" + +#: models.py:994 templates/helpdesk/navigation.html:37 +#: templates/helpdesk/user_settings.html:6 +msgid "User Settings" +msgstr "" + +#: models.py:1036 msgid "" "Leave blank for this e-mail to be ignored on all queues, or select those " "queues you wish to ignore this e-mail for." msgstr "" -#: models.py:1009 +#: models.py:1048 msgid "Date on which this e-mail address was added" msgstr "" -#: models.py:1017 +#: models.py:1056 msgid "" "Enter a full e-mail address, or portions with wildcards, eg *@domain.com or " "postmaster@*." msgstr "" -#: models.py:1022 +#: models.py:1061 msgid "Save Emails in Mailbox?" msgstr "" -#: models.py:1025 +#: models.py:1064 msgid "" "Do you want to save emails from this address in the mailbox? If this is " "unticked, emails from this address will be deleted." msgstr "" -#: models.py:1080 +#: models.py:1101 +msgid "Ignored e-mail address" +msgstr "" + +#: models.py:1102 +msgid "Ignored e-mail addresses" +msgstr "" + +#: models.py:1124 msgid "User who wishes to receive updates for this ticket." msgstr "" -#: models.py:1088 +#: models.py:1132 msgid "For non-user followers, enter their e-mail address" msgstr "" -#: models.py:1092 +#: models.py:1136 msgid "Can View Ticket?" msgstr "" -#: models.py:1094 +#: models.py:1138 msgid "Can this CC login to view the ticket details?" msgstr "" -#: models.py:1098 +#: models.py:1142 msgid "Can Update Ticket?" msgstr "" -#: models.py:1100 +#: models.py:1144 msgid "Can this CC login and update the ticket?" msgstr "" -#: models.py:1131 +#: models.py:1175 msgid "Field Name" msgstr "" -#: models.py:1132 +#: models.py:1176 msgid "" "As used in the database and behind the scenes. Must be unique and consist of" " only lowercase letters with no punctuation." msgstr "" -#: models.py:1137 +#: models.py:1181 msgid "Label" msgstr "" -#: models.py:1139 +#: models.py:1183 msgid "The display label for this field" msgstr "" -#: models.py:1143 +#: models.py:1187 msgid "Help Text" msgstr "" -#: models.py:1144 +#: models.py:1188 msgid "Shown to the user when editing the ticket" msgstr "" -#: models.py:1150 +#: models.py:1194 msgid "Character (single line)" msgstr "" -#: models.py:1151 +#: models.py:1195 msgid "Text (multi-line)" msgstr "" -#: models.py:1152 +#: models.py:1196 msgid "Integer" msgstr "" -#: models.py:1153 +#: models.py:1197 msgid "Decimal" msgstr "" -#: models.py:1154 +#: models.py:1198 msgid "List" msgstr "" -#: models.py:1155 +#: models.py:1199 msgid "Boolean (checkbox yes/no)" msgstr "" -#: models.py:1157 +#: models.py:1201 msgid "Time" msgstr "" -#: models.py:1158 +#: models.py:1202 msgid "Date & Time" msgstr "" -#: models.py:1160 +#: models.py:1204 msgid "URL" msgstr "" -#: models.py:1161 +#: models.py:1205 msgid "IP Address" msgstr "" -#: models.py:1166 +#: models.py:1210 msgid "Data Type" msgstr "" -#: models.py:1168 +#: models.py:1212 msgid "Allows you to restrict the data entered into this field" msgstr "" -#: models.py:1173 +#: models.py:1217 msgid "Maximum Length (characters)" msgstr "" -#: models.py:1179 +#: models.py:1223 msgid "Decimal Places" msgstr "" -#: models.py:1180 +#: models.py:1224 msgid "Only used for decimal fields" msgstr "" -#: models.py:1186 +#: models.py:1230 msgid "Add empty first choice to List?" msgstr "" -#: models.py:1187 +#: models.py:1232 msgid "" "Only for List: adds an empty first entry to the choices list, which enforces" " that the user makes an active choice." msgstr "" -#: models.py:1191 +#: models.py:1236 msgid "List Values" msgstr "" -#: models.py:1192 +#: models.py:1237 msgid "For list fields only. Enter one option per line." msgstr "" -#: models.py:1198 +#: models.py:1243 msgid "Ordering" msgstr "" -#: models.py:1199 +#: models.py:1244 msgid "Lower numbers are displayed first; higher numbers are listed later" msgstr "" -#: models.py:1213 +#: models.py:1258 msgid "Required?" msgstr "" -#: models.py:1214 +#: models.py:1259 msgid "Does the user have to enter a value for this field?" msgstr "" -#: models.py:1218 +#: models.py:1263 msgid "Staff Only?" msgstr "" -#: models.py:1219 +#: models.py:1264 msgid "" "If this is ticked, then the public submission form will NOT show this field" msgstr "" -#: models.py:1262 +#: models.py:1273 +msgid "Custom field" +msgstr "" + +#: models.py:1274 +msgid "Custom fields" +msgstr "" + +#: models.py:1297 +msgid "Ticket custom field value" +msgstr "" + +#: models.py:1298 +msgid "Ticket custom field values" +msgstr "" + +#: models.py:1315 msgid "Depends On Ticket" msgstr "" -#: management/commands/create_usersettings.py:21 +#: models.py:1324 +msgid "Ticket dependency" +msgstr "" + +#: models.py:1325 +msgid "Ticket dependencies" +msgstr "" + +#: management/commands/create_usersettings.py:25 msgid "" "Check for user without django-helpdesk UserSettings and create settings if " "required. Uses settings.DEFAULT_USER_SETTINGS which can be overridden to " "suit your situation." msgstr "" -#: management/commands/escalate_tickets.py:143 +#: management/commands/escalate_tickets.py:148 #, python-format msgid "Ticket escalated after %s days" msgstr "" -#: management/commands/get_email.py:151 +#: management/commands/get_email.py:158 msgid "Created from e-mail" msgstr "" -#: management/commands/get_email.py:155 +#: management/commands/get_email.py:162 msgid "Unknown Sender" msgstr "" -#: management/commands/get_email.py:209 +#: management/commands/get_email.py:216 msgid "" "No plain-text email body available. Please see attachment " "email_html_body.html." msgstr "" -#: management/commands/get_email.py:213 +#: management/commands/get_email.py:220 msgid "email_html_body.html" msgstr "" -#: management/commands/get_email.py:256 +#: management/commands/get_email.py:263 #, python-format msgid "E-Mail Received from %(sender_email)s" msgstr "" -#: management/commands/get_email.py:264 +#: management/commands/get_email.py:271 #, python-format msgid "Ticket Re-Opened by E-Mail Received from %(sender_email)s" msgstr "" -#: management/commands/get_email.py:322 +#: management/commands/get_email.py:329 msgid " (Reopened)" msgstr "" -#: management/commands/get_email.py:324 +#: management/commands/get_email.py:331 msgid " (Updated)" msgstr "" #: templates/helpdesk/attribution.html:2 msgid "" -"Powered by django-" -"helpdesk." +"django-helpdesk." msgstr "" -#: templates/helpdesk/attribution.html:4 -msgid "For technical support please contact:" -msgstr "" - -#: templates/helpdesk/base.html:9 +#: templates/helpdesk/base.html:10 msgid "Powered by django-helpdesk" msgstr "" -#: templates/helpdesk/base.html:19 templates/helpdesk/rss_list.html:9 -#: templates/helpdesk/rss_list.html:23 templates/helpdesk/rss_list.html:28 +#: templates/helpdesk/base.html:20 templates/helpdesk/rss_list.html:9 +#: templates/helpdesk/rss_list.html:24 templates/helpdesk/rss_list.html:31 msgid "My Open Tickets" msgstr "" -#: templates/helpdesk/base.html:20 +#: templates/helpdesk/base.html:21 msgid "All Recent Activity" msgstr "" -#: templates/helpdesk/base.html:21 templates/helpdesk/dashboard.html:76 +#: templates/helpdesk/base.html:22 templates/helpdesk/dashboard.html:99 #: templates/helpdesk/rss_list.html:15 msgid "Unassigned Tickets" msgstr "" -#: templates/helpdesk/base.html:101 templates/helpdesk/public_base.html:6 -#: templates/helpdesk/public_base.html:14 +#: templates/helpdesk/base.html:52 templates/helpdesk/public_base.html:6 +#: templates/helpdesk/public_base.html:18 msgid "Helpdesk" msgstr "" -#: templates/helpdesk/base.html:111 templates/helpdesk/rss_list.html:9 +#: templates/helpdesk/base.html:62 templates/helpdesk/rss_list.html:9 #: templates/helpdesk/rss_list.html:12 templates/helpdesk/rss_list.html:15 -#: templates/helpdesk/rss_list.html:27 templates/helpdesk/rss_list.html:28 +#: templates/helpdesk/rss_list.html:30 templates/helpdesk/rss_list.html:31 msgid "RSS Icon" msgstr "" -#: templates/helpdesk/base.html:111 templates/helpdesk/rss_list.html:2 +#: templates/helpdesk/base.html:62 templates/helpdesk/rss_list.html:2 #: templates/helpdesk/rss_list.html.py:4 msgid "RSS Feeds" msgstr "" -#: templates/helpdesk/base.html:112 +#: templates/helpdesk/base.html:63 msgid "API" msgstr "" -#: templates/helpdesk/base.html:113 -msgid "User Settings" -msgstr "" - -#: templates/helpdesk/base.html:115 -msgid "Change Language" -msgstr "" - -#: templates/helpdesk/base.html:117 +#: templates/helpdesk/base.html:64 templates/helpdesk/system_settings.html:6 msgid "System Settings" msgstr "" #: templates/helpdesk/confirm_delete_saved_query.html:3 -#: templates/helpdesk/ticket_list.html:144 +#: templates/helpdesk/ticket_list.html:146 msgid "Delete Saved Query" msgstr "" -#: templates/helpdesk/confirm_delete_saved_query.html:5 +#: templates/helpdesk/confirm_delete_saved_query.html:6 +msgid "Delete Query" +msgstr "" + +#: templates/helpdesk/confirm_delete_saved_query.html:8 #, python-format msgid "" -"\n" -"

Delete Query

\n" -"\n" -"

Are you sure you want to delete this saved filter (%(query_title)s)? To re-create it, you will need to manually re-filter your ticket listing.

\n" +"Are you sure you want to delete this saved filter " +"(%(query_title)s)? To re-create it, you will need to manually re-" +"filter your ticket listing." msgstr "" #: templates/helpdesk/confirm_delete_saved_query.html:11 msgid "" -"\n" -"

You have shared this query, so other users may be using it. If you delete it, they will have to manually create their own query.

\n" +"You have shared this query, so other users may be using it. If you delete " +"it, they will have to manually create their own query." msgstr "" -#: templates/helpdesk/confirm_delete_saved_query.html:15 -#: templates/helpdesk/delete_ticket.html:11 +#: templates/helpdesk/confirm_delete_saved_query.html:14 +#: templates/helpdesk/delete_ticket.html:10 msgid "No, Don't Delete It" msgstr "" -#: templates/helpdesk/confirm_delete_saved_query.html:17 -#: templates/helpdesk/delete_ticket.html:13 +#: templates/helpdesk/confirm_delete_saved_query.html:16 +#: templates/helpdesk/delete_ticket.html:12 msgid "Yes - Delete It" msgstr "" @@ -1069,21 +1169,25 @@ msgstr "" msgid "Create Ticket" msgstr "" -#: templates/helpdesk/create_ticket.html:6 -msgid "" -"

Submit a Ticket

\n" -"\n" -"

Unless otherwise stated, all fields are required. Please provide as descriptive a title and description as possible.

" +#: templates/helpdesk/create_ticket.html:10 +#: templates/helpdesk/navigation.html:65 templates/helpdesk/navigation.html:68 +#: templates/helpdesk/public_homepage.html:27 +msgid "Submit a Ticket" msgstr "" -#: templates/helpdesk/create_ticket.html:17 -#: templates/helpdesk/edit_ticket.html:19 -#: templates/helpdesk/public_homepage.html:50 -msgid "(Optional)" +#: templates/helpdesk/create_ticket.html:11 +#: templates/helpdesk/edit_ticket.html:11 +msgid "Unless otherwise stated, all fields are required." msgstr "" -#: templates/helpdesk/create_ticket.html:26 -#: templates/helpdesk/public_homepage.html:59 +#: templates/helpdesk/create_ticket.html:11 +#: templates/helpdesk/edit_ticket.html:11 +#: templates/helpdesk/public_homepage.html:28 +msgid "Please provide as descriptive a title and description as possible." +msgstr "" + +#: templates/helpdesk/create_ticket.html:30 +#: templates/helpdesk/public_homepage.html:55 msgid "Submit Ticket" msgstr "" @@ -1091,136 +1195,176 @@ msgstr "" msgid "Helpdesk Dashboard" msgstr "" -#: templates/helpdesk/dashboard.html:10 -msgid "Helpdesk Summary" -msgstr "" - -#: templates/helpdesk/dashboard.html:25 +#: templates/helpdesk/dashboard.html:9 msgid "" "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." msgstr "" -#: templates/helpdesk/dashboard.html:27 -msgid "" -"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?" +#: templates/helpdesk/dashboard.html:14 +msgid "Helpdesk Summary" msgstr "" #: templates/helpdesk/dashboard.html:36 +msgid "Current Ticket Stats" +msgstr "" + +#: templates/helpdesk/dashboard.html:37 +msgid "Average number of days until ticket is closed (all tickets): " +msgstr "" + +#: templates/helpdesk/dashboard.html:38 +msgid "" +"Average number of days until ticket is closed (tickets opened in last 60 " +"days): " +msgstr "" + +#: templates/helpdesk/dashboard.html:39 +msgid "Click" +msgstr "" + +#: templates/helpdesk/dashboard.html:39 +msgid "for detailed average by month." +msgstr "" + +#: templates/helpdesk/dashboard.html:40 +msgid "Distribution of open tickets, grouped by time period:" +msgstr "" + +#: templates/helpdesk/dashboard.html:41 +msgid "Days since opened" +msgstr "" + +#: templates/helpdesk/dashboard.html:41 +msgid "Number of open tickets" +msgstr "" + +#: templates/helpdesk/dashboard.html:57 msgid "All Tickets submitted by you" msgstr "" -#: templates/helpdesk/dashboard.html:37 templates/helpdesk/dashboard.html:57 -#: templates/helpdesk/dashboard.html:77 templates/helpdesk/dashboard.html:99 -#: templates/helpdesk/ticket_list.html:199 +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:100 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket_list.html:225 msgid "Pr" msgstr "" -#: templates/helpdesk/dashboard.html:37 templates/helpdesk/dashboard.html:57 -#: templates/helpdesk/dashboard.html:99 +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:124 msgid "Last Update" msgstr "" -#: templates/helpdesk/dashboard.html:56 +#: templates/helpdesk/dashboard.html:77 msgid "Open Tickets assigned to you (you are working on this ticket)" msgstr "" -#: templates/helpdesk/dashboard.html:69 +#: templates/helpdesk/dashboard.html:92 msgid "You have no tickets assigned to you." msgstr "" -#: templates/helpdesk/dashboard.html:76 +#: templates/helpdesk/dashboard.html:99 msgid "(pick up a ticket if you start to work on it)" msgstr "" -#: templates/helpdesk/dashboard.html:85 -#: templates/helpdesk/ticket_desc_table.html:22 +#: templates/helpdesk/dashboard.html:110 +#: templates/helpdesk/ticket_desc_table.html:38 msgid "Take" msgstr "" -#: templates/helpdesk/dashboard.html:85 +#: templates/helpdesk/dashboard.html:110 #: templates/helpdesk/email_ignore_list.html:13 #: templates/helpdesk/email_ignore_list.html:23 #: templates/helpdesk/ticket_cc_list.html:15 #: templates/helpdesk/ticket_cc_list.html:23 -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Delete" msgstr "" -#: templates/helpdesk/dashboard.html:89 +#: templates/helpdesk/dashboard.html:114 msgid "There are no unassigned tickets." msgstr "" -#: templates/helpdesk/dashboard.html:98 +#: templates/helpdesk/dashboard.html:123 msgid "Closed & resolved Tickets you used to work on" msgstr "" #: templates/helpdesk/delete_ticket.html:3 +#: templates/helpdesk/delete_ticket.html:6 msgid "Delete Ticket" msgstr "" -#: templates/helpdesk/delete_ticket.html:5 +#: templates/helpdesk/delete_ticket.html:8 #, python-format msgid "" -"\n" -"

Delete Ticket

\n" -"\n" -"

Are you sure you want to delete this ticket (%(ticket_title)s)? All traces of the ticket, including followups, attachments, and updates will be irreversably removed.

\n" +"Are you sure you want to delete this ticket (%(ticket_title)s)? All" +" traces of the ticket, including followups, attachments, and updates will be" +" irreversibly removed." msgstr "" #: templates/helpdesk/edit_ticket.html:3 msgid "Edit Ticket" msgstr "" -#: templates/helpdesk/edit_ticket.html:6 -msgid "" -"

Edit a Ticket

\n" -"\n" -"

Unless otherwise stated, all fields are required. Please provide as descriptive a title and description as possible.

\n" -"\n" -"

Note: Editing a ticket does not send an e-mail to the ticket owner or submitter. No new details should be entered, this form should only be used to fix incorrect details or clean up the submission.

" +#: templates/helpdesk/edit_ticket.html:9 +msgid "Edit a Ticket" msgstr "" -#: templates/helpdesk/edit_ticket.html:28 +#: templates/helpdesk/edit_ticket.html:13 +msgid "Note" +msgstr "" + +#: templates/helpdesk/edit_ticket.html:13 +msgid "" +"Editing a ticket does not send an e-mail to the ticket owner or " +"submitter. No new details should be entered, this form should only be used " +"to fix incorrect details or clean up the submission." +msgstr "" + +#: templates/helpdesk/edit_ticket.html:33 msgid "Save Changes" msgstr "" #: templates/helpdesk/email_ignore_add.html:3 +#: templates/helpdesk/email_ignore_add.html:6 #: templates/helpdesk/email_ignore_add.html:23 msgid "Ignore E-Mail Address" msgstr "" -#: templates/helpdesk/email_ignore_add.html:5 +#: templates/helpdesk/email_ignore_add.html:8 msgid "" -"\n" -"

Ignore E-Mail Address

\n" -"\n" -"

To ignore an e-mail address and prevent any emails from that address creating tickets automatically, enter the e-mail address below.

\n" -"\n" -"

You can either enter a whole e-mail address such as email@domain.com or a portion of an e-mail address with a wildcard, such as *@domain.com or user@*.

" +"To ignore an e-mail address and prevent any emails from that address " +"creating tickets automatically, enter the e-mail address below." +msgstr "" + +#: templates/helpdesk/email_ignore_add.html:10 +msgid "" +"You can either enter a whole e-mail address such as " +"email@domain.com or a portion of an e-mail address with a wildcard," +" such as *@domain.com or user@*." msgstr "" #: templates/helpdesk/email_ignore_del.html:3 msgid "Delete Ignored E-Mail Address" msgstr "" -#: templates/helpdesk/email_ignore_del.html:5 -#, python-format -msgid "" -"\n" -"

Un-Ignore E-Mail Address

\n" -"\n" -"

Are you sure you wish to stop removing this email address (%(email_address)s) and allow their e-mails to automatically create tickets in your system? You can re-add this e-mail address at any time.

\n" +#: templates/helpdesk/email_ignore_del.html:6 +msgid "Un-Ignore E-Mail Address" msgstr "" -#: templates/helpdesk/email_ignore_del.html:11 +#: templates/helpdesk/email_ignore_del.html:8 +#, python-format +msgid "" +"Are you sure you wish to stop removing this email address " +"(%(email_address)s) and allow their e-mails to automatically create" +" tickets in your system? You can re-add this e-mail address at any time." +msgstr "" + +#: templates/helpdesk/email_ignore_del.html:10 msgid "Keep Ignoring It" msgstr "" -#: templates/helpdesk/email_ignore_del.html:13 +#: templates/helpdesk/email_ignore_del.html:12 msgid "Stop Ignoring It" msgstr "" @@ -1241,16 +1385,12 @@ msgstr "" msgid "Date Added" msgstr "" -#: templates/helpdesk/email_ignore_list.html:13 -msgid "Queues" -msgstr "" - #: templates/helpdesk/email_ignore_list.html:13 msgid "Keep in mailbox?" msgstr "" #: templates/helpdesk/email_ignore_list.html:21 -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "All" msgstr "" @@ -1285,7 +1425,7 @@ msgid "Comment:" msgstr "" #: templates/helpdesk/kb_category.html:4 -#: templates/helpdesk/kb_category.html:11 +#: templates/helpdesk/kb_category.html:12 #, python-format msgid "Knowledgebase Category: %(kbcat)s" msgstr "" @@ -1295,12 +1435,12 @@ msgstr "" msgid "You are viewing all items in the %(kbcat)s category." msgstr "" -#: templates/helpdesk/kb_category.html:12 +#: templates/helpdesk/kb_category.html:13 msgid "Article" msgstr "" -#: templates/helpdesk/kb_index.html:4 templates/helpdesk/navigation.html:11 -#: templates/helpdesk/navigation.html:33 +#: templates/helpdesk/kb_index.html:4 templates/helpdesk/navigation.html:21 +#: templates/helpdesk/navigation.html:71 msgid "Knowledgebase" msgstr "" @@ -1311,8 +1451,8 @@ msgid "" "your problem prior to opening a support ticket." msgstr "" -#: templates/helpdesk/kb_index.html:9 -#: templates/helpdesk/public_homepage.html:9 +#: templates/helpdesk/kb_index.html:10 +#: templates/helpdesk/public_homepage.html:10 msgid "Knowledgebase Categories" msgstr "" @@ -1321,7 +1461,7 @@ msgstr "" msgid "Knowledgebase: %(item)s" msgstr "" -#: templates/helpdesk/kb_item.html:13 +#: templates/helpdesk/kb_item.html:16 #, python-format msgid "" "View other %(category_title)s " @@ -1329,88 +1469,82 @@ msgid "" "articles." msgstr "" -#: templates/helpdesk/kb_item.html:15 +#: templates/helpdesk/kb_item.html:18 msgid "Feedback" msgstr "" -#: templates/helpdesk/kb_item.html:17 +#: templates/helpdesk/kb_item.html:20 msgid "" "We give our users an opportunity to vote for items that they believe have " "helped them out, in order for us to better serve future customers. We would " "appreciate your feedback on this article. Did you find it useful?" msgstr "" -#: templates/helpdesk/kb_item.html:20 +#: templates/helpdesk/kb_item.html:23 msgid "This article was useful to me" msgstr "" -#: templates/helpdesk/kb_item.html:21 +#: templates/helpdesk/kb_item.html:24 msgid "This article was not useful to me" msgstr "" -#: templates/helpdesk/kb_item.html:24 +#: templates/helpdesk/kb_item.html:27 msgid "The results of voting by other readers of this article are below:" msgstr "" -#: templates/helpdesk/kb_item.html:27 +#: templates/helpdesk/kb_item.html:30 #, python-format msgid "Recommendations: %(recommendations)s" msgstr "" -#: templates/helpdesk/kb_item.html:28 +#: templates/helpdesk/kb_item.html:31 #, python-format msgid "Votes: %(votes)s" msgstr "" -#: templates/helpdesk/kb_item.html:29 +#: templates/helpdesk/kb_item.html:32 #, python-format msgid "Overall Rating: %(score)s" msgstr "" -#: templates/helpdesk/navigation.html:4 +#: templates/helpdesk/navigation.html:16 templates/helpdesk/navigation.html:64 msgid "Dashboard" msgstr "" -#: templates/helpdesk/navigation.html:5 -#: templates/helpdesk/ticket_list.html:198 -msgid "Tickets" -msgstr "" - -#: templates/helpdesk/navigation.html:6 +#: templates/helpdesk/navigation.html:18 msgid "New Ticket" msgstr "" -#: templates/helpdesk/navigation.html:8 +#: templates/helpdesk/navigation.html:19 msgid "Stats" msgstr "" -#: templates/helpdesk/navigation.html:14 -#: templates/helpdesk/ticket_list.html:46 -msgid "Load Saved Query" +#: templates/helpdesk/navigation.html:24 +msgid "Saved Query" msgstr "" -#: templates/helpdesk/navigation.html:25 templates/helpdesk/navigation.html:35 -msgid "Logout" +#: templates/helpdesk/navigation.html:39 +msgid "Change password" msgstr "" -#: templates/helpdesk/navigation.html:26 +#: templates/helpdesk/navigation.html:50 msgid "Search..." msgstr "" -#: templates/helpdesk/navigation.html:26 +#: templates/helpdesk/navigation.html:50 msgid "Enter a keyword, or a ticket number to jump straight to that ticket." msgstr "" -#: templates/helpdesk/navigation.html:31 -msgid "Submit A Ticket" +#: templates/helpdesk/navigation.html:73 +msgid "Logout" msgstr "" -#: templates/helpdesk/navigation.html:35 +#: templates/helpdesk/navigation.html:73 msgid "Log In" msgstr "" #: templates/helpdesk/public_change_language.html:2 -#: templates/helpdesk/public_homepage.html:21 +#: templates/helpdesk/public_homepage.html:73 #: templates/helpdesk/public_view_form.html:4 #: templates/helpdesk/public_view_ticket.html:2 msgid "View a Ticket" @@ -1424,74 +1558,81 @@ msgstr "" msgid "Knowledgebase Articles" msgstr "" -#: templates/helpdesk/public_homepage.html:29 +#: templates/helpdesk/public_homepage.html:28 +msgid "All fields are required." +msgstr "" + +#: templates/helpdesk/public_homepage.html:66 +msgid "Please use button at upper right to login first." +msgstr "" + +#: templates/helpdesk/public_homepage.html:82 #: templates/helpdesk/public_view_form.html:15 msgid "Your E-mail Address" msgstr "" -#: templates/helpdesk/public_homepage.html:33 +#: templates/helpdesk/public_homepage.html:86 #: templates/helpdesk/public_view_form.html:19 msgid "View Ticket" msgstr "" -#: templates/helpdesk/public_homepage.html:39 -msgid "Submit a Ticket" -msgstr "" - -#: templates/helpdesk/public_homepage.html:41 -msgid "" -"All fields are required. Please provide as descriptive a title and " -"description as possible." -msgstr "" - -#: templates/helpdesk/public_homepage.html:67 -msgid "Please use button at upper right to login first." -msgstr "" - #: templates/helpdesk/public_spam.html:4 msgid "Unable To Open Ticket" msgstr "" +#: templates/helpdesk/public_spam.html:5 +msgid "Sorry, but there has been an error trying to submit your ticket." +msgstr "" + #: templates/helpdesk/public_spam.html:6 msgid "" -"

Sorry, but there has been an error trying to submit your ticket.

\n" -"\n" -"

Our system has marked your submission as spam, so we are unable to save it. If this is not spam, please press back and re-type your message. Be careful to avoid sounding 'spammy', and if you have heaps of links please try removing them if possible.

\n" -"\n" -"

We are sorry for any inconvenience, however this check is required to avoid our helpdesk resources being overloaded by spammers.

\n" +"Our system has marked your submission as spam, so we are " +"unable to save it. If this is not spam, please press back and re-type your " +"message. Be careful to avoid sounding 'spammy', and if you have heaps of " +"links please try removing them if possible." +msgstr "" + +#: templates/helpdesk/public_spam.html:7 +msgid "" +"We are sorry for any inconvenience, however this check is required to avoid " +"our helpdesk resources being overloaded by spammers." msgstr "" #: templates/helpdesk/public_view_form.html:8 msgid "Error:" msgstr "" -#: templates/helpdesk/public_view_ticket.html:8 +#: templates/helpdesk/public_view_ticket.html:9 #, python-format msgid "Queue: %(queue_name)s" msgstr "" -#: templates/helpdesk/public_view_ticket.html:11 -#: templates/helpdesk/ticket_desc_table.html:16 +#: templates/helpdesk/public_view_ticket.html:13 +#: templates/helpdesk/ticket_desc_table.html:32 msgid "Submitted On" msgstr "" -#: templates/helpdesk/public_view_ticket.html:46 -#: templates/helpdesk/ticket_desc_table.html:74 +#: templates/helpdesk/public_view_ticket.html:35 +msgid "Tags" +msgstr "" + +#: templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 msgid "Accept" msgstr "" -#: templates/helpdesk/public_view_ticket.html:46 -#: templates/helpdesk/ticket_desc_table.html:74 +#: templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 msgid "Accept and Close" msgstr "" -#: templates/helpdesk/public_view_ticket.html:55 -#: templates/helpdesk/ticket.html:64 +#: templates/helpdesk/public_view_ticket.html:57 +#: templates/helpdesk/ticket.html:66 msgid "Follow-Ups" msgstr "" -#: templates/helpdesk/public_view_ticket.html:63 -#: templates/helpdesk/ticket.html:92 +#: templates/helpdesk/public_view_ticket.html:65 +#: templates/helpdesk/ticket.html:100 #, python-format msgid "Changed %(field)s from %(old_value)s to %(new_value)s." msgstr "" @@ -1534,6 +1675,10 @@ msgstr "" msgid "Reports By Queue" msgstr "" +#: templates/helpdesk/report_index.html:27 views/staff.py:1049 +msgid "Days until ticket closed by Month" +msgstr "" + #: templates/helpdesk/report_output.html:19 msgid "" "You can run this query on filtered data by using one of your saved queries." @@ -1591,15 +1736,15 @@ msgid "" "new tickets coming into that queue." msgstr "" -#: templates/helpdesk/rss_list.html:22 +#: templates/helpdesk/rss_list.html:23 msgid "Per-Queue Feeds" msgstr "" -#: templates/helpdesk/rss_list.html:23 +#: templates/helpdesk/rss_list.html:24 msgid "All Open Tickets" msgstr "" -#: templates/helpdesk/rss_list.html:27 +#: templates/helpdesk/rss_list.html:30 msgid "Open Tickets" msgstr "" @@ -1607,12 +1752,8 @@ msgstr "" msgid "Change System Settings" msgstr "" -#: templates/helpdesk/system_settings.html:5 -msgid "" -"\n" -"

System Settings

\n" -"\n" -"

The following items can be maintained by you or other superusers:

" +#: templates/helpdesk/system_settings.html:8 +msgid "The following items can be maintained by you or other superusers:" msgstr "" #: templates/helpdesk/system_settings.html:11 @@ -1651,77 +1792,81 @@ msgstr "" msgid "Attach another File" msgstr "" -#: templates/helpdesk/ticket.html:34 templates/helpdesk/ticket.html.py:197 +#: templates/helpdesk/ticket.html:34 templates/helpdesk/ticket.html.py:200 msgid "Add Another File" msgstr "" -#: templates/helpdesk/ticket.html:71 templates/helpdesk/ticket.html.py:81 +#: templates/helpdesk/ticket.html:73 templates/helpdesk/ticket.html.py:86 msgid "Private" msgstr "" -#: templates/helpdesk/ticket.html:111 +#: templates/helpdesk/ticket.html:119 msgid "Respond to this ticket" msgstr "" -#: templates/helpdesk/ticket.html:118 +#: templates/helpdesk/ticket.html:126 msgid "Use a Pre-set Reply" msgstr "" -#: templates/helpdesk/ticket.html:120 +#: templates/helpdesk/ticket.html:126 templates/helpdesk/ticket.html.py:166 +msgid "(Optional)" +msgstr "" + +#: templates/helpdesk/ticket.html:128 msgid "" "Selecting a pre-set reply will over-write your comment below. You can then " "modify the pre-set reply to your liking before saving this update." msgstr "" -#: templates/helpdesk/ticket.html:123 +#: templates/helpdesk/ticket.html:131 msgid "Comment / Resolution" msgstr "" -#: templates/helpdesk/ticket.html:125 +#: templates/helpdesk/ticket.html:133 msgid "" "You can insert ticket and queue details in your message. For more " "information, see the context help page." msgstr "" -#: templates/helpdesk/ticket.html:128 +#: templates/helpdesk/ticket.html:136 msgid "" "This ticket cannot be resolved or closed until the tickets it depends on are" " resolved." msgstr "" -#: templates/helpdesk/ticket.html:158 +#: templates/helpdesk/ticket.html:166 msgid "Is this update public?" msgstr "" -#: templates/helpdesk/ticket.html:160 +#: templates/helpdesk/ticket.html:168 msgid "" "If this is public, the submitter will be e-mailed your comment or " "resolution." msgstr "" -#: templates/helpdesk/ticket.html:164 +#: templates/helpdesk/ticket.html:172 msgid "Change Further Details »" msgstr "" -#: templates/helpdesk/ticket.html:173 templates/helpdesk/ticket_list.html:55 -#: templates/helpdesk/ticket_list.html:87 -#: templates/helpdesk/ticket_list.html:199 +#: templates/helpdesk/ticket.html:181 templates/helpdesk/ticket_list.html:68 +#: templates/helpdesk/ticket_list.html:97 +#: templates/helpdesk/ticket_list.html:225 msgid "Owner" msgstr "" -#: templates/helpdesk/ticket.html:174 +#: templates/helpdesk/ticket.html:182 msgid "Unassign" msgstr "" -#: templates/helpdesk/ticket.html:190 +#: templates/helpdesk/ticket.html:193 msgid "Attach File(s) »" msgstr "" -#: templates/helpdesk/ticket.html:196 +#: templates/helpdesk/ticket.html:199 msgid "Attach a File" msgstr "" -#: templates/helpdesk/ticket.html:204 +#: templates/helpdesk/ticket.html:207 msgid "Update This Ticket" msgstr "" @@ -1824,263 +1969,256 @@ msgid "" "

Are you sure you wish to remove the dependency on this ticket?

\n" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:11 +#: templates/helpdesk/ticket_desc_table.html:7 msgid "Unhold" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:11 +#: templates/helpdesk/ticket_desc_table.html:7 msgid "Hold" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:13 +#: templates/helpdesk/ticket_desc_table.html:9 #, python-format msgid "Queue: %(queue)s" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:21 +#: templates/helpdesk/ticket_desc_table.html:37 msgid "Assigned To" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:27 +#: templates/helpdesk/ticket_desc_table.html:43 msgid "Ignore" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:36 +#: templates/helpdesk/ticket_desc_table.html:52 msgid "Copies To" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:37 +#: templates/helpdesk/ticket_desc_table.html:53 msgid "Manage" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:37 +#: templates/helpdesk/ticket_desc_table.html:53 msgid "" "Click here to add / remove people who should receive an e-mail whenever this" " ticket is updated." msgstr "" -#: templates/helpdesk/ticket_desc_table.html:48 +#: templates/helpdesk/ticket_desc_table.html:53 +msgid "Subscribe" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:53 +msgid "" +"Click here to subscribe yourself to this ticket, if you want to receive an " +"e-mail whenever this ticket is updated." +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:57 msgid "Dependencies" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:50 +#: templates/helpdesk/ticket_desc_table.html:59 msgid "" "This ticket cannot be resolved until the following ticket(s) are resolved" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:51 +#: templates/helpdesk/ticket_desc_table.html:60 msgid "Remove Dependency" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:54 +#: templates/helpdesk/ticket_desc_table.html:63 msgid "This ticket has no dependencies." msgstr "" -#: templates/helpdesk/ticket_desc_table.html:56 +#: templates/helpdesk/ticket_desc_table.html:65 msgid "Add Dependency" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:56 +#: templates/helpdesk/ticket_desc_table.html:65 msgid "" "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." msgstr "" -#: templates/helpdesk/ticket_list.html:2 -msgid "Ticket Listing" -msgstr "" - -#: templates/helpdesk/ticket_list.html:41 -msgid "Query Options" -msgstr "" - -#: templates/helpdesk/ticket_list.html:43 -msgid "Save This Query" -msgstr "" - -#: templates/helpdesk/ticket_list.html:51 +#: templates/helpdesk/ticket_list.html:59 msgid "Change Query" msgstr "" -#: templates/helpdesk/ticket_list.html:54 -#: templates/helpdesk/ticket_list.html:69 +#: templates/helpdesk/ticket_list.html:67 +#: templates/helpdesk/ticket_list.html:79 msgid "Sorting" msgstr "" -#: templates/helpdesk/ticket_list.html:58 -#: templates/helpdesk/ticket_list.html:137 +#: templates/helpdesk/ticket_list.html:71 +#: templates/helpdesk/ticket_list.html:139 msgid "Keywords" msgstr "" -#: templates/helpdesk/ticket_list.html:59 +#: templates/helpdesk/ticket_list.html:72 msgid "Date Range" msgstr "" -#: templates/helpdesk/ticket_list.html:90 +#: templates/helpdesk/ticket_list.html:100 msgid "Reverse" msgstr "" -#: templates/helpdesk/ticket_list.html:92 +#: templates/helpdesk/ticket_list.html:102 msgid "Ordering applied to tickets" msgstr "" -#: templates/helpdesk/ticket_list.html:97 +#: templates/helpdesk/ticket_list.html:107 msgid "Owner(s)" msgstr "" -#: templates/helpdesk/ticket_list.html:101 +#: templates/helpdesk/ticket_list.html:111 msgid "(ME)" msgstr "" -#: templates/helpdesk/ticket_list.html:105 +#: templates/helpdesk/ticket_list.html:115 msgid "Ctrl-Click to select multiple options" msgstr "" -#: templates/helpdesk/ticket_list.html:110 +#: templates/helpdesk/ticket_list.html:120 msgid "Queue(s)" msgstr "" -#: templates/helpdesk/ticket_list.html:111 -#: templates/helpdesk/ticket_list.html:117 -#: templates/helpdesk/ticket_list.html:131 +#: templates/helpdesk/ticket_list.html:121 +#: templates/helpdesk/ticket_list.html:127 msgid "Ctrl-click to select multiple options" msgstr "" -#: templates/helpdesk/ticket_list.html:116 +#: templates/helpdesk/ticket_list.html:126 msgid "Status(es)" msgstr "" -#: templates/helpdesk/ticket_list.html:122 +#: templates/helpdesk/ticket_list.html:132 msgid "Date (From)" msgstr "" -#: templates/helpdesk/ticket_list.html:123 +#: templates/helpdesk/ticket_list.html:133 msgid "Date (To)" msgstr "" -#: templates/helpdesk/ticket_list.html:124 +#: templates/helpdesk/ticket_list.html:134 msgid "Use YYYY-MM-DD date format, eg 2011-05-29" msgstr "" -#: templates/helpdesk/ticket_list.html:130 -msgid "Tag(s)" -msgstr "" - -#: templates/helpdesk/ticket_list.html:138 +#: templates/helpdesk/ticket_list.html:140 msgid "" "Keywords are case-insensitive, and will be looked for in the title, body and" " submitter fields." msgstr "" -#: templates/helpdesk/ticket_list.html:142 +#: templates/helpdesk/ticket_list.html:144 msgid "Apply Filter" msgstr "" -#: templates/helpdesk/ticket_list.html:144 +#: templates/helpdesk/ticket_list.html:146 #, python-format -msgid "You are currently viewing saved query %(query_name)s." +msgid "You are currently viewing saved query \"%(query_name)s\"." msgstr "" -#: templates/helpdesk/ticket_list.html:147 +#: templates/helpdesk/ticket_list.html:149 #, python-format msgid "" "Run a report on this " "query to see stats and charts for the data listed below." msgstr "" -#: templates/helpdesk/ticket_list.html:154 -#: templates/helpdesk/ticket_list.html:169 +#: templates/helpdesk/ticket_list.html:162 +#: templates/helpdesk/ticket_list.html:181 msgid "Save Query" msgstr "" -#: templates/helpdesk/ticket_list.html:160 +#: templates/helpdesk/ticket_list.html:172 msgid "" "This name appears in the drop-down list of saved queries. If you share your " "query, other users will see this name, so choose something clear and " "descriptive!" msgstr "" -#: templates/helpdesk/ticket_list.html:162 +#: templates/helpdesk/ticket_list.html:174 msgid "Shared?" msgstr "" -#: templates/helpdesk/ticket_list.html:163 +#: templates/helpdesk/ticket_list.html:175 msgid "Yes, share this query with other users." msgstr "" -#: templates/helpdesk/ticket_list.html:164 +#: templates/helpdesk/ticket_list.html:176 msgid "" "If you share this query, it will be visible by all other logged-in " "users." msgstr "" -#: templates/helpdesk/ticket_list.html:176 +#: templates/helpdesk/ticket_list.html:195 msgid "Use Saved Query" msgstr "" -#: templates/helpdesk/ticket_list.html:178 +#: templates/helpdesk/ticket_list.html:202 msgid "Query" msgstr "" -#: templates/helpdesk/ticket_list.html:183 +#: templates/helpdesk/ticket_list.html:207 msgid "Run Query" msgstr "" -#: templates/helpdesk/ticket_list.html:213 +#: templates/helpdesk/ticket_list.html:240 msgid "No Tickets Match Your Selection" msgstr "" -#: templates/helpdesk/ticket_list.html:219 +#: templates/helpdesk/ticket_list.html:247 msgid "Previous" msgstr "" -#: templates/helpdesk/ticket_list.html:223 +#: templates/helpdesk/ticket_list.html:251 #, python-format msgid "Page %(ticket_num)s of %(num_pages)s." msgstr "" -#: templates/helpdesk/ticket_list.html:227 +#: templates/helpdesk/ticket_list.html:255 msgid "Next" msgstr "" -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "Select:" msgstr "" -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "None" msgstr "" -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "Inverse" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "With Selected Tickets:" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Take (Assign to me)" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Close" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Close (Don't Send E-Mail)" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Close (Send E-Mail)" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Assign To" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Nobody (Unassign)" msgstr "" @@ -2088,15 +2226,13 @@ msgstr "" msgid "Change User Settings" msgstr "" -#: templates/helpdesk/user_settings.html:14 +#: templates/helpdesk/user_settings.html:8 msgid "" -"\n" -"

User Settings

\n" -"\n" -"

Use the following options to change the way your helpdesk system works for you. These settings do not impact any other user.

\n" +"Use the following options to change the way your helpdesk system works for " +"you. These settings do not impact any other user." msgstr "" -#: templates/helpdesk/user_settings.html:29 +#: templates/helpdesk/user_settings.html:14 msgid "Save Options" msgstr "" @@ -2117,116 +2253,101 @@ msgstr "" msgid "Helpdesk Login" msgstr "" -#: templates/helpdesk/registration/login.html:9 -#: templates/helpdesk/registration/login.html:21 -msgid "Login" -msgstr "" - -#: templates/helpdesk/registration/login.html:11 -msgid "" -"To log in and begin responding to cases, simply enter your username and " -"password below." -msgstr "" - #: templates/helpdesk/registration/login.html:14 +msgid "To log in simply enter your username and password below." +msgstr "" + +#: templates/helpdesk/registration/login.html:17 msgid "Your username and password didn't match. Please try again." msgstr "" -#: templates/helpdesk/registration/login.html:16 -msgid "Username" +#: templates/helpdesk/registration/login.html:20 +msgid "Login" msgstr "" -#: templates/helpdesk/registration/login.html:18 -msgid "Password" -msgstr "" - -#: views/feeds.py:35 +#: views/feeds.py:39 #, python-format msgid "Helpdesk: Open Tickets in queue %(queue)s for %(username)s" msgstr "" -#: views/feeds.py:40 +#: views/feeds.py:44 #, python-format msgid "Helpdesk: Open Tickets for %(username)s" msgstr "" -#: views/feeds.py:46 +#: views/feeds.py:50 #, python-format msgid "Open and Reopened Tickets in queue %(queue)s for %(username)s" msgstr "" -#: views/feeds.py:51 +#: views/feeds.py:55 #, python-format msgid "Open and Reopened Tickets for %(username)s" msgstr "" -#: views/feeds.py:98 +#: views/feeds.py:102 msgid "Helpdesk: Unassigned Tickets" msgstr "" -#: views/feeds.py:99 +#: views/feeds.py:103 msgid "Unassigned Open and Reopened tickets" msgstr "" -#: views/feeds.py:124 +#: views/feeds.py:128 msgid "Helpdesk: Recent Followups" msgstr "" -#: views/feeds.py:125 +#: views/feeds.py:129 msgid "" "Recent FollowUps, such as e-mail replies, comments, attachments and " "resolutions" msgstr "" -#: views/feeds.py:140 +#: views/feeds.py:144 #, python-format msgid "Helpdesk: Open Tickets in queue %(queue)s" msgstr "" -#: views/feeds.py:145 +#: views/feeds.py:149 #, python-format msgid "Open and Reopened Tickets in queue %(queue)s" msgstr "" -#: views/public.py:91 +#: views/public.py:89 msgid "Invalid ticket ID or e-mail address. Please try again." msgstr "" -#: views/public.py:109 +#: views/public.py:107 msgid "Submitter accepted resolution and closed ticket" msgstr "" -#: views/staff.py:218 +#: views/staff.py:235 msgid "Accepted resolution and closed ticket" msgstr "" -#: views/staff.py:246 -msgid "Sorry, you need to login to do that." -msgstr "" - -#: views/staff.py:295 +#: views/staff.py:369 #, python-format msgid "Assigned to %(username)s" msgstr "" -#: views/staff.py:318 +#: views/staff.py:392 msgid "Updated" msgstr "" -#: views/staff.py:496 +#: views/staff.py:577 #, python-format msgid "Assigned to %(username)s in bulk update" msgstr "" -#: views/staff.py:501 +#: views/staff.py:582 msgid "Unassigned in bulk update" msgstr "" -#: views/staff.py:506 views/staff.py:511 +#: views/staff.py:587 views/staff.py:592 msgid "Closed in bulk update" msgstr "" -#: views/staff.py:732 +#: views/staff.py:806 msgid "" "

Note: Your keyword search is case sensitive because of " "your database. This means the search will not be accurate. " @@ -2236,86 +2357,38 @@ msgid "" "matching\">Django Documentation on string matching in SQLite." msgstr "" -#: views/staff.py:843 +#: views/staff.py:910 msgid "Ticket taken off hold" msgstr "" -#: views/staff.py:846 +#: views/staff.py:913 msgid "Ticket placed on hold" msgstr "" -#: views/staff.py:914 -msgid "Jan" -msgstr "" - -#: views/staff.py:915 -msgid "Feb" -msgstr "" - -#: views/staff.py:916 -msgid "Mar" -msgstr "" - -#: views/staff.py:917 -msgid "Apr" -msgstr "" - -#: views/staff.py:918 -msgid "May" -msgstr "" - -#: views/staff.py:919 -msgid "Jun" -msgstr "" - -#: views/staff.py:920 -msgid "Jul" -msgstr "" - -#: views/staff.py:921 -msgid "Aug" -msgstr "" - -#: views/staff.py:922 -msgid "Sep" -msgstr "" - -#: views/staff.py:923 -msgid "Oct" -msgstr "" - -#: views/staff.py:924 -msgid "Nov" -msgstr "" - -#: views/staff.py:925 -msgid "Dec" -msgstr "" - -#: views/staff.py:951 +#: views/staff.py:1007 msgid "User by Priority" msgstr "" -#: views/staff.py:957 +#: views/staff.py:1013 msgid "User by Queue" msgstr "" -#: views/staff.py:963 +#: views/staff.py:1019 msgid "User by Status" msgstr "" -#: views/staff.py:969 +#: views/staff.py:1025 msgid "User by Month" msgstr "" -#: views/staff.py:975 +#: views/staff.py:1031 msgid "Queue by Priority" msgstr "" -#: views/staff.py:981 +#: views/staff.py:1037 msgid "Queue by Status" msgstr "" -#: views/staff.py:987 +#: views/staff.py:1043 msgid "Queue by Month" msgstr "" diff --git a/helpdesk/locale/en/LC_MESSAGES/django.mo b/helpdesk/locale/en/LC_MESSAGES/django.mo index 520496cf..58b7dfc6 100644 Binary files a/helpdesk/locale/en/LC_MESSAGES/django.mo and b/helpdesk/locale/en/LC_MESSAGES/django.mo differ diff --git a/helpdesk/locale/en/LC_MESSAGES/django.po b/helpdesk/locale/en/LC_MESSAGES/django.po index ba538705..93578533 100644 --- a/helpdesk/locale/en/LC_MESSAGES/django.po +++ b/helpdesk/locale/en/LC_MESSAGES/django.po @@ -1,1066 +1,1165 @@ # django-helpdesk English language translation # Copyright (C) 2011 Ross Poulton # This file is distributed under the same license as the django-helpdesk package. -# Ross Poulton , 2011. # -#, fuzzy +# Translators: +# Ross Poulton , 2011 msgid "" msgstr "" -"Project-Id-Version: 0.1\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-08-07 20:40+1000\n" -"PO-Revision-Date: 2011-07-02 07:12+10Last-Translator: Ross Poulton " -"\n" +"Project-Id-Version: django-helpdesk\n" +"Report-Msgid-Bugs-To: http://github.com/RossP/django-helpdesk/issues\n" +"POT-Creation-Date: 2014-07-26 14:14+0200\n" +"PO-Revision-Date: 2013-11-20 11:07+0000\n" +"Last-Translator: Ross Poulton \n" +"Language-Team: English (http://www.transifex.com/projects/p/django-helpdesk/" +"language/en/)\n" +"Language: en\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: forms.py:113 forms.py:360 models.py:262 -#: templates/helpdesk/dashboard.html:11 templates/helpdesk/dashboard.html:37 -#: templates/helpdesk/dashboard.html:57 templates/helpdesk/dashboard.html:77 -#: templates/helpdesk/dashboard.html:99 templates/helpdesk/rss_list.html:23 -#: templates/helpdesk/ticket_list.html:56 -#: templates/helpdesk/ticket_list.html:78 -#: templates/helpdesk/ticket_list.html:199 views/staff.py:976 -#: views/staff.py:982 views/staff.py:988 +#: forms.py:128 forms.py:328 models.py:190 models.py:267 +#: templates/helpdesk/dashboard.html:15 templates/helpdesk/dashboard.html:58 +#: templates/helpdesk/dashboard.html:78 templates/helpdesk/dashboard.html:100 +#: templates/helpdesk/dashboard.html:124 templates/helpdesk/rss_list.html:24 +#: templates/helpdesk/ticket_list.html:69 +#: templates/helpdesk/ticket_list.html:88 +#: templates/helpdesk/ticket_list.html:225 views/staff.py:1032 +#: views/staff.py:1038 views/staff.py:1044 views/staff.py:1050 msgid "Queue" msgstr "" -#: forms.py:122 +#: forms.py:137 msgid "Summary of the problem" msgstr "" -#: forms.py:127 +#: forms.py:142 msgid "Submitter E-Mail Address" msgstr "" -#: forms.py:129 +#: forms.py:144 msgid "" "This e-mail address will receive copies of all public updates to this ticket." msgstr "" -#: forms.py:135 +#: forms.py:150 msgid "Description of Issue" msgstr "" -#: forms.py:142 +#: forms.py:157 msgid "Case owner" msgstr "" -#: forms.py:143 +#: forms.py:158 msgid "" "If you select an owner other than yourself, they'll be e-mailed details of " "this ticket immediately." msgstr "" -#: forms.py:151 models.py:322 management/commands/escalate_tickets.py:149 -#: templates/helpdesk/public_view_ticket.html:21 -#: templates/helpdesk/ticket.html:176 -#: templates/helpdesk/ticket_desc_table.html:31 -#: templates/helpdesk/ticket_list.html:84 views/staff.py:355 +#: forms.py:166 models.py:327 management/commands/escalate_tickets.py:154 +#: templates/helpdesk/public_view_ticket.html:23 +#: templates/helpdesk/ticket.html:184 +#: templates/helpdesk/ticket_desc_table.html:47 +#: templates/helpdesk/ticket_list.html:94 views/staff.py:429 msgid "Priority" msgstr "" -#: forms.py:152 +#: forms.py:167 msgid "Please select a priority carefully. If unsure, leave it as '3'." msgstr "" -#: forms.py:159 forms.py:397 models.py:330 templates/helpdesk/ticket.html:178 -#: views/staff.py:365 +#: forms.py:174 forms.py:365 models.py:335 templates/helpdesk/ticket.html:186 +#: views/staff.py:439 msgid "Due on" msgstr "" -#: forms.py:171 forms.py:402 +#: forms.py:186 forms.py:370 msgid "Attach File" msgstr "" -#: forms.py:172 forms.py:403 +#: forms.py:187 forms.py:371 msgid "You can attach a file such as a document or screenshot to this ticket." msgstr "" -#: forms.py:180 templates/helpdesk/public_view_ticket.html:33 -#: templates/helpdesk/ticket.html:182 -#: templates/helpdesk/ticket_desc_table.html:42 -#: templates/helpdesk/ticket_list.html:61 -#: templates/helpdesk/ticket_list.html:199 views/staff.py:376 -msgid "Tags" -msgstr "" - -#: forms.py:181 -msgid "" -"Words, separated by spaces, or phrases separated by commas. These should " -"communicate significant characteristics of this ticket" -msgstr "" - -#: forms.py:275 +#: forms.py:240 msgid "Ticket Opened" msgstr "" -#: forms.py:282 +#: forms.py:247 #, python-format msgid "Ticket Opened & Assigned to %(name)s" msgstr "" -#: forms.py:369 +#: forms.py:337 msgid "Summary of your query" msgstr "" -#: forms.py:374 +#: forms.py:342 msgid "Your E-Mail Address" msgstr "" -#: forms.py:375 +#: forms.py:343 msgid "We will e-mail you when your ticket is updated." msgstr "" -#: forms.py:380 +#: forms.py:348 msgid "Description of your issue" msgstr "" -#: forms.py:382 +#: forms.py:350 msgid "" "Please be as descriptive as possible, including any details we may need to " "address your query." msgstr "" -#: forms.py:390 +#: forms.py:358 msgid "Urgency" msgstr "" -#: forms.py:391 +#: forms.py:359 msgid "Please select a priority carefully." msgstr "" -#: forms.py:486 +#: forms.py:419 msgid "Ticket Opened Via Web" msgstr "" -#: forms.py:553 +#: forms.py:486 msgid "Show Ticket List on Login?" msgstr "" -#: forms.py:554 +#: forms.py:487 msgid "Display the ticket list upon login? Otherwise, the dashboard is shown." msgstr "" -#: forms.py:559 +#: forms.py:492 msgid "E-mail me on ticket change?" msgstr "" -#: forms.py:560 +#: forms.py:493 msgid "" "If you're the ticket owner and the ticket is changed via the web by somebody " "else, do you want to receive an e-mail?" msgstr "" -#: forms.py:565 +#: forms.py:498 msgid "E-mail me when assigned a ticket?" msgstr "" -#: forms.py:566 +#: forms.py:499 msgid "" "If you are assigned a ticket via the web, do you want to receive an e-mail?" msgstr "" -#: forms.py:571 +#: forms.py:504 msgid "E-mail me when a ticket is changed via the API?" msgstr "" -#: forms.py:572 +#: forms.py:505 msgid "If a ticket is altered by the API, do you want to receive an e-mail?" msgstr "" -#: forms.py:577 +#: forms.py:510 msgid "Number of tickets to show per page" msgstr "" -#: forms.py:578 +#: forms.py:511 msgid "How many tickets do you want to see on the Ticket List page?" msgstr "" -#: forms.py:585 +#: forms.py:518 msgid "Use my e-mail address when submitting tickets?" msgstr "" -#: forms.py:586 +#: forms.py:519 msgid "" "When you submit a ticket, do you want to automatically use your e-mail " "address as the submitter address? You can type a different e-mail address " "when entering the ticket if needed, this option only changes the default." msgstr "" -#: models.py:32 models.py:256 models.py:490 models.py:787 models.py:821 -#: templates/helpdesk/dashboard.html:37 templates/helpdesk/dashboard.html:57 -#: templates/helpdesk/dashboard.html:77 templates/helpdesk/dashboard.html:99 -#: templates/helpdesk/ticket.html:170 templates/helpdesk/ticket_list.html:75 -#: templates/helpdesk/ticket_list.html:199 views/staff.py:345 +#: models.py:35 models.py:261 models.py:503 models.py:817 models.py:853 +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:100 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket.html:178 templates/helpdesk/ticket_list.html:85 +#: templates/helpdesk/ticket_list.html:225 views/staff.py:419 msgid "Title" msgstr "" -#: models.py:37 models.py:792 models.py:1162 +#: models.py:40 models.py:822 models.py:1206 msgid "Slug" msgstr "" -#: models.py:38 +#: models.py:41 msgid "" "This slug is used when building ticket ID's. Once set, try not to change it " "or e-mailing may get messy." msgstr "" -#: models.py:43 models.py:1015 models.py:1085 models.py:1159 +#: models.py:46 models.py:1054 models.py:1129 models.py:1203 #: templates/helpdesk/email_ignore_list.html:13 #: templates/helpdesk/ticket_cc_list.html:15 msgid "E-Mail Address" msgstr "" -#: models.py:46 +#: models.py:49 msgid "" "All outgoing e-mails for this queue will use this e-mail address. If you use " "IMAP or POP3, this should be the e-mail address for that mailbox." msgstr "" -#: models.py:52 models.py:766 +#: models.py:55 models.py:794 msgid "Locale" msgstr "" -#: models.py:56 +#: models.py:59 msgid "" "Locale of this queue. All correspondence in this queue will be in this " "language." msgstr "" -#: models.py:60 +#: models.py:63 msgid "Allow Public Submission?" msgstr "" -#: models.py:63 +#: models.py:66 msgid "Should this queue be listed on the public submission form?" msgstr "" -#: models.py:68 +#: models.py:71 msgid "Allow E-Mail Submission?" msgstr "" -#: models.py:71 +#: models.py:74 msgid "Do you want to poll the e-mail box below for new tickets?" msgstr "" -#: models.py:76 +#: models.py:79 msgid "Escalation Days" msgstr "" -#: models.py:79 +#: models.py:82 msgid "" "For tickets which are not held, how often do you wish to increase their " "priority? Set to 0 for no escalation." msgstr "" -#: models.py:84 +#: models.py:87 msgid "New Ticket CC Address" msgstr "" -#: models.py:88 +#: models.py:91 msgid "" "If an e-mail address is entered here, then it will receive notification of " "all new tickets created for this queue. Enter a comma between multiple e-" "mail addresses." msgstr "" -#: models.py:94 +#: models.py:97 msgid "Updated Ticket CC Address" msgstr "" -#: models.py:98 +#: models.py:101 msgid "" "If an e-mail address is entered here, then it will receive notification of " "all activity (new tickets, closed tickets, updates, reassignments, etc) for " "this queue. Separate multiple addresses with a comma." msgstr "" -#: models.py:105 +#: models.py:108 msgid "E-Mail Box Type" msgstr "" -#: models.py:107 +#: models.py:110 msgid "POP 3" msgstr "" -#: models.py:107 +#: models.py:110 msgid "IMAP" msgstr "" -#: models.py:110 +#: models.py:113 msgid "" "E-Mail server type for creating tickets automatically from a mailbox - both " "POP3 and IMAP are supported." msgstr "" -#: models.py:115 +#: models.py:118 msgid "E-Mail Hostname" msgstr "" -#: models.py:119 +#: models.py:122 msgid "" "Your e-mail server address - either the domain name or IP address. May be " "\"localhost\"." msgstr "" -#: models.py:124 +#: models.py:127 msgid "E-Mail Port" msgstr "" -#: models.py:127 +#: models.py:130 msgid "" "Port number to use for accessing e-mail. Default for POP3 is \"110\", and " "for IMAP is \"143\". This may differ on some servers. Leave it blank to use " "the defaults." msgstr "" -#: models.py:133 +#: models.py:136 msgid "Use SSL for E-Mail?" msgstr "" -#: models.py:136 +#: models.py:139 msgid "" "Whether to use SSL for IMAP or POP3 - the default ports when using SSL are " "993 for IMAP and 995 for POP3." msgstr "" -#: models.py:141 +#: models.py:144 msgid "E-Mail Username" msgstr "" -#: models.py:145 +#: models.py:148 msgid "Username for accessing this mailbox." msgstr "" -#: models.py:149 +#: models.py:152 msgid "E-Mail Password" msgstr "" -#: models.py:153 +#: models.py:156 msgid "Password for the above username" msgstr "" -#: models.py:157 +#: models.py:160 msgid "IMAP Folder" msgstr "" -#: models.py:161 +#: models.py:164 msgid "" "If using IMAP, what folder do you wish to fetch messages from? This allows " "you to use one IMAP account for multiple queues, by filtering messages on " "your IMAP server into separate folders. Default: INBOX." msgstr "" -#: models.py:168 +#: models.py:171 msgid "E-Mail Check Interval" msgstr "" -#: models.py:169 +#: models.py:172 msgid "How often do you wish to check this mailbox? (in Minutes)" msgstr "" -#: models.py:240 templates/helpdesk/dashboard.html:11 -#: templates/helpdesk/ticket.html:130 +#: models.py:191 templates/helpdesk/email_ignore_list.html:13 +msgid "Queues" +msgstr "" + +#: models.py:245 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:138 msgid "Open" msgstr "" -#: models.py:241 templates/helpdesk/ticket.html:136 -#: templates/helpdesk/ticket.html.py:142 templates/helpdesk/ticket.html:147 -#: templates/helpdesk/ticket.html.py:151 +#: models.py:246 templates/helpdesk/ticket.html:144 +#: templates/helpdesk/ticket.html.py:150 templates/helpdesk/ticket.html:155 +#: templates/helpdesk/ticket.html.py:159 msgid "Reopened" msgstr "" -#: models.py:242 templates/helpdesk/dashboard.html:11 -#: templates/helpdesk/ticket.html:131 templates/helpdesk/ticket.html.py:137 -#: templates/helpdesk/ticket.html:143 +#: models.py:247 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:139 templates/helpdesk/ticket.html.py:145 +#: templates/helpdesk/ticket.html:151 msgid "Resolved" msgstr "" -#: models.py:243 templates/helpdesk/dashboard.html:11 -#: templates/helpdesk/ticket.html:132 templates/helpdesk/ticket.html.py:138 -#: templates/helpdesk/ticket.html:144 templates/helpdesk/ticket.html.py:148 +#: models.py:248 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:140 templates/helpdesk/ticket.html.py:146 +#: templates/helpdesk/ticket.html:152 templates/helpdesk/ticket.html.py:156 msgid "Closed" msgstr "" -#: models.py:244 templates/helpdesk/ticket.html:133 -#: templates/helpdesk/ticket.html.py:139 templates/helpdesk/ticket.html:152 +#: models.py:249 templates/helpdesk/ticket.html:141 +#: templates/helpdesk/ticket.html.py:147 templates/helpdesk/ticket.html:160 msgid "Duplicate" msgstr "" -#: models.py:248 +#: models.py:253 msgid "1. Critical" msgstr "" -#: models.py:249 +#: models.py:254 msgid "2. High" msgstr "" -#: models.py:250 +#: models.py:255 msgid "3. Normal" msgstr "" -#: models.py:251 +#: models.py:256 msgid "4. Low" msgstr "" -#: models.py:252 +#: models.py:257 msgid "5. Very Low" msgstr "" -#: models.py:266 templates/helpdesk/dashboard.html:77 -#: templates/helpdesk/ticket_list.html:72 -#: templates/helpdesk/ticket_list.html:199 +#: models.py:271 templates/helpdesk/dashboard.html:100 +#: templates/helpdesk/ticket_list.html:82 +#: templates/helpdesk/ticket_list.html:225 msgid "Created" msgstr "" -#: models.py:268 +#: models.py:273 msgid "Date this ticket was first created" msgstr "" -#: models.py:272 +#: models.py:277 msgid "Modified" msgstr "" -#: models.py:274 +#: models.py:279 msgid "Date this ticket was most recently changed." msgstr "" -#: models.py:278 templates/helpdesk/public_view_ticket.html:16 -#: templates/helpdesk/ticket_desc_table.html:26 +#: models.py:283 templates/helpdesk/public_view_ticket.html:18 +#: templates/helpdesk/ticket_desc_table.html:42 msgid "Submitter E-Mail" msgstr "" -#: models.py:281 +#: models.py:286 msgid "" "The submitter will receive an email for all public follow-ups left for this " "task." msgstr "" -#: models.py:290 +#: models.py:295 msgid "Assigned to" msgstr "" -#: models.py:294 templates/helpdesk/dashboard.html:37 -#: templates/helpdesk/dashboard.html:57 templates/helpdesk/dashboard.html:99 -#: templates/helpdesk/ticket_list.html:57 -#: templates/helpdesk/ticket_list.html:81 -#: templates/helpdesk/ticket_list.html:199 +#: models.py:299 templates/helpdesk/dashboard.html:58 +#: templates/helpdesk/dashboard.html:78 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket_list.html:70 +#: templates/helpdesk/ticket_list.html:91 +#: templates/helpdesk/ticket_list.html:225 msgid "Status" msgstr "" -#: models.py:300 +#: models.py:305 msgid "On Hold" msgstr "" -#: models.py:303 +#: models.py:308 msgid "If a ticket is on hold, it will not automatically be escalated." msgstr "" -#: models.py:308 models.py:796 templates/helpdesk/public_view_ticket.html:39 -#: templates/helpdesk/ticket_desc_table.html:67 +#: models.py:313 models.py:826 templates/helpdesk/public_view_ticket.html:41 +#: templates/helpdesk/ticket_desc_table.html:19 msgid "Description" msgstr "" -#: models.py:311 +#: models.py:316 msgid "The content of the customers query." msgstr "" -#: models.py:315 templates/helpdesk/public_view_ticket.html:46 -#: templates/helpdesk/ticket_desc_table.html:74 +#: models.py:320 templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 msgid "Resolution" msgstr "" -#: models.py:318 +#: models.py:323 msgid "The resolution provided to the customer by our staff." msgstr "" -#: models.py:326 +#: models.py:331 msgid "1 = Highest Priority, 5 = Low Priority" msgstr "" -#: models.py:339 +#: models.py:344 msgid "" "The date this ticket was last escalated - updated automatically by " "management/commands/escalate_tickets.py." msgstr "" -#: models.py:348 templates/helpdesk/ticket_desc_table.html:22 -#: views/feeds.py:91 views/feeds.py:117 views/feeds.py:169 views/staff.py:302 +#: models.py:353 templates/helpdesk/ticket_desc_table.html:38 +#: views/feeds.py:95 views/feeds.py:121 views/feeds.py:173 views/staff.py:376 msgid "Unassigned" msgstr "" -#: models.py:387 +#: models.py:392 msgid " - On Hold" msgstr "" -#: models.py:481 models.py:1073 models.py:1231 models.py:1256 -#: templates/helpdesk/public_homepage.html:26 +#: models.py:394 +msgid " - Open dependencies" +msgstr "" + +#: models.py:448 models.py:494 models.py:1117 models.py:1280 models.py:1309 +#: templates/helpdesk/public_homepage.html:78 #: templates/helpdesk/public_view_form.html:12 msgid "Ticket" msgstr "" -#: models.py:485 models.py:714 models.py:1008 models.py:1156 +#: models.py:449 templates/helpdesk/navigation.html:17 +#: templates/helpdesk/ticket_list.html:2 +#: templates/helpdesk/ticket_list.html:224 +msgid "Tickets" +msgstr "" + +#: models.py:498 models.py:738 models.py:1047 models.py:1200 msgid "Date" msgstr "" -#: models.py:497 views/staff.py:316 +#: models.py:510 views/staff.py:390 msgid "Comment" msgstr "" -#: models.py:503 +#: models.py:516 msgid "Public" msgstr "" -#: models.py:506 +#: models.py:519 msgid "" "Public tickets are viewable by the submitter and all staff, but non-public " "tickets can only be seen by staff." msgstr "" -#: models.py:514 models.py:888 models.py:1081 views/staff.py:952 -#: views/staff.py:958 views/staff.py:964 views/staff.py:970 +#: models.py:527 models.py:922 models.py:1125 views/staff.py:1008 +#: views/staff.py:1014 views/staff.py:1020 views/staff.py:1026 msgid "User" msgstr "" -#: models.py:518 templates/helpdesk/ticket.html:127 +#: models.py:531 templates/helpdesk/ticket.html:135 msgid "New Status" msgstr "" -#: models.py:522 +#: models.py:535 msgid "If the status was changed, what was it changed to?" msgstr "" -#: models.py:551 models.py:608 +#: models.py:542 models.py:566 models.py:628 msgid "Follow-up" msgstr "" -#: models.py:555 models.py:1236 +#: models.py:543 +msgid "Follow-ups" +msgstr "" + +#: models.py:570 models.py:1285 msgid "Field" msgstr "" -#: models.py:560 +#: models.py:575 msgid "Old Value" msgstr "" -#: models.py:566 +#: models.py:581 msgid "New Value" msgstr "" -#: models.py:574 +#: models.py:589 msgid "removed" msgstr "" -#: models.py:576 +#: models.py:591 #, python-format msgid "set to %s" msgstr "" -#: models.py:578 +#: models.py:593 #, python-format msgid "changed from \"%(old_value)s\" to \"%(new_value)s\"" msgstr "" -#: models.py:612 +#: models.py:600 +msgid "Ticket change" +msgstr "" + +#: models.py:601 +msgid "Ticket changes" +msgstr "" + +#: models.py:632 msgid "File" msgstr "" -#: models.py:617 +#: models.py:637 msgid "Filename" msgstr "" -#: models.py:622 +#: models.py:642 msgid "MIME Type" msgstr "" -#: models.py:627 +#: models.py:647 msgid "Size" msgstr "" -#: models.py:628 +#: models.py:648 msgid "Size of this file in bytes" msgstr "" -#: models.py:663 +#: models.py:665 +msgid "Attachment" +msgstr "" + +#: models.py:666 +msgid "Attachments" +msgstr "" + +#: models.py:685 msgid "" "Leave blank to allow this reply to be used for all queues, or select those " "queues you wish to limit this reply to." msgstr "" -#: models.py:668 models.py:709 models.py:1003 +#: models.py:690 models.py:733 models.py:1042 #: templates/helpdesk/email_ignore_list.html:13 msgid "Name" msgstr "" -#: models.py:670 +#: models.py:692 msgid "" "Only used to assist users with selecting a reply - not shown to the user." msgstr "" -#: models.py:675 +#: models.py:697 msgid "Body" msgstr "" -#: models.py:676 +#: models.py:698 msgid "" "Context available: {{ ticket }} - ticket object (eg {{ ticket.title }}); " "{{ queue }} - The queue; and {{ user }} - the current user." msgstr "" -#: models.py:703 +#: models.py:705 +msgid "Pre-set reply" +msgstr "" + +#: models.py:706 +msgid "Pre-set replies" +msgstr "" + +#: models.py:727 msgid "" "Leave blank for this exclusion to be applied to all queues, or select those " "queues you wish to exclude with this entry." msgstr "" -#: models.py:715 +#: models.py:739 msgid "Date on which escalation should not happen" msgstr "" -#: models.py:732 +#: models.py:746 +msgid "Escalation exclusion" +msgstr "" + +#: models.py:747 +msgid "Escalation exclusions" +msgstr "" + +#: models.py:760 msgid "Template Name" msgstr "" -#: models.py:737 +#: models.py:765 msgid "Subject" msgstr "" -#: models.py:739 +#: models.py:767 msgid "" "This will be prefixed with \"[ticket.ticket] ticket.title\". We recommend " "something simple such as \"(Updated\") or \"(Closed)\" - the same context is " "available as in plain_text, below." msgstr "" -#: models.py:745 +#: models.py:773 msgid "Heading" msgstr "" -#: models.py:747 +#: models.py:775 msgid "" "In HTML e-mails, this will be the heading at the top of the email - the same " "context is available as in plain_text, below." msgstr "" -#: models.py:753 +#: models.py:781 msgid "Plain Text" msgstr "" -#: models.py:754 +#: models.py:782 msgid "" "The context available to you includes {{ ticket }}, {{ queue }}, and " "depending on the time of the call: {{ resolution }} or {{ comment }}." msgstr "" -#: models.py:760 +#: models.py:788 msgid "HTML" msgstr "" -#: models.py:761 +#: models.py:789 msgid "The same context is available here as in plain_text, above." msgstr "" -#: models.py:770 +#: models.py:798 msgid "Locale of this template." msgstr "" -#: models.py:817 templates/helpdesk/kb_index.html:10 -#: templates/helpdesk/public_homepage.html:10 -msgid "Category" +#: models.py:806 +msgid "e-mail template" msgstr "" -#: models.py:826 -msgid "Question" -msgstr "" - -#: models.py:830 -msgid "Answer" +#: models.py:807 +msgid "e-mail templates" msgstr "" #: models.py:834 -msgid "Votes" +msgid "Knowledge base category" msgstr "" #: models.py:835 +msgid "Knowledge base categories" +msgstr "" + +#: models.py:849 templates/helpdesk/kb_index.html:11 +#: templates/helpdesk/public_homepage.html:11 +msgid "Category" +msgstr "" + +#: models.py:858 +msgid "Question" +msgstr "" + +#: models.py:862 +msgid "Answer" +msgstr "" + +#: models.py:866 +msgid "Votes" +msgstr "" + +#: models.py:867 msgid "Total number of votes cast for this item" msgstr "" -#: models.py:840 +#: models.py:872 msgid "Positive Votes" msgstr "" -#: models.py:841 +#: models.py:873 msgid "Number of votes for this item which were POSITIVE." msgstr "" -#: models.py:846 +#: models.py:878 msgid "Last Updated" msgstr "" -#: models.py:847 +#: models.py:879 msgid "The date on which this question was most recently changed." msgstr "" -#: models.py:861 +#: models.py:893 msgid "Unrated" msgstr "" -#: models.py:892 templates/helpdesk/ticket_list.html:158 +#: models.py:901 +msgid "Knowledge base item" +msgstr "" + +#: models.py:902 +msgid "Knowledge base items" +msgstr "" + +#: models.py:926 templates/helpdesk/ticket_list.html:170 msgid "Query Name" msgstr "" -#: models.py:894 +#: models.py:928 msgid "User-provided name for this query" msgstr "" -#: models.py:898 +#: models.py:932 msgid "Shared With Other Users?" msgstr "" -#: models.py:901 +#: models.py:935 msgid "Should other users see this query?" msgstr "" -#: models.py:905 +#: models.py:939 msgid "Search Query" msgstr "" -#: models.py:906 +#: models.py:940 msgid "Pickled query object. Be wary changing this." msgstr "" -#: models.py:927 +#: models.py:950 +msgid "Saved search" +msgstr "" + +#: models.py:951 +msgid "Saved searches" +msgstr "" + +#: models.py:966 msgid "Settings Dictionary" msgstr "" -#: models.py:928 +#: models.py:967 msgid "" "This is a base64-encoded representation of a pickled Python dictionary. Do " "not change this field via the admin." msgstr "" -#: models.py:997 +#: models.py:993 +msgid "User Setting" +msgstr "" + +#: models.py:994 templates/helpdesk/navigation.html:37 +#: templates/helpdesk/user_settings.html:6 +msgid "User Settings" +msgstr "" + +#: models.py:1036 msgid "" "Leave blank for this e-mail to be ignored on all queues, or select those " "queues you wish to ignore this e-mail for." msgstr "" -#: models.py:1009 +#: models.py:1048 msgid "Date on which this e-mail address was added" msgstr "" -#: models.py:1017 +#: models.py:1056 msgid "" "Enter a full e-mail address, or portions with wildcards, eg *@domain.com or " "postmaster@*." msgstr "" -#: models.py:1022 +#: models.py:1061 msgid "Save Emails in Mailbox?" msgstr "" -#: models.py:1025 +#: models.py:1064 msgid "" "Do you want to save emails from this address in the mailbox? If this is " "unticked, emails from this address will be deleted." msgstr "" -#: models.py:1080 +#: models.py:1101 +msgid "Ignored e-mail address" +msgstr "" + +#: models.py:1102 +msgid "Ignored e-mail addresses" +msgstr "" + +#: models.py:1124 msgid "User who wishes to receive updates for this ticket." msgstr "" -#: models.py:1088 +#: models.py:1132 msgid "For non-user followers, enter their e-mail address" msgstr "" -#: models.py:1092 +#: models.py:1136 msgid "Can View Ticket?" msgstr "" -#: models.py:1094 +#: models.py:1138 msgid "Can this CC login to view the ticket details?" msgstr "" -#: models.py:1098 +#: models.py:1142 msgid "Can Update Ticket?" msgstr "" -#: models.py:1100 +#: models.py:1144 msgid "Can this CC login and update the ticket?" msgstr "" -#: models.py:1131 +#: models.py:1175 msgid "Field Name" msgstr "" -#: models.py:1132 +#: models.py:1176 msgid "" "As used in the database and behind the scenes. Must be unique and consist of " "only lowercase letters with no punctuation." msgstr "" -#: models.py:1137 +#: models.py:1181 msgid "Label" msgstr "" -#: models.py:1139 +#: models.py:1183 msgid "The display label for this field" msgstr "" -#: models.py:1143 +#: models.py:1187 msgid "Help Text" msgstr "" -#: models.py:1144 +#: models.py:1188 msgid "Shown to the user when editing the ticket" msgstr "" -#: models.py:1150 +#: models.py:1194 msgid "Character (single line)" msgstr "" -#: models.py:1151 +#: models.py:1195 msgid "Text (multi-line)" msgstr "" -#: models.py:1152 +#: models.py:1196 msgid "Integer" msgstr "" -#: models.py:1153 +#: models.py:1197 msgid "Decimal" msgstr "" -#: models.py:1154 +#: models.py:1198 msgid "List" msgstr "" -#: models.py:1155 +#: models.py:1199 msgid "Boolean (checkbox yes/no)" msgstr "" -#: models.py:1157 +#: models.py:1201 msgid "Time" msgstr "" -#: models.py:1158 +#: models.py:1202 msgid "Date & Time" msgstr "" -#: models.py:1160 +#: models.py:1204 msgid "URL" msgstr "" -#: models.py:1161 +#: models.py:1205 msgid "IP Address" msgstr "" -#: models.py:1166 +#: models.py:1210 msgid "Data Type" msgstr "" -#: models.py:1168 +#: models.py:1212 msgid "Allows you to restrict the data entered into this field" msgstr "" -#: models.py:1173 +#: models.py:1217 msgid "Maximum Length (characters)" msgstr "" -#: models.py:1179 +#: models.py:1223 msgid "Decimal Places" msgstr "" -#: models.py:1180 +#: models.py:1224 msgid "Only used for decimal fields" msgstr "" -#: models.py:1186 +#: models.py:1230 msgid "Add empty first choice to List?" msgstr "" -#: models.py:1187 +#: models.py:1232 msgid "" "Only for List: adds an empty first entry to the choices list, which enforces " "that the user makes an active choice." msgstr "" -#: models.py:1191 +#: models.py:1236 msgid "List Values" msgstr "" -#: models.py:1192 +#: models.py:1237 msgid "For list fields only. Enter one option per line." msgstr "" -#: models.py:1198 +#: models.py:1243 msgid "Ordering" msgstr "" -#: models.py:1199 +#: models.py:1244 msgid "Lower numbers are displayed first; higher numbers are listed later" msgstr "" -#: models.py:1213 +#: models.py:1258 msgid "Required?" msgstr "" -#: models.py:1214 +#: models.py:1259 msgid "Does the user have to enter a value for this field?" msgstr "" -#: models.py:1218 +#: models.py:1263 msgid "Staff Only?" msgstr "" -#: models.py:1219 +#: models.py:1264 msgid "" "If this is ticked, then the public submission form will NOT show this field" msgstr "" -#: models.py:1262 +#: models.py:1273 +msgid "Custom field" +msgstr "" + +#: models.py:1274 +msgid "Custom fields" +msgstr "" + +#: models.py:1297 +msgid "Ticket custom field value" +msgstr "" + +#: models.py:1298 +msgid "Ticket custom field values" +msgstr "" + +#: models.py:1315 msgid "Depends On Ticket" msgstr "" -#: management/commands/create_usersettings.py:21 +#: models.py:1324 +msgid "Ticket dependency" +msgstr "" + +#: models.py:1325 +msgid "Ticket dependencies" +msgstr "" + +#: management/commands/create_usersettings.py:25 msgid "" "Check for user without django-helpdesk UserSettings and create settings if " "required. Uses settings.DEFAULT_USER_SETTINGS which can be overridden to " "suit your situation." msgstr "" -#: management/commands/escalate_tickets.py:143 +#: management/commands/escalate_tickets.py:148 #, python-format msgid "Ticket escalated after %s days" msgstr "" -#: management/commands/get_email.py:151 +#: management/commands/get_email.py:158 msgid "Created from e-mail" msgstr "" -#: management/commands/get_email.py:155 +#: management/commands/get_email.py:162 msgid "Unknown Sender" msgstr "" -#: management/commands/get_email.py:209 +#: management/commands/get_email.py:216 msgid "" "No plain-text email body available. Please see attachment email_html_body." "html." msgstr "" -#: management/commands/get_email.py:213 +#: management/commands/get_email.py:220 msgid "email_html_body.html" msgstr "" -#: management/commands/get_email.py:256 +#: management/commands/get_email.py:263 #, python-format msgid "E-Mail Received from %(sender_email)s" msgstr "" -#: management/commands/get_email.py:264 +#: management/commands/get_email.py:271 #, python-format msgid "Ticket Re-Opened by E-Mail Received from %(sender_email)s" msgstr "" -#: management/commands/get_email.py:322 +#: management/commands/get_email.py:329 msgid " (Reopened)" msgstr "" -#: management/commands/get_email.py:324 +#: management/commands/get_email.py:331 msgid " (Updated)" msgstr "" #: templates/helpdesk/attribution.html:2 -msgid "" -"Powered by django-" -"helpdesk." +msgid "django-helpdesk." msgstr "" -#: templates/helpdesk/attribution.html:4 -msgid "For technical support please contact:" -msgstr "" - -#: templates/helpdesk/base.html:9 +#: templates/helpdesk/base.html:10 msgid "Powered by django-helpdesk" msgstr "" -#: templates/helpdesk/base.html:19 templates/helpdesk/rss_list.html:9 -#: templates/helpdesk/rss_list.html:23 templates/helpdesk/rss_list.html:28 +#: templates/helpdesk/base.html:20 templates/helpdesk/rss_list.html:9 +#: templates/helpdesk/rss_list.html:24 templates/helpdesk/rss_list.html:31 msgid "My Open Tickets" msgstr "" -#: templates/helpdesk/base.html:20 +#: templates/helpdesk/base.html:21 msgid "All Recent Activity" msgstr "" -#: templates/helpdesk/base.html:21 templates/helpdesk/dashboard.html:76 +#: templates/helpdesk/base.html:22 templates/helpdesk/dashboard.html:99 #: templates/helpdesk/rss_list.html:15 msgid "Unassigned Tickets" msgstr "" -#: templates/helpdesk/base.html:101 templates/helpdesk/public_base.html:6 -#: templates/helpdesk/public_base.html:14 +#: templates/helpdesk/base.html:52 templates/helpdesk/public_base.html:6 +#: templates/helpdesk/public_base.html:18 msgid "Helpdesk" msgstr "" -#: templates/helpdesk/base.html:111 templates/helpdesk/rss_list.html:9 +#: templates/helpdesk/base.html:62 templates/helpdesk/rss_list.html:9 #: templates/helpdesk/rss_list.html:12 templates/helpdesk/rss_list.html:15 -#: templates/helpdesk/rss_list.html:27 templates/helpdesk/rss_list.html:28 +#: templates/helpdesk/rss_list.html:30 templates/helpdesk/rss_list.html:31 msgid "RSS Icon" msgstr "" -#: templates/helpdesk/base.html:111 templates/helpdesk/rss_list.html:2 +#: templates/helpdesk/base.html:62 templates/helpdesk/rss_list.html:2 #: templates/helpdesk/rss_list.html.py:4 msgid "RSS Feeds" msgstr "" -#: templates/helpdesk/base.html:112 +#: templates/helpdesk/base.html:63 msgid "API" msgstr "" -#: templates/helpdesk/base.html:113 -msgid "User Settings" -msgstr "" - -#: templates/helpdesk/base.html:115 -msgid "Change Language" -msgstr "" - -#: templates/helpdesk/base.html:117 +#: templates/helpdesk/base.html:64 templates/helpdesk/system_settings.html:6 msgid "System Settings" msgstr "" #: templates/helpdesk/confirm_delete_saved_query.html:3 -#: templates/helpdesk/ticket_list.html:144 +#: templates/helpdesk/ticket_list.html:146 msgid "Delete Saved Query" msgstr "" -#: templates/helpdesk/confirm_delete_saved_query.html:5 +#: templates/helpdesk/confirm_delete_saved_query.html:6 +msgid "Delete Query" +msgstr "" + +#: templates/helpdesk/confirm_delete_saved_query.html:8 #, python-format msgid "" -"\n" -"

Delete Query

\n" -"\n" -"

Are you sure you want to delete this saved filter (%(query_title)s%(query_title)s)? To re-create it, you will need to manually re-filter your ticket " -"listing.

\n" +"listing." msgstr "" #: templates/helpdesk/confirm_delete_saved_query.html:11 msgid "" -"\n" -"

You have shared this query, so other users may be using it. If you delete " -"it, they will have to manually create their own query.

\n" +"You have shared this query, so other users may be using it. If you delete " +"it, they will have to manually create their own query." msgstr "" -#: templates/helpdesk/confirm_delete_saved_query.html:15 -#: templates/helpdesk/delete_ticket.html:11 +#: templates/helpdesk/confirm_delete_saved_query.html:14 +#: templates/helpdesk/delete_ticket.html:10 msgid "No, Don't Delete It" msgstr "" -#: templates/helpdesk/confirm_delete_saved_query.html:17 -#: templates/helpdesk/delete_ticket.html:13 +#: templates/helpdesk/confirm_delete_saved_query.html:16 +#: templates/helpdesk/delete_ticket.html:12 msgid "Yes - Delete It" msgstr "" @@ -1068,22 +1167,25 @@ msgstr "" msgid "Create Ticket" msgstr "" -#: templates/helpdesk/create_ticket.html:6 -msgid "" -"

Submit a Ticket

\n" -"\n" -"

Unless otherwise stated, all fields are required. Please provide as " -"descriptive a title and description as possible.

" +#: templates/helpdesk/create_ticket.html:10 +#: templates/helpdesk/navigation.html:65 templates/helpdesk/navigation.html:68 +#: templates/helpdesk/public_homepage.html:27 +msgid "Submit a Ticket" msgstr "" -#: templates/helpdesk/create_ticket.html:17 -#: templates/helpdesk/edit_ticket.html:19 -#: templates/helpdesk/public_homepage.html:50 -msgid "(Optional)" +#: templates/helpdesk/create_ticket.html:11 +#: templates/helpdesk/edit_ticket.html:11 +msgid "Unless otherwise stated, all fields are required." msgstr "" -#: templates/helpdesk/create_ticket.html:26 -#: templates/helpdesk/public_homepage.html:59 +#: templates/helpdesk/create_ticket.html:11 +#: templates/helpdesk/edit_ticket.html:11 +#: templates/helpdesk/public_homepage.html:28 +msgid "Please provide as descriptive a title and description as possible." +msgstr "" + +#: templates/helpdesk/create_ticket.html:30 +#: templates/helpdesk/public_homepage.html:55 msgid "Submit Ticket" msgstr "" @@ -1091,147 +1193,176 @@ msgstr "" msgid "Helpdesk Dashboard" msgstr "" -#: templates/helpdesk/dashboard.html:10 -msgid "Helpdesk Summary" -msgstr "" - -#: templates/helpdesk/dashboard.html:25 +#: templates/helpdesk/dashboard.html:9 msgid "" "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." msgstr "" -#: templates/helpdesk/dashboard.html:27 -msgid "" -"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?" +#: templates/helpdesk/dashboard.html:14 +msgid "Helpdesk Summary" msgstr "" #: templates/helpdesk/dashboard.html:36 +msgid "Current Ticket Stats" +msgstr "" + +#: templates/helpdesk/dashboard.html:37 +msgid "Average number of days until ticket is closed (all tickets): " +msgstr "" + +#: templates/helpdesk/dashboard.html:38 +msgid "" +"Average number of days until ticket is closed (tickets opened in last 60 " +"days): " +msgstr "" + +#: templates/helpdesk/dashboard.html:39 +msgid "Click" +msgstr "" + +#: templates/helpdesk/dashboard.html:39 +msgid "for detailed average by month." +msgstr "" + +#: templates/helpdesk/dashboard.html:40 +msgid "Distribution of open tickets, grouped by time period:" +msgstr "" + +#: templates/helpdesk/dashboard.html:41 +msgid "Days since opened" +msgstr "" + +#: templates/helpdesk/dashboard.html:41 +msgid "Number of open tickets" +msgstr "" + +#: templates/helpdesk/dashboard.html:57 msgid "All Tickets submitted by you" msgstr "" -#: templates/helpdesk/dashboard.html:37 templates/helpdesk/dashboard.html:57 -#: templates/helpdesk/dashboard.html:77 templates/helpdesk/dashboard.html:99 -#: templates/helpdesk/ticket_list.html:199 +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:100 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket_list.html:225 msgid "Pr" msgstr "" -#: templates/helpdesk/dashboard.html:37 templates/helpdesk/dashboard.html:57 -#: templates/helpdesk/dashboard.html:99 +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:124 msgid "Last Update" msgstr "" -#: templates/helpdesk/dashboard.html:56 +#: templates/helpdesk/dashboard.html:77 msgid "Open Tickets assigned to you (you are working on this ticket)" msgstr "" -#: templates/helpdesk/dashboard.html:69 +#: templates/helpdesk/dashboard.html:92 msgid "You have no tickets assigned to you." msgstr "" -#: templates/helpdesk/dashboard.html:76 +#: templates/helpdesk/dashboard.html:99 msgid "(pick up a ticket if you start to work on it)" msgstr "" -#: templates/helpdesk/dashboard.html:85 -#: templates/helpdesk/ticket_desc_table.html:22 +#: templates/helpdesk/dashboard.html:110 +#: templates/helpdesk/ticket_desc_table.html:38 msgid "Take" msgstr "" -#: templates/helpdesk/dashboard.html:85 +#: templates/helpdesk/dashboard.html:110 #: templates/helpdesk/email_ignore_list.html:13 #: templates/helpdesk/email_ignore_list.html:23 #: templates/helpdesk/ticket_cc_list.html:15 #: templates/helpdesk/ticket_cc_list.html:23 -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Delete" msgstr "" -#: templates/helpdesk/dashboard.html:89 +#: templates/helpdesk/dashboard.html:114 msgid "There are no unassigned tickets." msgstr "" -#: templates/helpdesk/dashboard.html:98 +#: templates/helpdesk/dashboard.html:123 msgid "Closed & resolved Tickets you used to work on" msgstr "" #: templates/helpdesk/delete_ticket.html:3 +#: templates/helpdesk/delete_ticket.html:6 msgid "Delete Ticket" msgstr "" -#: templates/helpdesk/delete_ticket.html:5 +#: templates/helpdesk/delete_ticket.html:8 #, python-format msgid "" -"\n" -"

Delete Ticket

\n" -"\n" -"

Are you sure you want to delete this ticket (%(ticket_title)s)? " -"All traces of the ticket, including followups, attachments, and updates will " -"be irreversably removed.

\n" +"Are you sure you want to delete this ticket (%(ticket_title)s)? All " +"traces of the ticket, including followups, attachments, and updates will be " +"irreversibly removed." msgstr "" #: templates/helpdesk/edit_ticket.html:3 msgid "Edit Ticket" msgstr "" -#: templates/helpdesk/edit_ticket.html:6 -msgid "" -"

Edit a Ticket

\n" -"\n" -"

Unless otherwise stated, all fields are required. Please provide as " -"descriptive a title and description as possible.

\n" -"\n" -"

Note: Editing a ticket does not send an e-mail " -"to the ticket owner or submitter. No new details should be entered, this " -"form should only be used to fix incorrect details or clean up the submission." -"

" +#: templates/helpdesk/edit_ticket.html:9 +msgid "Edit a Ticket" msgstr "" -#: templates/helpdesk/edit_ticket.html:28 +#: templates/helpdesk/edit_ticket.html:13 +msgid "Note" +msgstr "" + +#: templates/helpdesk/edit_ticket.html:13 +msgid "" +"Editing a ticket does not send an e-mail to the ticket owner or " +"submitter. No new details should be entered, this form should only be used " +"to fix incorrect details or clean up the submission." +msgstr "" + +#: templates/helpdesk/edit_ticket.html:33 msgid "Save Changes" msgstr "" #: templates/helpdesk/email_ignore_add.html:3 +#: templates/helpdesk/email_ignore_add.html:6 #: templates/helpdesk/email_ignore_add.html:23 msgid "Ignore E-Mail Address" msgstr "" -#: templates/helpdesk/email_ignore_add.html:5 +#: templates/helpdesk/email_ignore_add.html:8 msgid "" -"\n" -"

Ignore E-Mail Address

\n" -"\n" -"

To ignore an e-mail address and prevent any emails from that address " -"creating tickets automatically, enter the e-mail address below.

\n" -"\n" -"

You can either enter a whole e-mail address such as email@domain.comemail@domain.com or a portion of an e-mail address with a wildcard, such as *@domain." -"com or user@*.

" +"com or user@*." msgstr "" #: templates/helpdesk/email_ignore_del.html:3 msgid "Delete Ignored E-Mail Address" msgstr "" -#: templates/helpdesk/email_ignore_del.html:5 -#, python-format -msgid "" -"\n" -"

Un-Ignore E-Mail Address

\n" -"\n" -"

Are you sure you wish to stop removing this email address (" -"%(email_address)s) and allow their e-mails to automatically create " -"tickets in your system? You can re-add this e-mail address at any time.

\n" +#: templates/helpdesk/email_ignore_del.html:6 +msgid "Un-Ignore E-Mail Address" msgstr "" -#: templates/helpdesk/email_ignore_del.html:11 +#: templates/helpdesk/email_ignore_del.html:8 +#, python-format +msgid "" +"Are you sure you wish to stop removing this email address (" +"%(email_address)s) and allow their e-mails to automatically create " +"tickets in your system? You can re-add this e-mail address at any time." +msgstr "" + +#: templates/helpdesk/email_ignore_del.html:10 msgid "Keep Ignoring It" msgstr "" -#: templates/helpdesk/email_ignore_del.html:13 +#: templates/helpdesk/email_ignore_del.html:12 msgid "Stop Ignoring It" msgstr "" @@ -1254,16 +1385,12 @@ msgstr "" msgid "Date Added" msgstr "" -#: templates/helpdesk/email_ignore_list.html:13 -msgid "Queues" -msgstr "" - #: templates/helpdesk/email_ignore_list.html:13 msgid "Keep in mailbox?" msgstr "" #: templates/helpdesk/email_ignore_list.html:21 -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "All" msgstr "" @@ -1298,7 +1425,7 @@ msgid "Comment:" msgstr "" #: templates/helpdesk/kb_category.html:4 -#: templates/helpdesk/kb_category.html:11 +#: templates/helpdesk/kb_category.html:12 #, python-format msgid "Knowledgebase Category: %(kbcat)s" msgstr "" @@ -1308,12 +1435,12 @@ msgstr "" msgid "You are viewing all items in the %(kbcat)s category." msgstr "" -#: templates/helpdesk/kb_category.html:12 +#: templates/helpdesk/kb_category.html:13 msgid "Article" msgstr "" -#: templates/helpdesk/kb_index.html:4 templates/helpdesk/navigation.html:11 -#: templates/helpdesk/navigation.html:33 +#: templates/helpdesk/kb_index.html:4 templates/helpdesk/navigation.html:21 +#: templates/helpdesk/navigation.html:71 msgid "Knowledgebase" msgstr "" @@ -1324,8 +1451,8 @@ msgid "" "your problem prior to opening a support ticket." msgstr "" -#: templates/helpdesk/kb_index.html:9 -#: templates/helpdesk/public_homepage.html:9 +#: templates/helpdesk/kb_index.html:10 +#: templates/helpdesk/public_homepage.html:10 msgid "Knowledgebase Categories" msgstr "" @@ -1334,95 +1461,89 @@ msgstr "" msgid "Knowledgebase: %(item)s" msgstr "" -#: templates/helpdesk/kb_item.html:13 +#: templates/helpdesk/kb_item.html:16 #, python-format msgid "" "View other %(category_title)s articles, or continue viewing other knowledgebase articles." msgstr "" -#: templates/helpdesk/kb_item.html:15 +#: templates/helpdesk/kb_item.html:18 msgid "Feedback" msgstr "" -#: templates/helpdesk/kb_item.html:17 +#: templates/helpdesk/kb_item.html:20 msgid "" "We give our users an opportunity to vote for items that they believe have " "helped them out, in order for us to better serve future customers. We would " "appreciate your feedback on this article. Did you find it useful?" msgstr "" -#: templates/helpdesk/kb_item.html:20 +#: templates/helpdesk/kb_item.html:23 msgid "This article was useful to me" msgstr "" -#: templates/helpdesk/kb_item.html:21 +#: templates/helpdesk/kb_item.html:24 msgid "This article was not useful to me" msgstr "" -#: templates/helpdesk/kb_item.html:24 +#: templates/helpdesk/kb_item.html:27 msgid "The results of voting by other readers of this article are below:" msgstr "" -#: templates/helpdesk/kb_item.html:27 +#: templates/helpdesk/kb_item.html:30 #, python-format msgid "Recommendations: %(recommendations)s" msgstr "" -#: templates/helpdesk/kb_item.html:28 +#: templates/helpdesk/kb_item.html:31 #, python-format msgid "Votes: %(votes)s" msgstr "" -#: templates/helpdesk/kb_item.html:29 +#: templates/helpdesk/kb_item.html:32 #, python-format msgid "Overall Rating: %(score)s" msgstr "" -#: templates/helpdesk/navigation.html:4 +#: templates/helpdesk/navigation.html:16 templates/helpdesk/navigation.html:64 msgid "Dashboard" msgstr "" -#: templates/helpdesk/navigation.html:5 -#: templates/helpdesk/ticket_list.html:198 -msgid "Tickets" -msgstr "" - -#: templates/helpdesk/navigation.html:6 +#: templates/helpdesk/navigation.html:18 msgid "New Ticket" msgstr "" -#: templates/helpdesk/navigation.html:8 +#: templates/helpdesk/navigation.html:19 msgid "Stats" msgstr "" -#: templates/helpdesk/navigation.html:14 -#: templates/helpdesk/ticket_list.html:46 -msgid "Load Saved Query" +#: templates/helpdesk/navigation.html:24 +msgid "Saved Query" msgstr "" -#: templates/helpdesk/navigation.html:25 templates/helpdesk/navigation.html:35 -msgid "Logout" +#: templates/helpdesk/navigation.html:39 +msgid "Change password" msgstr "" -#: templates/helpdesk/navigation.html:26 +#: templates/helpdesk/navigation.html:50 msgid "Search..." msgstr "" -#: templates/helpdesk/navigation.html:26 +#: templates/helpdesk/navigation.html:50 msgid "Enter a keyword, or a ticket number to jump straight to that ticket." msgstr "" -#: templates/helpdesk/navigation.html:31 -msgid "Submit A Ticket" +#: templates/helpdesk/navigation.html:73 +msgid "Logout" msgstr "" -#: templates/helpdesk/navigation.html:35 +#: templates/helpdesk/navigation.html:73 msgid "Log In" msgstr "" #: templates/helpdesk/public_change_language.html:2 -#: templates/helpdesk/public_homepage.html:21 +#: templates/helpdesk/public_homepage.html:73 #: templates/helpdesk/public_view_form.html:4 #: templates/helpdesk/public_view_ticket.html:2 msgid "View a Ticket" @@ -1436,78 +1557,81 @@ msgstr "" msgid "Knowledgebase Articles" msgstr "" -#: templates/helpdesk/public_homepage.html:29 +#: templates/helpdesk/public_homepage.html:28 +msgid "All fields are required." +msgstr "" + +#: templates/helpdesk/public_homepage.html:66 +msgid "Please use button at upper right to login first." +msgstr "" + +#: templates/helpdesk/public_homepage.html:82 #: templates/helpdesk/public_view_form.html:15 msgid "Your E-mail Address" msgstr "" -#: templates/helpdesk/public_homepage.html:33 +#: templates/helpdesk/public_homepage.html:86 #: templates/helpdesk/public_view_form.html:19 msgid "View Ticket" msgstr "" -#: templates/helpdesk/public_homepage.html:39 -msgid "Submit a Ticket" -msgstr "" - -#: templates/helpdesk/public_homepage.html:41 -msgid "" -"All fields are required. Please provide as descriptive a title and " -"description as possible." -msgstr "" - -#: templates/helpdesk/public_homepage.html:67 -msgid "Please use button at upper right to login first." -msgstr "" - #: templates/helpdesk/public_spam.html:4 msgid "Unable To Open Ticket" msgstr "" +#: templates/helpdesk/public_spam.html:5 +msgid "Sorry, but there has been an error trying to submit your ticket." +msgstr "" + #: templates/helpdesk/public_spam.html:6 msgid "" -"

Sorry, but there has been an error trying to submit your ticket.

\n" -"\n" -"

Our system has marked your submission as spam, so we are " +"Our system has marked your submission as spam, so we are " "unable to save it. If this is not spam, please press back and re-type your " "message. Be careful to avoid sounding 'spammy', and if you have heaps of " -"links please try removing them if possible.

\n" -"\n" -"

We are sorry for any inconvenience, however this check is required to " -"avoid our helpdesk resources being overloaded by spammers.

\n" +"links please try removing them if possible." +msgstr "" + +#: templates/helpdesk/public_spam.html:7 +msgid "" +"We are sorry for any inconvenience, however this check is required to avoid " +"our helpdesk resources being overloaded by spammers." msgstr "" #: templates/helpdesk/public_view_form.html:8 msgid "Error:" msgstr "" -#: templates/helpdesk/public_view_ticket.html:8 +#: templates/helpdesk/public_view_ticket.html:9 #, python-format msgid "Queue: %(queue_name)s" msgstr "" -#: templates/helpdesk/public_view_ticket.html:11 -#: templates/helpdesk/ticket_desc_table.html:16 +#: templates/helpdesk/public_view_ticket.html:13 +#: templates/helpdesk/ticket_desc_table.html:32 msgid "Submitted On" msgstr "" -#: templates/helpdesk/public_view_ticket.html:46 -#: templates/helpdesk/ticket_desc_table.html:74 +#: templates/helpdesk/public_view_ticket.html:35 +msgid "Tags" +msgstr "" + +#: templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 msgid "Accept" msgstr "" -#: templates/helpdesk/public_view_ticket.html:46 -#: templates/helpdesk/ticket_desc_table.html:74 +#: templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 msgid "Accept and Close" msgstr "" -#: templates/helpdesk/public_view_ticket.html:55 -#: templates/helpdesk/ticket.html:64 +#: templates/helpdesk/public_view_ticket.html:57 +#: templates/helpdesk/ticket.html:66 msgid "Follow-Ups" msgstr "" -#: templates/helpdesk/public_view_ticket.html:63 -#: templates/helpdesk/ticket.html:92 +#: templates/helpdesk/public_view_ticket.html:65 +#: templates/helpdesk/ticket.html:100 #, python-format msgid "Changed %(field)s from %(old_value)s to %(new_value)s." msgstr "" @@ -1550,6 +1674,10 @@ msgstr "" msgid "Reports By Queue" msgstr "" +#: templates/helpdesk/report_index.html:27 views/staff.py:1049 +msgid "Days until ticket closed by Month" +msgstr "" + #: templates/helpdesk/report_output.html:19 msgid "" "You can run this query on filtered data by using one of your saved queries." @@ -1607,15 +1735,15 @@ msgid "" "new tickets coming into that queue." msgstr "" -#: templates/helpdesk/rss_list.html:22 +#: templates/helpdesk/rss_list.html:23 msgid "Per-Queue Feeds" msgstr "" -#: templates/helpdesk/rss_list.html:23 +#: templates/helpdesk/rss_list.html:24 msgid "All Open Tickets" msgstr "" -#: templates/helpdesk/rss_list.html:27 +#: templates/helpdesk/rss_list.html:30 msgid "Open Tickets" msgstr "" @@ -1623,12 +1751,8 @@ msgstr "" msgid "Change System Settings" msgstr "" -#: templates/helpdesk/system_settings.html:5 -msgid "" -"\n" -"

System Settings

\n" -"\n" -"

The following items can be maintained by you or other superusers:

" +#: templates/helpdesk/system_settings.html:8 +msgid "The following items can be maintained by you or other superusers:" msgstr "" #: templates/helpdesk/system_settings.html:11 @@ -1667,76 +1791,80 @@ msgstr "" msgid "Attach another File" msgstr "" -#: templates/helpdesk/ticket.html:34 templates/helpdesk/ticket.html.py:197 +#: templates/helpdesk/ticket.html:34 templates/helpdesk/ticket.html.py:200 msgid "Add Another File" msgstr "" -#: templates/helpdesk/ticket.html:71 templates/helpdesk/ticket.html.py:81 +#: templates/helpdesk/ticket.html:73 templates/helpdesk/ticket.html.py:86 msgid "Private" msgstr "" -#: templates/helpdesk/ticket.html:111 +#: templates/helpdesk/ticket.html:119 msgid "Respond to this ticket" msgstr "" -#: templates/helpdesk/ticket.html:118 +#: templates/helpdesk/ticket.html:126 msgid "Use a Pre-set Reply" msgstr "" -#: templates/helpdesk/ticket.html:120 +#: templates/helpdesk/ticket.html:126 templates/helpdesk/ticket.html.py:166 +msgid "(Optional)" +msgstr "" + +#: templates/helpdesk/ticket.html:128 msgid "" "Selecting a pre-set reply will over-write your comment below. You can then " "modify the pre-set reply to your liking before saving this update." msgstr "" -#: templates/helpdesk/ticket.html:123 +#: templates/helpdesk/ticket.html:131 msgid "Comment / Resolution" msgstr "" -#: templates/helpdesk/ticket.html:125 +#: templates/helpdesk/ticket.html:133 msgid "" "You can insert ticket and queue details in your message. For more " "information, see the context help page." msgstr "" -#: templates/helpdesk/ticket.html:128 +#: templates/helpdesk/ticket.html:136 msgid "" "This ticket cannot be resolved or closed until the tickets it depends on are " "resolved." msgstr "" -#: templates/helpdesk/ticket.html:158 +#: templates/helpdesk/ticket.html:166 msgid "Is this update public?" msgstr "" -#: templates/helpdesk/ticket.html:160 +#: templates/helpdesk/ticket.html:168 msgid "" "If this is public, the submitter will be e-mailed your comment or resolution." msgstr "" -#: templates/helpdesk/ticket.html:164 +#: templates/helpdesk/ticket.html:172 msgid "Change Further Details »" msgstr "" -#: templates/helpdesk/ticket.html:173 templates/helpdesk/ticket_list.html:55 -#: templates/helpdesk/ticket_list.html:87 -#: templates/helpdesk/ticket_list.html:199 +#: templates/helpdesk/ticket.html:181 templates/helpdesk/ticket_list.html:68 +#: templates/helpdesk/ticket_list.html:97 +#: templates/helpdesk/ticket_list.html:225 msgid "Owner" msgstr "" -#: templates/helpdesk/ticket.html:174 +#: templates/helpdesk/ticket.html:182 msgid "Unassign" msgstr "" -#: templates/helpdesk/ticket.html:190 +#: templates/helpdesk/ticket.html:193 msgid "Attach File(s) »" msgstr "" -#: templates/helpdesk/ticket.html:196 +#: templates/helpdesk/ticket.html:199 msgid "Attach a File" msgstr "" -#: templates/helpdesk/ticket.html:204 +#: templates/helpdesk/ticket.html:207 msgid "Update This Ticket" msgstr "" @@ -1846,263 +1974,257 @@ msgid "" "

Are you sure you wish to remove the dependency on this ticket?

\n" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:11 +#: templates/helpdesk/ticket_desc_table.html:7 msgid "Unhold" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:11 +#: templates/helpdesk/ticket_desc_table.html:7 msgid "Hold" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:13 +#: templates/helpdesk/ticket_desc_table.html:9 #, python-format msgid "Queue: %(queue)s" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:21 +#: templates/helpdesk/ticket_desc_table.html:37 msgid "Assigned To" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:27 +#: templates/helpdesk/ticket_desc_table.html:43 msgid "Ignore" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:36 +#: templates/helpdesk/ticket_desc_table.html:52 msgid "Copies To" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:37 +#: templates/helpdesk/ticket_desc_table.html:53 msgid "Manage" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:37 +#: templates/helpdesk/ticket_desc_table.html:53 msgid "" "Click here to add / remove people who should receive an e-mail whenever this " "ticket is updated." msgstr "" -#: templates/helpdesk/ticket_desc_table.html:48 +#: templates/helpdesk/ticket_desc_table.html:53 +msgid "Subscribe" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:53 +msgid "" +"Click here to subscribe yourself to this ticket, if you want to receive an e-" +"mail whenever this ticket is updated." +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:57 msgid "Dependencies" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:50 +#: templates/helpdesk/ticket_desc_table.html:59 msgid "" "This ticket cannot be resolved until the following ticket(s) are resolved" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:51 +#: templates/helpdesk/ticket_desc_table.html:60 msgid "Remove Dependency" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:54 +#: templates/helpdesk/ticket_desc_table.html:63 msgid "This ticket has no dependencies." msgstr "" -#: templates/helpdesk/ticket_desc_table.html:56 +#: templates/helpdesk/ticket_desc_table.html:65 msgid "Add Dependency" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:56 +#: templates/helpdesk/ticket_desc_table.html:65 msgid "" "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." msgstr "" -#: templates/helpdesk/ticket_list.html:2 -msgid "Ticket Listing" -msgstr "" - -#: templates/helpdesk/ticket_list.html:41 -msgid "Query Options" -msgstr "" - -#: templates/helpdesk/ticket_list.html:43 -msgid "Save This Query" -msgstr "" - -#: templates/helpdesk/ticket_list.html:51 +#: templates/helpdesk/ticket_list.html:59 msgid "Change Query" msgstr "" -#: templates/helpdesk/ticket_list.html:54 -#: templates/helpdesk/ticket_list.html:69 +#: templates/helpdesk/ticket_list.html:67 +#: templates/helpdesk/ticket_list.html:79 msgid "Sorting" msgstr "" -#: templates/helpdesk/ticket_list.html:58 -#: templates/helpdesk/ticket_list.html:137 +#: templates/helpdesk/ticket_list.html:71 +#: templates/helpdesk/ticket_list.html:139 msgid "Keywords" msgstr "" -#: templates/helpdesk/ticket_list.html:59 +#: templates/helpdesk/ticket_list.html:72 msgid "Date Range" msgstr "" -#: templates/helpdesk/ticket_list.html:90 +#: templates/helpdesk/ticket_list.html:100 msgid "Reverse" msgstr "" -#: templates/helpdesk/ticket_list.html:92 +#: templates/helpdesk/ticket_list.html:102 msgid "Ordering applied to tickets" msgstr "" -#: templates/helpdesk/ticket_list.html:97 +#: templates/helpdesk/ticket_list.html:107 msgid "Owner(s)" msgstr "" -#: templates/helpdesk/ticket_list.html:101 +#: templates/helpdesk/ticket_list.html:111 msgid "(ME)" msgstr "" -#: templates/helpdesk/ticket_list.html:105 +#: templates/helpdesk/ticket_list.html:115 msgid "Ctrl-Click to select multiple options" msgstr "" -#: templates/helpdesk/ticket_list.html:110 +#: templates/helpdesk/ticket_list.html:120 msgid "Queue(s)" msgstr "" -#: templates/helpdesk/ticket_list.html:111 -#: templates/helpdesk/ticket_list.html:117 -#: templates/helpdesk/ticket_list.html:131 +#: templates/helpdesk/ticket_list.html:121 +#: templates/helpdesk/ticket_list.html:127 msgid "Ctrl-click to select multiple options" msgstr "" -#: templates/helpdesk/ticket_list.html:116 +#: templates/helpdesk/ticket_list.html:126 msgid "Status(es)" msgstr "" -#: templates/helpdesk/ticket_list.html:122 +#: templates/helpdesk/ticket_list.html:132 msgid "Date (From)" msgstr "" -#: templates/helpdesk/ticket_list.html:123 +#: templates/helpdesk/ticket_list.html:133 msgid "Date (To)" msgstr "" -#: templates/helpdesk/ticket_list.html:124 +#: templates/helpdesk/ticket_list.html:134 msgid "Use YYYY-MM-DD date format, eg 2011-05-29" msgstr "" -#: templates/helpdesk/ticket_list.html:130 -msgid "Tag(s)" -msgstr "" - -#: templates/helpdesk/ticket_list.html:138 +#: templates/helpdesk/ticket_list.html:140 msgid "" "Keywords are case-insensitive, and will be looked for in the title, body and " "submitter fields." msgstr "" -#: templates/helpdesk/ticket_list.html:142 +#: templates/helpdesk/ticket_list.html:144 msgid "Apply Filter" msgstr "" -#: templates/helpdesk/ticket_list.html:144 +#: templates/helpdesk/ticket_list.html:146 #, python-format -msgid "You are currently viewing saved query %(query_name)s." +msgid "" +"You are currently viewing saved query \"%(query_name)s\"." msgstr "" -#: templates/helpdesk/ticket_list.html:147 +#: templates/helpdesk/ticket_list.html:149 #, python-format msgid "" "Run a report on this " "query to see stats and charts for the data listed below." msgstr "" -#: templates/helpdesk/ticket_list.html:154 -#: templates/helpdesk/ticket_list.html:169 +#: templates/helpdesk/ticket_list.html:162 +#: templates/helpdesk/ticket_list.html:181 msgid "Save Query" msgstr "" -#: templates/helpdesk/ticket_list.html:160 +#: templates/helpdesk/ticket_list.html:172 msgid "" "This name appears in the drop-down list of saved queries. If you share your " "query, other users will see this name, so choose something clear and " "descriptive!" msgstr "" -#: templates/helpdesk/ticket_list.html:162 +#: templates/helpdesk/ticket_list.html:174 msgid "Shared?" msgstr "" -#: templates/helpdesk/ticket_list.html:163 +#: templates/helpdesk/ticket_list.html:175 msgid "Yes, share this query with other users." msgstr "" -#: templates/helpdesk/ticket_list.html:164 +#: templates/helpdesk/ticket_list.html:176 msgid "" "If you share this query, it will be visible by all other logged-in " "users." msgstr "" -#: templates/helpdesk/ticket_list.html:176 +#: templates/helpdesk/ticket_list.html:195 msgid "Use Saved Query" msgstr "" -#: templates/helpdesk/ticket_list.html:178 +#: templates/helpdesk/ticket_list.html:202 msgid "Query" msgstr "" -#: templates/helpdesk/ticket_list.html:183 +#: templates/helpdesk/ticket_list.html:207 msgid "Run Query" msgstr "" -#: templates/helpdesk/ticket_list.html:213 +#: templates/helpdesk/ticket_list.html:240 msgid "No Tickets Match Your Selection" msgstr "" -#: templates/helpdesk/ticket_list.html:219 +#: templates/helpdesk/ticket_list.html:247 msgid "Previous" msgstr "" -#: templates/helpdesk/ticket_list.html:223 +#: templates/helpdesk/ticket_list.html:251 #, python-format msgid "Page %(ticket_num)s of %(num_pages)s." msgstr "" -#: templates/helpdesk/ticket_list.html:227 +#: templates/helpdesk/ticket_list.html:255 msgid "Next" msgstr "" -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "Select:" msgstr "" -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "None" msgstr "" -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "Inverse" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "With Selected Tickets:" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Take (Assign to me)" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Close" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Close (Don't Send E-Mail)" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Close (Send E-Mail)" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Assign To" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Nobody (Unassign)" msgstr "" @@ -2110,16 +2232,13 @@ msgstr "" msgid "Change User Settings" msgstr "" -#: templates/helpdesk/user_settings.html:14 +#: templates/helpdesk/user_settings.html:8 msgid "" -"\n" -"

User Settings

\n" -"\n" -"

Use the following options to change the way your helpdesk system works " -"for you. These settings do not impact any other user.

\n" +"Use the following options to change the way your helpdesk system works for " +"you. These settings do not impact any other user." msgstr "" -#: templates/helpdesk/user_settings.html:29 +#: templates/helpdesk/user_settings.html:14 msgid "Save Options" msgstr "" @@ -2141,116 +2260,101 @@ msgstr "" msgid "Helpdesk Login" msgstr "" -#: templates/helpdesk/registration/login.html:9 -#: templates/helpdesk/registration/login.html:21 -msgid "Login" -msgstr "" - -#: templates/helpdesk/registration/login.html:11 -msgid "" -"To log in and begin responding to cases, simply enter your username and " -"password below." -msgstr "" - #: templates/helpdesk/registration/login.html:14 +msgid "To log in simply enter your username and password below." +msgstr "" + +#: templates/helpdesk/registration/login.html:17 msgid "Your username and password didn't match. Please try again." msgstr "" -#: templates/helpdesk/registration/login.html:16 -msgid "Username" +#: templates/helpdesk/registration/login.html:20 +msgid "Login" msgstr "" -#: templates/helpdesk/registration/login.html:18 -msgid "Password" -msgstr "" - -#: views/feeds.py:35 +#: views/feeds.py:39 #, python-format msgid "Helpdesk: Open Tickets in queue %(queue)s for %(username)s" msgstr "" -#: views/feeds.py:40 +#: views/feeds.py:44 #, python-format msgid "Helpdesk: Open Tickets for %(username)s" msgstr "" -#: views/feeds.py:46 +#: views/feeds.py:50 #, python-format msgid "Open and Reopened Tickets in queue %(queue)s for %(username)s" msgstr "" -#: views/feeds.py:51 +#: views/feeds.py:55 #, python-format msgid "Open and Reopened Tickets for %(username)s" msgstr "" -#: views/feeds.py:98 +#: views/feeds.py:102 msgid "Helpdesk: Unassigned Tickets" msgstr "" -#: views/feeds.py:99 +#: views/feeds.py:103 msgid "Unassigned Open and Reopened tickets" msgstr "" -#: views/feeds.py:124 +#: views/feeds.py:128 msgid "Helpdesk: Recent Followups" msgstr "" -#: views/feeds.py:125 +#: views/feeds.py:129 msgid "" "Recent FollowUps, such as e-mail replies, comments, attachments and " "resolutions" msgstr "" -#: views/feeds.py:140 +#: views/feeds.py:144 #, python-format msgid "Helpdesk: Open Tickets in queue %(queue)s" msgstr "" -#: views/feeds.py:145 +#: views/feeds.py:149 #, python-format msgid "Open and Reopened Tickets in queue %(queue)s" msgstr "" -#: views/public.py:91 +#: views/public.py:89 msgid "Invalid ticket ID or e-mail address. Please try again." msgstr "" -#: views/public.py:109 +#: views/public.py:107 msgid "Submitter accepted resolution and closed ticket" msgstr "" -#: views/staff.py:218 +#: views/staff.py:235 msgid "Accepted resolution and closed ticket" msgstr "" -#: views/staff.py:246 -msgid "Sorry, you need to login to do that." -msgstr "" - -#: views/staff.py:295 +#: views/staff.py:369 #, python-format msgid "Assigned to %(username)s" msgstr "" -#: views/staff.py:318 +#: views/staff.py:392 msgid "Updated" msgstr "" -#: views/staff.py:496 +#: views/staff.py:577 #, python-format msgid "Assigned to %(username)s in bulk update" msgstr "" -#: views/staff.py:501 +#: views/staff.py:582 msgid "Unassigned in bulk update" msgstr "" -#: views/staff.py:506 views/staff.py:511 +#: views/staff.py:587 views/staff.py:592 msgid "Closed in bulk update" msgstr "" -#: views/staff.py:732 +#: views/staff.py:806 msgid "" "

Note: Your keyword search is case sensitive because of " "your database. This means the search will not be accurate. " @@ -2260,86 +2364,38 @@ msgid "" "matching in SQLite." msgstr "" -#: views/staff.py:843 +#: views/staff.py:910 msgid "Ticket taken off hold" msgstr "" -#: views/staff.py:846 +#: views/staff.py:913 msgid "Ticket placed on hold" msgstr "" -#: views/staff.py:914 -msgid "Jan" -msgstr "" - -#: views/staff.py:915 -msgid "Feb" -msgstr "" - -#: views/staff.py:916 -msgid "Mar" -msgstr "" - -#: views/staff.py:917 -msgid "Apr" -msgstr "" - -#: views/staff.py:918 -msgid "May" -msgstr "" - -#: views/staff.py:919 -msgid "Jun" -msgstr "" - -#: views/staff.py:920 -msgid "Jul" -msgstr "" - -#: views/staff.py:921 -msgid "Aug" -msgstr "" - -#: views/staff.py:922 -msgid "Sep" -msgstr "" - -#: views/staff.py:923 -msgid "Oct" -msgstr "" - -#: views/staff.py:924 -msgid "Nov" -msgstr "" - -#: views/staff.py:925 -msgid "Dec" -msgstr "" - -#: views/staff.py:951 +#: views/staff.py:1007 msgid "User by Priority" msgstr "" -#: views/staff.py:957 +#: views/staff.py:1013 msgid "User by Queue" msgstr "" -#: views/staff.py:963 +#: views/staff.py:1019 msgid "User by Status" msgstr "" -#: views/staff.py:969 +#: views/staff.py:1025 msgid "User by Month" msgstr "" -#: views/staff.py:975 +#: views/staff.py:1031 msgid "Queue by Priority" msgstr "" -#: views/staff.py:981 +#: views/staff.py:1037 msgid "Queue by Status" msgstr "" -#: views/staff.py:987 +#: views/staff.py:1043 msgid "Queue by Month" msgstr "" diff --git a/helpdesk/locale/es/LC_MESSAGES/django.mo b/helpdesk/locale/es/LC_MESSAGES/django.mo index f823f474..c7185df7 100644 Binary files a/helpdesk/locale/es/LC_MESSAGES/django.mo and b/helpdesk/locale/es/LC_MESSAGES/django.mo differ diff --git a/helpdesk/locale/es/LC_MESSAGES/django.po b/helpdesk/locale/es/LC_MESSAGES/django.po index 1981c1a3..9ee96f33 100644 --- a/helpdesk/locale/es/LC_MESSAGES/django.po +++ b/helpdesk/locale/es/LC_MESSAGES/django.po @@ -1,10 +1,10 @@ # django-helpdesk English language translation # Copyright (C) 2011 Ross Poulton # This file is distributed under the same license as the django-helpdesk package. -# +# # Translators: # Alberto Gaona , 2011 -# anto987 , 2012 +# Antonio Storni , 2012 # Erik Rivera , 2011 # Ross Poulton , 2011 msgid "" @@ -1072,12 +1072,18 @@ msgstr "Si - Eliminar" msgid "Create Ticket" msgstr "Crear Ticket" -#: templates/helpdesk/create_ticket.html:6 -msgid "" -"

Submit a Ticket

\n" -"\n" -"

Unless otherwise stated, all fields are required. Please provide as descriptive a title and description as possible.

" -msgstr "

Enviar nuevo ticket

⏎ ⏎

Salvo los indicados, todos los campos son obligatorios. Por favor ingrese la información y el título de la forma más descriptiva posible

" +#: templates/helpdesk/create_ticket.html:10 +#: templates/helpdesk/public_homepage.html:39 +msgid "Submit a Ticket" +msgstr "Enviar un Ticket" + +#: templates/helpdesk/create_ticket.html:11 +msgid "Unless otherwise stated, all fields are required." +msgstr "Salvo los indicados, todos los campos son obligatorios." + +#: templates/helpdesk/create_ticket.html:11 +msgid "Please provide as descriptive a title and description as possible." +msgstr "Por favor ingrese la información y el título de la forma más descriptiva posible." #: templates/helpdesk/create_ticket.html:17 #: templates/helpdesk/edit_ticket.html:19 @@ -1179,13 +1185,16 @@ msgid "Edit Ticket" msgstr "Editar Ticket" #: templates/helpdesk/edit_ticket.html:6 -msgid "" -"

Edit a Ticket

\n" -"\n" -"

Unless otherwise stated, all fields are required. Please provide as descriptive a title and description as possible.

\n" -"\n" -"

Note: Editing a ticket does not send an e-mail to the ticket owner or submitter. No new details should be entered, this form should only be used to fix incorrect details or clean up the submission.

" -msgstr "

Editar ticket

⏎ ⏎

Unless otherwise stated, all fields are required. Please provide as descriptive a title and description as possible.

⏎ ⏎

Note: Editing a ticket does not send an e-mail to the ticket owner or submitter. No new details should be entered, this form should only be used to fix incorrect details or clean up the submission.

" +msgid "Edit a Ticket" +msgstr "Editar ticket" + +#: templates/helpdesk/edit_ticket.html:6 +msgid "Note" +msgstr "" + +#: templates/helpdesk/edit_ticket.html:6 +msgid "Editing a ticket does not send an e-mail to the ticket owner or submitter. No new details should be entered, this form should only be used to fix incorrect details or clean up the submission." +msgstr "" #: templates/helpdesk/edit_ticket.html:28 msgid "Save Changes" @@ -1437,15 +1446,9 @@ msgstr "Su Direcciójn de E-Mail" msgid "View Ticket" msgstr "Ver Ticket" -#: templates/helpdesk/public_homepage.html:39 -msgid "Submit a Ticket" -msgstr "Enviar Ticket" - #: templates/helpdesk/public_homepage.html:41 -msgid "" -"All fields are required. Please provide as descriptive a title and " -"description as possible." -msgstr "Todos los campos son requeridos. Por favor ingrese un título y descripción." +msgid "All fields are required." +msgstr "Todos los campos son requeridos." #: templates/helpdesk/public_homepage.html:67 msgid "Please use button at upper right to login first." diff --git a/helpdesk/locale/es_CO/LC_MESSAGES/django.mo b/helpdesk/locale/es_CO/LC_MESSAGES/django.mo index 118f48c5..fdad1622 100644 Binary files a/helpdesk/locale/es_CO/LC_MESSAGES/django.mo and b/helpdesk/locale/es_CO/LC_MESSAGES/django.mo differ diff --git a/helpdesk/locale/es_CO/LC_MESSAGES/django.po b/helpdesk/locale/es_CO/LC_MESSAGES/django.po index 4ce8ed0e..c74554c7 100644 --- a/helpdesk/locale/es_CO/LC_MESSAGES/django.po +++ b/helpdesk/locale/es_CO/LC_MESSAGES/django.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the django-helpdesk package. # # Translators: +# Translators: # Oscar Javier Moreno Rey , 2011 msgid "" msgstr "" "Project-Id-Version: django-helpdesk\n" "Report-Msgid-Bugs-To: http://github.com/RossP/django-helpdesk/issues\n" -"POT-Creation-Date: 2012-08-07 20:40+1000\n" -"PO-Revision-Date: 2013-04-29 09:18+0000\n" +"POT-Creation-Date: 2014-07-26 14:14+0200\n" +"PO-Revision-Date: 2014-08-01 09:58+0000\n" "Last-Translator: Ross Poulton \n" "Language-Team: Spanish (Colombia) (http://www.transifex.com/projects/p/django-helpdesk/language/es_CO/)\n" "MIME-Version: 1.0\n" @@ -18,1050 +19,1149 @@ msgstr "" "Language: es_CO\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: forms.py:113 forms.py:360 models.py:262 -#: templates/helpdesk/dashboard.html:11 templates/helpdesk/dashboard.html:37 -#: templates/helpdesk/dashboard.html:57 templates/helpdesk/dashboard.html:77 -#: templates/helpdesk/dashboard.html:99 templates/helpdesk/rss_list.html:23 -#: templates/helpdesk/ticket_list.html:56 -#: templates/helpdesk/ticket_list.html:78 -#: templates/helpdesk/ticket_list.html:199 views/staff.py:976 -#: views/staff.py:982 views/staff.py:988 +#: forms.py:128 forms.py:328 models.py:190 models.py:267 +#: templates/helpdesk/dashboard.html:15 templates/helpdesk/dashboard.html:58 +#: templates/helpdesk/dashboard.html:78 templates/helpdesk/dashboard.html:100 +#: templates/helpdesk/dashboard.html:124 templates/helpdesk/rss_list.html:24 +#: templates/helpdesk/ticket_list.html:69 +#: templates/helpdesk/ticket_list.html:88 +#: templates/helpdesk/ticket_list.html:225 views/staff.py:1032 +#: views/staff.py:1038 views/staff.py:1044 views/staff.py:1050 msgid "Queue" msgstr "Cola" -#: forms.py:122 +#: forms.py:137 msgid "Summary of the problem" msgstr "Resumen del problema" -#: forms.py:127 +#: forms.py:142 msgid "Submitter E-Mail Address" msgstr "Correo electrónico remitente" -#: forms.py:129 +#: forms.py:144 msgid "" "This e-mail address will receive copies of all public updates to this " "ticket." msgstr "Este correo recibirá copias de todas las actualizaciones públicas a este ticket." -#: forms.py:135 +#: forms.py:150 msgid "Description of Issue" msgstr "Descripción del asunto" -#: forms.py:142 +#: forms.py:157 msgid "Case owner" msgstr "Propietario del caso" -#: forms.py:143 +#: forms.py:158 msgid "" "If you select an owner other than yourself, they'll be e-mailed details of " "this ticket immediately." msgstr "Si selecionó un dueño diferente a usted, él será notificado por correo electrónico de inmediato acerca de los detalles de este ticket." -#: forms.py:151 models.py:322 management/commands/escalate_tickets.py:149 -#: templates/helpdesk/public_view_ticket.html:21 -#: templates/helpdesk/ticket.html:176 -#: templates/helpdesk/ticket_desc_table.html:31 -#: templates/helpdesk/ticket_list.html:84 views/staff.py:355 +#: forms.py:166 models.py:327 management/commands/escalate_tickets.py:154 +#: templates/helpdesk/public_view_ticket.html:23 +#: templates/helpdesk/ticket.html:184 +#: templates/helpdesk/ticket_desc_table.html:47 +#: templates/helpdesk/ticket_list.html:94 views/staff.py:429 msgid "Priority" msgstr "Prioridad" -#: forms.py:152 +#: forms.py:167 msgid "Please select a priority carefully. If unsure, leave it as '3'." msgstr "Por favor seleccione una prioridad cuidadosamente. Si no está seguro, marquela como '3'." -#: forms.py:159 forms.py:397 models.py:330 templates/helpdesk/ticket.html:178 -#: views/staff.py:365 +#: forms.py:174 forms.py:365 models.py:335 templates/helpdesk/ticket.html:186 +#: views/staff.py:439 msgid "Due on" msgstr "" -#: forms.py:171 forms.py:402 +#: forms.py:186 forms.py:370 msgid "Attach File" msgstr "Adjuntar archivo" -#: forms.py:172 forms.py:403 +#: forms.py:187 forms.py:371 msgid "You can attach a file such as a document or screenshot to this ticket." msgstr "Puede adjuntar como archivo un documento o una captura de pantalla a este ticket." -#: forms.py:180 templates/helpdesk/public_view_ticket.html:33 -#: templates/helpdesk/ticket.html:182 -#: templates/helpdesk/ticket_desc_table.html:42 -#: templates/helpdesk/ticket_list.html:61 -#: templates/helpdesk/ticket_list.html:199 views/staff.py:376 -msgid "Tags" -msgstr "Etiquetas" - -#: forms.py:181 -msgid "" -"Words, separated by spaces, or phrases separated by commas. These should " -"communicate significant characteristics of this ticket" -msgstr "Palabras separadas por espacios o frases separadas por comas. Estas deben comunicar características significativas del ticket." - -#: forms.py:275 +#: forms.py:240 msgid "Ticket Opened" msgstr "Ticket abierto" -#: forms.py:282 +#: forms.py:247 #, python-format msgid "Ticket Opened & Assigned to %(name)s" msgstr "Ticket abierto y asignado a %(name)s" -#: forms.py:369 +#: forms.py:337 msgid "Summary of your query" msgstr "Resumen de su petición" -#: forms.py:374 +#: forms.py:342 msgid "Your E-Mail Address" msgstr "Su correo electrónico" -#: forms.py:375 +#: forms.py:343 msgid "We will e-mail you when your ticket is updated." msgstr "Le informaremos vía correo electrónico cuando su ticket sea actualizado." -#: forms.py:380 +#: forms.py:348 msgid "Description of your issue" msgstr "Descripción de su asunto" -#: forms.py:382 +#: forms.py:350 msgid "" "Please be as descriptive as possible, including any details we may need to " "address your query." msgstr "Por favor sea lo más descriptivo posible, incluyendo cualquier detalle que podamos necesitar para atender su petición." -#: forms.py:390 +#: forms.py:358 msgid "Urgency" msgstr "Urgencia" -#: forms.py:391 +#: forms.py:359 msgid "Please select a priority carefully." msgstr "Por favor seleccione una prioridad cuidadosamente." -#: forms.py:486 +#: forms.py:419 msgid "Ticket Opened Via Web" msgstr "Ticket abierto vía web" -#: forms.py:553 +#: forms.py:486 msgid "Show Ticket List on Login?" msgstr "Mostrar listado de tickets al inicio?" -#: forms.py:554 +#: forms.py:487 msgid "Display the ticket list upon login? Otherwise, the dashboard is shown." msgstr "Desplegar listado de tickets al iniciar sesión? De lo contrario el dashboard será mostrado." -#: forms.py:559 +#: forms.py:492 msgid "E-mail me on ticket change?" msgstr "Notificarme por correo electrónico cuando el ticket cambie?" -#: forms.py:560 +#: forms.py:493 msgid "" "If you're the ticket owner and the ticket is changed via the web by somebody" " else, do you want to receive an e-mail?" msgstr "Si usted es el propietario del ticket y es cambiado vía web por alguien, desea recibir un correo electrónico?" -#: forms.py:565 +#: forms.py:498 msgid "E-mail me when assigned a ticket?" msgstr "Enviarme correo electrónico cuando un ticket sea asignado?" -#: forms.py:566 +#: forms.py:499 msgid "" "If you are assigned a ticket via the web, do you want to receive an e-mail?" msgstr "Si le asignan un ticket vía web, desea recibir un correo electrónico?" -#: forms.py:571 +#: forms.py:504 msgid "E-mail me when a ticket is changed via the API?" msgstr "Enviarme correo electrónico cuando un ticket es cambiado a través del API?" -#: forms.py:572 +#: forms.py:505 msgid "If a ticket is altered by the API, do you want to receive an e-mail?" msgstr "Si un ticket es alterado a través del API, desea recibir un correo electrónico?" -#: forms.py:577 +#: forms.py:510 msgid "Number of tickets to show per page" msgstr "Número de tickets a mostrar por página" -#: forms.py:578 +#: forms.py:511 msgid "How many tickets do you want to see on the Ticket List page?" msgstr "Cuántos tickets desea ver en la página Listado de Tickets?" -#: forms.py:585 +#: forms.py:518 msgid "Use my e-mail address when submitting tickets?" msgstr "Usar mi correo electrónico cuando se envíen tickets?" -#: forms.py:586 +#: forms.py:519 msgid "" "When you submit a ticket, do you want to automatically use your e-mail " "address as the submitter address? You can type a different e-mail address " "when entering the ticket if needed, this option only changes the default." msgstr "Cuando envíe un ticket, desea que su correo electrónico sea usado como remitente? Puede escribir diferentes direcciones de correo electrónico cuando ingrese un ticket si lo necesita, esta opción solo cambia la dirección por defecto." -#: models.py:32 models.py:256 models.py:490 models.py:787 models.py:821 -#: templates/helpdesk/dashboard.html:37 templates/helpdesk/dashboard.html:57 -#: templates/helpdesk/dashboard.html:77 templates/helpdesk/dashboard.html:99 -#: templates/helpdesk/ticket.html:170 templates/helpdesk/ticket_list.html:75 -#: templates/helpdesk/ticket_list.html:199 views/staff.py:345 +#: models.py:35 models.py:261 models.py:503 models.py:817 models.py:853 +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:100 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket.html:178 templates/helpdesk/ticket_list.html:85 +#: templates/helpdesk/ticket_list.html:225 views/staff.py:419 msgid "Title" msgstr "Título" -#: models.py:37 models.py:792 models.py:1162 +#: models.py:40 models.py:822 models.py:1206 msgid "Slug" msgstr "Slug" -#: models.py:38 +#: models.py:41 msgid "" "This slug is used when building ticket ID's. Once set, try not to change it " "or e-mailing may get messy." msgstr "Este slug es usado cuando se crea el identificador del ticket. Una vez definido, es mejor no cambiarlo para evitar inconvenientes con los correos electrónicos." -#: models.py:43 models.py:1015 models.py:1085 models.py:1159 +#: models.py:46 models.py:1054 models.py:1129 models.py:1203 #: templates/helpdesk/email_ignore_list.html:13 #: templates/helpdesk/ticket_cc_list.html:15 msgid "E-Mail Address" msgstr "Dirección de correo electrónico" -#: models.py:46 +#: models.py:49 msgid "" "All outgoing e-mails for this queue will use this e-mail address. If you use" " IMAP or POP3, this should be the e-mail address for that mailbox." msgstr "Todo el correo saliente para esta cola usará esta dirección de correo electrónico. Si usa IMAP o POP3, esta debería ser la dirección de correo asociada a ese buzón." -#: models.py:52 models.py:766 +#: models.py:55 models.py:794 msgid "Locale" msgstr "Local" -#: models.py:56 +#: models.py:59 msgid "" "Locale of this queue. All correspondence in this queue will be in this " "language." msgstr "Local de esta cola. Toda la correspondencia dentro de esta cola estará en éste lenguaje." -#: models.py:60 +#: models.py:63 msgid "Allow Public Submission?" msgstr "Permitir envíos públicos?" -#: models.py:63 +#: models.py:66 msgid "Should this queue be listed on the public submission form?" msgstr "Esta cola debería aparecer listada en el formulario de envios?" -#: models.py:68 +#: models.py:71 msgid "Allow E-Mail Submission?" msgstr "Permitir envío del correo electrónico?" -#: models.py:71 +#: models.py:74 msgid "Do you want to poll the e-mail box below for new tickets?" msgstr "Desea solicitar correo electrónico para los nuevos tickets?" -#: models.py:76 +#: models.py:79 msgid "Escalation Days" msgstr "Días de priorización" -#: models.py:79 +#: models.py:82 msgid "" "For tickets which are not held, how often do you wish to increase their " "priority? Set to 0 for no escalation." msgstr "Para tickets no atendidos, cómo desea incrementar su prioridad? Asigne 0 para no priorizar." -#: models.py:84 +#: models.py:87 msgid "New Ticket CC Address" msgstr "Dirección CC de nuevo ticket" -#: models.py:88 +#: models.py:91 msgid "" "If an e-mail address is entered here, then it will receive notification of " "all new tickets created for this queue. Enter a comma between multiple " "e-mail addresses." msgstr "" -#: models.py:94 +#: models.py:97 msgid "Updated Ticket CC Address" msgstr "Dirección CC de ticket actualizado" -#: models.py:98 +#: models.py:101 msgid "" "If an e-mail address is entered here, then it will receive notification of " "all activity (new tickets, closed tickets, updates, reassignments, etc) for " "this queue. Separate multiple addresses with a comma." msgstr "" -#: models.py:105 +#: models.py:108 msgid "E-Mail Box Type" msgstr "Tipo de buzón" -#: models.py:107 +#: models.py:110 msgid "POP 3" msgstr "POP 3" -#: models.py:107 +#: models.py:110 msgid "IMAP" msgstr "IMAP" -#: models.py:110 +#: models.py:113 msgid "" "E-Mail server type for creating tickets automatically from a mailbox - both " "POP3 and IMAP are supported." msgstr "Tipo de servidor para creación de tickets automáticamente desde un correo electrónico - IMAP y POP3 son soportados." -#: models.py:115 +#: models.py:118 msgid "E-Mail Hostname" msgstr "Nombre de la máquina" -#: models.py:119 +#: models.py:122 msgid "" "Your e-mail server address - either the domain name or IP address. May be " "\"localhost\"." msgstr "Dirección del servidor de correo - entre un nombre de dominio o una dirección IP. Puede ser \"localhost\"." -#: models.py:124 +#: models.py:127 msgid "E-Mail Port" msgstr "Puerto" -#: models.py:127 +#: models.py:130 msgid "" "Port number to use for accessing e-mail. Default for POP3 is \"110\", and " "for IMAP is \"143\". This may differ on some servers. Leave it blank to use " "the defaults." msgstr "Numero de puerto para acceder al correo electrónico. Por defecto para POP3 es \"110\" y para IMAP es \"143\". Puede cambiar para algunos servidores. En blanco para valor por defecto." -#: models.py:133 +#: models.py:136 msgid "Use SSL for E-Mail?" msgstr "Usar SSL para correo electrónico?" -#: models.py:136 +#: models.py:139 msgid "" "Whether to use SSL for IMAP or POP3 - the default ports when using SSL are " "993 for IMAP and 995 for POP3." msgstr "Usar SSL para IMAP o POP3- por defecto los puertos usando SSL son 993 para IMAP y 995 para POP3." -#: models.py:141 +#: models.py:144 msgid "E-Mail Username" msgstr "Usuario" -#: models.py:145 +#: models.py:148 msgid "Username for accessing this mailbox." msgstr "Usuario para acceder a este buzón." -#: models.py:149 +#: models.py:152 msgid "E-Mail Password" msgstr "Contraseña" -#: models.py:153 +#: models.py:156 msgid "Password for the above username" msgstr "Contraseña para el usuario" -#: models.py:157 +#: models.py:160 msgid "IMAP Folder" msgstr "Directorio IMAP" -#: models.py:161 +#: models.py:164 msgid "" "If using IMAP, what folder do you wish to fetch messages from? This allows " "you to use one IMAP account for multiple queues, by filtering messages on " "your IMAP server into separate folders. Default: INBOX." msgstr "Si está usando IMAP, de qué directorio desea obtener los mensajes? Esto le permite usar una cuenta IMAP con multiples colas, filtrando mensajes en su servidor IMAP dentro de directorios separados. Por defecto: Bandeja de entrada" -#: models.py:168 +#: models.py:171 msgid "E-Mail Check Interval" msgstr "Intervalo para revisión de correo electrónico" -#: models.py:169 +#: models.py:172 msgid "How often do you wish to check this mailbox? (in Minutes)" msgstr "Cada cuanto desea revisar este buzón de correo? (en Minutos)" -#: models.py:240 templates/helpdesk/dashboard.html:11 -#: templates/helpdesk/ticket.html:130 +#: models.py:191 templates/helpdesk/email_ignore_list.html:13 +msgid "Queues" +msgstr "" + +#: models.py:245 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:138 msgid "Open" msgstr "Abierto" -#: models.py:241 templates/helpdesk/ticket.html:136 -#: templates/helpdesk/ticket.html.py:142 templates/helpdesk/ticket.html:147 -#: templates/helpdesk/ticket.html.py:151 +#: models.py:246 templates/helpdesk/ticket.html:144 +#: templates/helpdesk/ticket.html.py:150 templates/helpdesk/ticket.html:155 +#: templates/helpdesk/ticket.html.py:159 msgid "Reopened" msgstr "Reabierto" -#: models.py:242 templates/helpdesk/dashboard.html:11 -#: templates/helpdesk/ticket.html:131 templates/helpdesk/ticket.html.py:137 -#: templates/helpdesk/ticket.html:143 +#: models.py:247 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:139 templates/helpdesk/ticket.html.py:145 +#: templates/helpdesk/ticket.html:151 msgid "Resolved" msgstr "Resuelto" -#: models.py:243 templates/helpdesk/dashboard.html:11 -#: templates/helpdesk/ticket.html:132 templates/helpdesk/ticket.html.py:138 -#: templates/helpdesk/ticket.html:144 templates/helpdesk/ticket.html.py:148 +#: models.py:248 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:140 templates/helpdesk/ticket.html.py:146 +#: templates/helpdesk/ticket.html:152 templates/helpdesk/ticket.html.py:156 msgid "Closed" msgstr "Cerrado" -#: models.py:244 templates/helpdesk/ticket.html:133 -#: templates/helpdesk/ticket.html.py:139 templates/helpdesk/ticket.html:152 +#: models.py:249 templates/helpdesk/ticket.html:141 +#: templates/helpdesk/ticket.html.py:147 templates/helpdesk/ticket.html:160 msgid "Duplicate" msgstr "" -#: models.py:248 +#: models.py:253 msgid "1. Critical" msgstr "1. Critica" -#: models.py:249 +#: models.py:254 msgid "2. High" msgstr "2. Alta" -#: models.py:250 +#: models.py:255 msgid "3. Normal" msgstr "3. Normal" -#: models.py:251 +#: models.py:256 msgid "4. Low" msgstr "4. Baja" -#: models.py:252 +#: models.py:257 msgid "5. Very Low" msgstr "5. Muy baja" -#: models.py:266 templates/helpdesk/dashboard.html:77 -#: templates/helpdesk/ticket_list.html:72 -#: templates/helpdesk/ticket_list.html:199 +#: models.py:271 templates/helpdesk/dashboard.html:100 +#: templates/helpdesk/ticket_list.html:82 +#: templates/helpdesk/ticket_list.html:225 msgid "Created" msgstr "Creado" -#: models.py:268 +#: models.py:273 msgid "Date this ticket was first created" msgstr "Fecha de creación" -#: models.py:272 +#: models.py:277 msgid "Modified" msgstr "Modificado" -#: models.py:274 +#: models.py:279 msgid "Date this ticket was most recently changed." msgstr "Fecha de modificación más reciente" -#: models.py:278 templates/helpdesk/public_view_ticket.html:16 -#: templates/helpdesk/ticket_desc_table.html:26 +#: models.py:283 templates/helpdesk/public_view_ticket.html:18 +#: templates/helpdesk/ticket_desc_table.html:42 msgid "Submitter E-Mail" msgstr "Remitente" -#: models.py:281 +#: models.py:286 msgid "" "The submitter will receive an email for all public follow-ups left for this " "task." msgstr "El remitente recibirá un correo electrónico para el seguimiento de esta tarea." -#: models.py:290 +#: models.py:295 msgid "Assigned to" msgstr "" -#: models.py:294 templates/helpdesk/dashboard.html:37 -#: templates/helpdesk/dashboard.html:57 templates/helpdesk/dashboard.html:99 -#: templates/helpdesk/ticket_list.html:57 -#: templates/helpdesk/ticket_list.html:81 -#: templates/helpdesk/ticket_list.html:199 +#: models.py:299 templates/helpdesk/dashboard.html:58 +#: templates/helpdesk/dashboard.html:78 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket_list.html:70 +#: templates/helpdesk/ticket_list.html:91 +#: templates/helpdesk/ticket_list.html:225 msgid "Status" msgstr "Estado" -#: models.py:300 +#: models.py:305 msgid "On Hold" msgstr "En espera" -#: models.py:303 +#: models.py:308 msgid "If a ticket is on hold, it will not automatically be escalated." msgstr "Si un ticket está en espera, no será priorizado automáticamente." -#: models.py:308 models.py:796 templates/helpdesk/public_view_ticket.html:39 -#: templates/helpdesk/ticket_desc_table.html:67 +#: models.py:313 models.py:826 templates/helpdesk/public_view_ticket.html:41 +#: templates/helpdesk/ticket_desc_table.html:19 msgid "Description" msgstr "Descripción" -#: models.py:311 +#: models.py:316 msgid "The content of the customers query." msgstr "El contenido de la solicitud de los clientes." -#: models.py:315 templates/helpdesk/public_view_ticket.html:46 -#: templates/helpdesk/ticket_desc_table.html:74 +#: models.py:320 templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 msgid "Resolution" msgstr "Respuesta" -#: models.py:318 +#: models.py:323 msgid "The resolution provided to the customer by our staff." msgstr "La respuesta que se le ha dado al cliente por nuestro personal." -#: models.py:326 +#: models.py:331 msgid "1 = Highest Priority, 5 = Low Priority" msgstr "1 = Prioridad máxima 5 = Prioridad mínima" -#: models.py:339 +#: models.py:344 msgid "" "The date this ticket was last escalated - updated automatically by " "management/commands/escalate_tickets.py." msgstr "Fecha de la última priorización del ticket - actualizado por management/commands/escalate_tickets.py" -#: models.py:348 templates/helpdesk/ticket_desc_table.html:22 -#: views/feeds.py:91 views/feeds.py:117 views/feeds.py:169 views/staff.py:302 +#: models.py:353 templates/helpdesk/ticket_desc_table.html:38 +#: views/feeds.py:95 views/feeds.py:121 views/feeds.py:173 views/staff.py:376 msgid "Unassigned" msgstr "Sin asignar" -#: models.py:387 +#: models.py:392 msgid " - On Hold" msgstr "- En espera" -#: models.py:481 models.py:1073 models.py:1231 models.py:1256 -#: templates/helpdesk/public_homepage.html:26 +#: models.py:394 +msgid " - Open dependencies" +msgstr "" + +#: models.py:448 models.py:494 models.py:1117 models.py:1280 models.py:1309 +#: templates/helpdesk/public_homepage.html:78 #: templates/helpdesk/public_view_form.html:12 msgid "Ticket" msgstr "" -#: models.py:485 models.py:714 models.py:1008 models.py:1156 +#: models.py:449 templates/helpdesk/navigation.html:17 +#: templates/helpdesk/ticket_list.html:2 +#: templates/helpdesk/ticket_list.html:224 +msgid "Tickets" +msgstr "" + +#: models.py:498 models.py:738 models.py:1047 models.py:1200 msgid "Date" msgstr "Fecha" -#: models.py:497 views/staff.py:316 +#: models.py:510 views/staff.py:390 msgid "Comment" msgstr "Comentario" -#: models.py:503 +#: models.py:516 msgid "Public" msgstr "Público" -#: models.py:506 +#: models.py:519 msgid "" "Public tickets are viewable by the submitter and all staff, but non-public " "tickets can only be seen by staff." msgstr "Los tickets públicos son visibles por el remitente y por todo el personal, mientras que los privados son visibles solamente por el personal." -#: models.py:514 models.py:888 models.py:1081 views/staff.py:952 -#: views/staff.py:958 views/staff.py:964 views/staff.py:970 +#: models.py:527 models.py:922 models.py:1125 views/staff.py:1008 +#: views/staff.py:1014 views/staff.py:1020 views/staff.py:1026 msgid "User" msgstr "" -#: models.py:518 templates/helpdesk/ticket.html:127 +#: models.py:531 templates/helpdesk/ticket.html:135 msgid "New Status" msgstr "Nuevo estado" -#: models.py:522 +#: models.py:535 msgid "If the status was changed, what was it changed to?" msgstr "Si el estado cambió, a qué cambió?" -#: models.py:551 models.py:608 +#: models.py:542 models.py:566 models.py:628 msgid "Follow-up" msgstr "" -#: models.py:555 models.py:1236 +#: models.py:543 +msgid "Follow-ups" +msgstr "" + +#: models.py:570 models.py:1285 msgid "Field" msgstr "Campo" -#: models.py:560 +#: models.py:575 msgid "Old Value" msgstr "Valor antiguo" -#: models.py:566 +#: models.py:581 msgid "New Value" msgstr "Valor nuevo" -#: models.py:574 +#: models.py:589 msgid "removed" msgstr "eliminado" -#: models.py:576 +#: models.py:591 #, python-format msgid "set to %s" msgstr "marcado como %s" -#: models.py:578 +#: models.py:593 #, python-format msgid "changed from \"%(old_value)s\" to \"%(new_value)s\"" msgstr "cambiado de \"%(old_value)s\" a \"%(new_value)s\"" -#: models.py:612 +#: models.py:600 +msgid "Ticket change" +msgstr "" + +#: models.py:601 +msgid "Ticket changes" +msgstr "" + +#: models.py:632 msgid "File" msgstr "Archivo" -#: models.py:617 +#: models.py:637 msgid "Filename" msgstr "Nombre de archivo" -#: models.py:622 +#: models.py:642 msgid "MIME Type" msgstr "Tipo MIME" -#: models.py:627 +#: models.py:647 msgid "Size" msgstr "Tamaño" -#: models.py:628 +#: models.py:648 msgid "Size of this file in bytes" msgstr "Tamaño del archivo en bytes" -#: models.py:663 +#: models.py:665 +msgid "Attachment" +msgstr "" + +#: models.py:666 +msgid "Attachments" +msgstr "" + +#: models.py:685 msgid "" "Leave blank to allow this reply to be used for all queues, or select those " "queues you wish to limit this reply to." msgstr "Deje en blanco para permitir que esta respuesta sea usada para todas las colas o seleccione aquellas para las que desea limitar esta respuesta." -#: models.py:668 models.py:709 models.py:1003 +#: models.py:690 models.py:733 models.py:1042 #: templates/helpdesk/email_ignore_list.html:13 msgid "Name" msgstr "Nombre" -#: models.py:670 +#: models.py:692 msgid "" "Only used to assist users with selecting a reply - not shown to the user." msgstr "Usado solamente para ayudar al usuario a seleccionar una respuesta - no es visible para el usuario." -#: models.py:675 +#: models.py:697 msgid "Body" msgstr "Cuerpo" -#: models.py:676 +#: models.py:698 msgid "" "Context available: {{ ticket }} - ticket object (eg {{ ticket.title }}); {{ " "queue }} - The queue; and {{ user }} - the current user." msgstr "Contexto disponible: {{ ticket }} objeto de ticket (Ej: {{ ticket.title }}); {{ queue }} - la cola; y {{ user }} - el usuario actual." -#: models.py:703 +#: models.py:705 +msgid "Pre-set reply" +msgstr "" + +#: models.py:706 +msgid "Pre-set replies" +msgstr "" + +#: models.py:727 msgid "" "Leave blank for this exclusion to be applied to all queues, or select those " "queues you wish to exclude with this entry." msgstr "Deje en blanco para que esta ejecución sea aplicada a todas las colas o seleccione todas aquellas sobre las cuales desea ejecutar esta entrada." -#: models.py:715 +#: models.py:739 msgid "Date on which escalation should not happen" msgstr "Fecha en la cual no se realizará priorización" -#: models.py:732 +#: models.py:746 +msgid "Escalation exclusion" +msgstr "" + +#: models.py:747 +msgid "Escalation exclusions" +msgstr "" + +#: models.py:760 msgid "Template Name" msgstr "Nombre de plantilla" -#: models.py:737 +#: models.py:765 msgid "Subject" msgstr "Asunto" -#: models.py:739 +#: models.py:767 msgid "" "This will be prefixed with \"[ticket.ticket] ticket.title\". We recommend " "something simple such as \"(Updated\") or \"(Closed)\" - the same context is" " available as in plain_text, below." msgstr "Se agregará el prefijo \"[ticket.ticket] ticket.title\". Recomendamos algo simple como \"(Actualizado)\" o \"(Cerrado)\" - igual al contexto que está disponible como en el texto plano abajo." -#: models.py:745 +#: models.py:773 msgid "Heading" msgstr "Encabezado" -#: models.py:747 +#: models.py:775 msgid "" "In HTML e-mails, this will be the heading at the top of the email - the same" " context is available as in plain_text, below." msgstr "Para correos en HTML, este será el encabezado en la parte superior del correo - igual al contexto que está disponible como en el texto plano abajo " -#: models.py:753 +#: models.py:781 msgid "Plain Text" msgstr "Texto plano" -#: models.py:754 +#: models.py:782 msgid "" "The context available to you includes {{ ticket }}, {{ queue }}, and " "depending on the time of the call: {{ resolution }} or {{ comment }}." msgstr "El contexto dsponible para usted incluye {{ ticket }}, {{ cola }} y dependiendo del motivo: {{ resolution }} or {{ comment }}." -#: models.py:760 +#: models.py:788 msgid "HTML" msgstr "HTML" -#: models.py:761 +#: models.py:789 msgid "The same context is available here as in plain_text, above." msgstr "El mismo contexto está disponible aquí como en el texto plano de arriba." -#: models.py:770 +#: models.py:798 msgid "Locale of this template." msgstr "" -#: models.py:817 templates/helpdesk/kb_index.html:10 -#: templates/helpdesk/public_homepage.html:10 +#: models.py:806 +msgid "e-mail template" +msgstr "" + +#: models.py:807 +msgid "e-mail templates" +msgstr "" + +#: models.py:834 +msgid "Knowledge base category" +msgstr "" + +#: models.py:835 +msgid "Knowledge base categories" +msgstr "" + +#: models.py:849 templates/helpdesk/kb_index.html:11 +#: templates/helpdesk/public_homepage.html:11 msgid "Category" msgstr "Categoría" -#: models.py:826 +#: models.py:858 msgid "Question" msgstr "Pregunta" -#: models.py:830 +#: models.py:862 msgid "Answer" msgstr "Respuesta" -#: models.py:834 +#: models.py:866 msgid "Votes" msgstr "Votos" -#: models.py:835 +#: models.py:867 msgid "Total number of votes cast for this item" msgstr "Total de votos emitidos para este artículo" -#: models.py:840 +#: models.py:872 msgid "Positive Votes" msgstr "Votos positivos" -#: models.py:841 +#: models.py:873 msgid "Number of votes for this item which were POSITIVE." msgstr "Número de votos positivos para este artículo." -#: models.py:846 +#: models.py:878 msgid "Last Updated" msgstr "Ultima actualización" -#: models.py:847 +#: models.py:879 msgid "The date on which this question was most recently changed." msgstr "La fecha más reciente en la que esta pregunta fué cambiada." -#: models.py:861 +#: models.py:893 msgid "Unrated" msgstr "Sin clasificar" -#: models.py:892 templates/helpdesk/ticket_list.html:158 +#: models.py:901 +msgid "Knowledge base item" +msgstr "" + +#: models.py:902 +msgid "Knowledge base items" +msgstr "" + +#: models.py:926 templates/helpdesk/ticket_list.html:170 msgid "Query Name" msgstr "Nombre de la solicitud" -#: models.py:894 +#: models.py:928 msgid "User-provided name for this query" msgstr "Nombre designado por el usuario para esta solicitud" -#: models.py:898 +#: models.py:932 msgid "Shared With Other Users?" msgstr "Compartir con otros usuarios?" -#: models.py:901 +#: models.py:935 msgid "Should other users see this query?" msgstr "Otros usuarios deberían ver esta solicitud?" -#: models.py:905 +#: models.py:939 msgid "Search Query" msgstr "Buscar solicitud" -#: models.py:906 +#: models.py:940 msgid "Pickled query object. Be wary changing this." msgstr "Objeto de solicitud literal. Tenga cuidado al cambiarla. " -#: models.py:927 +#: models.py:950 +msgid "Saved search" +msgstr "" + +#: models.py:951 +msgid "Saved searches" +msgstr "" + +#: models.py:966 msgid "Settings Dictionary" msgstr "Diccionario de preferencias" -#: models.py:928 +#: models.py:967 msgid "" "This is a base64-encoded representation of a pickled Python dictionary. Do " "not change this field via the admin." msgstr "Esta es una representación codificada en base64 literalmente del diccionario de Python. No la cambie por el administrador." -#: models.py:997 +#: models.py:993 +msgid "User Setting" +msgstr "" + +#: models.py:994 templates/helpdesk/navigation.html:37 +#: templates/helpdesk/user_settings.html:6 +msgid "User Settings" +msgstr "" + +#: models.py:1036 msgid "" "Leave blank for this e-mail to be ignored on all queues, or select those " "queues you wish to ignore this e-mail for." msgstr "Deje en blanco para que este correo sea ignorado en todas las colas o seleccione las colas en las que desea ignorarlo." -#: models.py:1009 +#: models.py:1048 msgid "Date on which this e-mail address was added" msgstr "Fecha en la que este correo fue agregado" -#: models.py:1017 +#: models.py:1056 msgid "" "Enter a full e-mail address, or portions with wildcards, eg *@domain.com or " "postmaster@*." msgstr "Ingrese la dirección de correo electrónico completa o porciones con wildcards. Ej: *@domain.com o postmaster@*." -#: models.py:1022 +#: models.py:1061 msgid "Save Emails in Mailbox?" msgstr "Almacenar correos en el buzón?" -#: models.py:1025 +#: models.py:1064 msgid "" "Do you want to save emails from this address in the mailbox? If this is " "unticked, emails from this address will be deleted." msgstr "Desea almacenar correos de esta dirección en el buzón? Si no escoge esta opción, los correos de esta dirección serán eliminados." -#: models.py:1080 +#: models.py:1101 +msgid "Ignored e-mail address" +msgstr "" + +#: models.py:1102 +msgid "Ignored e-mail addresses" +msgstr "" + +#: models.py:1124 msgid "User who wishes to receive updates for this ticket." msgstr "Usuarios interesados en recibir actualizaciones de este ticket." -#: models.py:1088 +#: models.py:1132 msgid "For non-user followers, enter their e-mail address" msgstr "Para seguidores no registrados ingrese el correo electrónico." -#: models.py:1092 +#: models.py:1136 msgid "Can View Ticket?" msgstr "Puede ver el ticket?" -#: models.py:1094 +#: models.py:1138 msgid "Can this CC login to view the ticket details?" msgstr "Este CC puede ingresar para ver los detalles de este ticket?" -#: models.py:1098 +#: models.py:1142 msgid "Can Update Ticket?" msgstr "Puede actualzar el ticket?" -#: models.py:1100 +#: models.py:1144 msgid "Can this CC login and update the ticket?" msgstr "Este CC puede actualizar el ticket?" -#: models.py:1131 +#: models.py:1175 msgid "Field Name" msgstr "" -#: models.py:1132 +#: models.py:1176 msgid "" "As used in the database and behind the scenes. Must be unique and consist of" " only lowercase letters with no punctuation." msgstr "" -#: models.py:1137 +#: models.py:1181 msgid "Label" msgstr "" -#: models.py:1139 +#: models.py:1183 msgid "The display label for this field" msgstr "" -#: models.py:1143 +#: models.py:1187 msgid "Help Text" msgstr "" -#: models.py:1144 +#: models.py:1188 msgid "Shown to the user when editing the ticket" msgstr "" -#: models.py:1150 +#: models.py:1194 msgid "Character (single line)" msgstr "" -#: models.py:1151 +#: models.py:1195 msgid "Text (multi-line)" msgstr "" -#: models.py:1152 +#: models.py:1196 msgid "Integer" msgstr "" -#: models.py:1153 +#: models.py:1197 msgid "Decimal" msgstr "" -#: models.py:1154 +#: models.py:1198 msgid "List" msgstr "" -#: models.py:1155 +#: models.py:1199 msgid "Boolean (checkbox yes/no)" msgstr "" -#: models.py:1157 +#: models.py:1201 msgid "Time" msgstr "" -#: models.py:1158 +#: models.py:1202 msgid "Date & Time" msgstr "" -#: models.py:1160 +#: models.py:1204 msgid "URL" msgstr "" -#: models.py:1161 +#: models.py:1205 msgid "IP Address" msgstr "" -#: models.py:1166 +#: models.py:1210 msgid "Data Type" msgstr "" -#: models.py:1168 +#: models.py:1212 msgid "Allows you to restrict the data entered into this field" msgstr "" -#: models.py:1173 +#: models.py:1217 msgid "Maximum Length (characters)" msgstr "" -#: models.py:1179 +#: models.py:1223 msgid "Decimal Places" msgstr "" -#: models.py:1180 +#: models.py:1224 msgid "Only used for decimal fields" msgstr "" -#: models.py:1186 +#: models.py:1230 msgid "Add empty first choice to List?" msgstr "" -#: models.py:1187 +#: models.py:1232 msgid "" "Only for List: adds an empty first entry to the choices list, which enforces" " that the user makes an active choice." msgstr "" -#: models.py:1191 +#: models.py:1236 msgid "List Values" msgstr "" -#: models.py:1192 +#: models.py:1237 msgid "For list fields only. Enter one option per line." msgstr "" -#: models.py:1198 +#: models.py:1243 msgid "Ordering" msgstr "" -#: models.py:1199 +#: models.py:1244 msgid "Lower numbers are displayed first; higher numbers are listed later" msgstr "" -#: models.py:1213 +#: models.py:1258 msgid "Required?" msgstr "" -#: models.py:1214 +#: models.py:1259 msgid "Does the user have to enter a value for this field?" msgstr "" -#: models.py:1218 +#: models.py:1263 msgid "Staff Only?" msgstr "" -#: models.py:1219 +#: models.py:1264 msgid "" "If this is ticked, then the public submission form will NOT show this field" msgstr "" -#: models.py:1262 +#: models.py:1273 +msgid "Custom field" +msgstr "" + +#: models.py:1274 +msgid "Custom fields" +msgstr "" + +#: models.py:1297 +msgid "Ticket custom field value" +msgstr "" + +#: models.py:1298 +msgid "Ticket custom field values" +msgstr "" + +#: models.py:1315 msgid "Depends On Ticket" msgstr "" -#: management/commands/create_usersettings.py:21 +#: models.py:1324 +msgid "Ticket dependency" +msgstr "" + +#: models.py:1325 +msgid "Ticket dependencies" +msgstr "" + +#: management/commands/create_usersettings.py:25 msgid "" "Check for user without django-helpdesk UserSettings and create settings if " "required. Uses settings.DEFAULT_USER_SETTINGS which can be overridden to " "suit your situation." msgstr "" -#: management/commands/escalate_tickets.py:143 +#: management/commands/escalate_tickets.py:148 #, python-format msgid "Ticket escalated after %s days" msgstr "Ticket priorizado después de %s days" -#: management/commands/get_email.py:151 +#: management/commands/get_email.py:158 msgid "Created from e-mail" msgstr "Creado a través de correo electrónico" -#: management/commands/get_email.py:155 +#: management/commands/get_email.py:162 msgid "Unknown Sender" msgstr "Remitente desconocido" -#: management/commands/get_email.py:209 +#: management/commands/get_email.py:216 msgid "" "No plain-text email body available. Please see attachment " "email_html_body.html." msgstr "Texto plano para el cuerpo del correo no disponible. Por favor revise " -#: management/commands/get_email.py:213 +#: management/commands/get_email.py:220 msgid "email_html_body.html" msgstr "email_html_body.html." -#: management/commands/get_email.py:256 +#: management/commands/get_email.py:263 #, python-format msgid "E-Mail Received from %(sender_email)s" msgstr "Correo recibido de %(sender_email)s" -#: management/commands/get_email.py:264 +#: management/commands/get_email.py:271 #, python-format msgid "Ticket Re-Opened by E-Mail Received from %(sender_email)s" msgstr "Ticket Re-abierto por correo recibido de %(sender_email)s" -#: management/commands/get_email.py:322 +#: management/commands/get_email.py:329 msgid " (Reopened)" msgstr "" -#: management/commands/get_email.py:324 +#: management/commands/get_email.py:331 msgid " (Updated)" msgstr " (Actualizado)" #: templates/helpdesk/attribution.html:2 msgid "" -"Powered by django-" -"helpdesk." +"django-helpdesk." msgstr "" -#: templates/helpdesk/attribution.html:4 -msgid "For technical support please contact:" -msgstr "" - -#: templates/helpdesk/base.html:9 +#: templates/helpdesk/base.html:10 msgid "Powered by django-helpdesk" msgstr "" -#: templates/helpdesk/base.html:19 templates/helpdesk/rss_list.html:9 -#: templates/helpdesk/rss_list.html:23 templates/helpdesk/rss_list.html:28 +#: templates/helpdesk/base.html:20 templates/helpdesk/rss_list.html:9 +#: templates/helpdesk/rss_list.html:24 templates/helpdesk/rss_list.html:31 msgid "My Open Tickets" msgstr "" -#: templates/helpdesk/base.html:20 +#: templates/helpdesk/base.html:21 msgid "All Recent Activity" msgstr "" -#: templates/helpdesk/base.html:21 templates/helpdesk/dashboard.html:76 +#: templates/helpdesk/base.html:22 templates/helpdesk/dashboard.html:99 #: templates/helpdesk/rss_list.html:15 msgid "Unassigned Tickets" msgstr "" -#: templates/helpdesk/base.html:101 templates/helpdesk/public_base.html:6 -#: templates/helpdesk/public_base.html:14 +#: templates/helpdesk/base.html:52 templates/helpdesk/public_base.html:6 +#: templates/helpdesk/public_base.html:18 msgid "Helpdesk" msgstr "" -#: templates/helpdesk/base.html:111 templates/helpdesk/rss_list.html:9 +#: templates/helpdesk/base.html:62 templates/helpdesk/rss_list.html:9 #: templates/helpdesk/rss_list.html:12 templates/helpdesk/rss_list.html:15 -#: templates/helpdesk/rss_list.html:27 templates/helpdesk/rss_list.html:28 +#: templates/helpdesk/rss_list.html:30 templates/helpdesk/rss_list.html:31 msgid "RSS Icon" msgstr "" -#: templates/helpdesk/base.html:111 templates/helpdesk/rss_list.html:2 +#: templates/helpdesk/base.html:62 templates/helpdesk/rss_list.html:2 #: templates/helpdesk/rss_list.html.py:4 msgid "RSS Feeds" msgstr "" -#: templates/helpdesk/base.html:112 +#: templates/helpdesk/base.html:63 msgid "API" msgstr "" -#: templates/helpdesk/base.html:113 -msgid "User Settings" -msgstr "" - -#: templates/helpdesk/base.html:115 -msgid "Change Language" -msgstr "" - -#: templates/helpdesk/base.html:117 +#: templates/helpdesk/base.html:64 templates/helpdesk/system_settings.html:6 msgid "System Settings" msgstr "" #: templates/helpdesk/confirm_delete_saved_query.html:3 -#: templates/helpdesk/ticket_list.html:144 +#: templates/helpdesk/ticket_list.html:146 msgid "Delete Saved Query" msgstr "" -#: templates/helpdesk/confirm_delete_saved_query.html:5 +#: templates/helpdesk/confirm_delete_saved_query.html:6 +msgid "Delete Query" +msgstr "" + +#: templates/helpdesk/confirm_delete_saved_query.html:8 #, python-format msgid "" -"\n" -"

Delete Query

\n" -"\n" -"

Are you sure you want to delete this saved filter (%(query_title)s)? To re-create it, you will need to manually re-filter your ticket listing.

\n" +"Are you sure you want to delete this saved filter " +"(%(query_title)s)? To re-create it, you will need to manually re-" +"filter your ticket listing." msgstr "" #: templates/helpdesk/confirm_delete_saved_query.html:11 msgid "" -"\n" -"

You have shared this query, so other users may be using it. If you delete it, they will have to manually create their own query.

\n" +"You have shared this query, so other users may be using it. If you delete " +"it, they will have to manually create their own query." msgstr "" -#: templates/helpdesk/confirm_delete_saved_query.html:15 -#: templates/helpdesk/delete_ticket.html:11 +#: templates/helpdesk/confirm_delete_saved_query.html:14 +#: templates/helpdesk/delete_ticket.html:10 msgid "No, Don't Delete It" msgstr "" -#: templates/helpdesk/confirm_delete_saved_query.html:17 -#: templates/helpdesk/delete_ticket.html:13 +#: templates/helpdesk/confirm_delete_saved_query.html:16 +#: templates/helpdesk/delete_ticket.html:12 msgid "Yes - Delete It" msgstr "" @@ -1069,21 +1169,25 @@ msgstr "" msgid "Create Ticket" msgstr "" -#: templates/helpdesk/create_ticket.html:6 -msgid "" -"

Submit a Ticket

\n" -"\n" -"

Unless otherwise stated, all fields are required. Please provide as descriptive a title and description as possible.

" +#: templates/helpdesk/create_ticket.html:10 +#: templates/helpdesk/navigation.html:65 templates/helpdesk/navigation.html:68 +#: templates/helpdesk/public_homepage.html:27 +msgid "Submit a Ticket" msgstr "" -#: templates/helpdesk/create_ticket.html:17 -#: templates/helpdesk/edit_ticket.html:19 -#: templates/helpdesk/public_homepage.html:50 -msgid "(Optional)" +#: templates/helpdesk/create_ticket.html:11 +#: templates/helpdesk/edit_ticket.html:11 +msgid "Unless otherwise stated, all fields are required." msgstr "" -#: templates/helpdesk/create_ticket.html:26 -#: templates/helpdesk/public_homepage.html:59 +#: templates/helpdesk/create_ticket.html:11 +#: templates/helpdesk/edit_ticket.html:11 +#: templates/helpdesk/public_homepage.html:28 +msgid "Please provide as descriptive a title and description as possible." +msgstr "" + +#: templates/helpdesk/create_ticket.html:30 +#: templates/helpdesk/public_homepage.html:55 msgid "Submit Ticket" msgstr "" @@ -1091,136 +1195,176 @@ msgstr "" msgid "Helpdesk Dashboard" msgstr "" -#: templates/helpdesk/dashboard.html:10 -msgid "Helpdesk Summary" -msgstr "" - -#: templates/helpdesk/dashboard.html:25 +#: templates/helpdesk/dashboard.html:9 msgid "" "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." msgstr "" -#: templates/helpdesk/dashboard.html:27 -msgid "" -"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?" +#: templates/helpdesk/dashboard.html:14 +msgid "Helpdesk Summary" msgstr "" #: templates/helpdesk/dashboard.html:36 +msgid "Current Ticket Stats" +msgstr "" + +#: templates/helpdesk/dashboard.html:37 +msgid "Average number of days until ticket is closed (all tickets): " +msgstr "" + +#: templates/helpdesk/dashboard.html:38 +msgid "" +"Average number of days until ticket is closed (tickets opened in last 60 " +"days): " +msgstr "" + +#: templates/helpdesk/dashboard.html:39 +msgid "Click" +msgstr "" + +#: templates/helpdesk/dashboard.html:39 +msgid "for detailed average by month." +msgstr "" + +#: templates/helpdesk/dashboard.html:40 +msgid "Distribution of open tickets, grouped by time period:" +msgstr "" + +#: templates/helpdesk/dashboard.html:41 +msgid "Days since opened" +msgstr "" + +#: templates/helpdesk/dashboard.html:41 +msgid "Number of open tickets" +msgstr "" + +#: templates/helpdesk/dashboard.html:57 msgid "All Tickets submitted by you" msgstr "" -#: templates/helpdesk/dashboard.html:37 templates/helpdesk/dashboard.html:57 -#: templates/helpdesk/dashboard.html:77 templates/helpdesk/dashboard.html:99 -#: templates/helpdesk/ticket_list.html:199 +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:100 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket_list.html:225 msgid "Pr" msgstr "" -#: templates/helpdesk/dashboard.html:37 templates/helpdesk/dashboard.html:57 -#: templates/helpdesk/dashboard.html:99 +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:124 msgid "Last Update" msgstr "" -#: templates/helpdesk/dashboard.html:56 +#: templates/helpdesk/dashboard.html:77 msgid "Open Tickets assigned to you (you are working on this ticket)" msgstr "" -#: templates/helpdesk/dashboard.html:69 +#: templates/helpdesk/dashboard.html:92 msgid "You have no tickets assigned to you." msgstr "" -#: templates/helpdesk/dashboard.html:76 +#: templates/helpdesk/dashboard.html:99 msgid "(pick up a ticket if you start to work on it)" msgstr "" -#: templates/helpdesk/dashboard.html:85 -#: templates/helpdesk/ticket_desc_table.html:22 +#: templates/helpdesk/dashboard.html:110 +#: templates/helpdesk/ticket_desc_table.html:38 msgid "Take" msgstr "" -#: templates/helpdesk/dashboard.html:85 +#: templates/helpdesk/dashboard.html:110 #: templates/helpdesk/email_ignore_list.html:13 #: templates/helpdesk/email_ignore_list.html:23 #: templates/helpdesk/ticket_cc_list.html:15 #: templates/helpdesk/ticket_cc_list.html:23 -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Delete" msgstr "" -#: templates/helpdesk/dashboard.html:89 +#: templates/helpdesk/dashboard.html:114 msgid "There are no unassigned tickets." msgstr "" -#: templates/helpdesk/dashboard.html:98 +#: templates/helpdesk/dashboard.html:123 msgid "Closed & resolved Tickets you used to work on" msgstr "" #: templates/helpdesk/delete_ticket.html:3 +#: templates/helpdesk/delete_ticket.html:6 msgid "Delete Ticket" msgstr "" -#: templates/helpdesk/delete_ticket.html:5 +#: templates/helpdesk/delete_ticket.html:8 #, python-format msgid "" -"\n" -"

Delete Ticket

\n" -"\n" -"

Are you sure you want to delete this ticket (%(ticket_title)s)? All traces of the ticket, including followups, attachments, and updates will be irreversably removed.

\n" +"Are you sure you want to delete this ticket (%(ticket_title)s)? All" +" traces of the ticket, including followups, attachments, and updates will be" +" irreversibly removed." msgstr "" #: templates/helpdesk/edit_ticket.html:3 msgid "Edit Ticket" msgstr "" -#: templates/helpdesk/edit_ticket.html:6 -msgid "" -"

Edit a Ticket

\n" -"\n" -"

Unless otherwise stated, all fields are required. Please provide as descriptive a title and description as possible.

\n" -"\n" -"

Note: Editing a ticket does not send an e-mail to the ticket owner or submitter. No new details should be entered, this form should only be used to fix incorrect details or clean up the submission.

" +#: templates/helpdesk/edit_ticket.html:9 +msgid "Edit a Ticket" msgstr "" -#: templates/helpdesk/edit_ticket.html:28 +#: templates/helpdesk/edit_ticket.html:13 +msgid "Note" +msgstr "" + +#: templates/helpdesk/edit_ticket.html:13 +msgid "" +"Editing a ticket does not send an e-mail to the ticket owner or " +"submitter. No new details should be entered, this form should only be used " +"to fix incorrect details or clean up the submission." +msgstr "" + +#: templates/helpdesk/edit_ticket.html:33 msgid "Save Changes" msgstr "" #: templates/helpdesk/email_ignore_add.html:3 +#: templates/helpdesk/email_ignore_add.html:6 #: templates/helpdesk/email_ignore_add.html:23 msgid "Ignore E-Mail Address" msgstr "" -#: templates/helpdesk/email_ignore_add.html:5 +#: templates/helpdesk/email_ignore_add.html:8 msgid "" -"\n" -"

Ignore E-Mail Address

\n" -"\n" -"

To ignore an e-mail address and prevent any emails from that address creating tickets automatically, enter the e-mail address below.

\n" -"\n" -"

You can either enter a whole e-mail address such as email@domain.com or a portion of an e-mail address with a wildcard, such as *@domain.com or user@*.

" +"To ignore an e-mail address and prevent any emails from that address " +"creating tickets automatically, enter the e-mail address below." +msgstr "" + +#: templates/helpdesk/email_ignore_add.html:10 +msgid "" +"You can either enter a whole e-mail address such as " +"email@domain.com or a portion of an e-mail address with a wildcard," +" such as *@domain.com or user@*." msgstr "" #: templates/helpdesk/email_ignore_del.html:3 msgid "Delete Ignored E-Mail Address" msgstr "" -#: templates/helpdesk/email_ignore_del.html:5 -#, python-format -msgid "" -"\n" -"

Un-Ignore E-Mail Address

\n" -"\n" -"

Are you sure you wish to stop removing this email address (%(email_address)s) and allow their e-mails to automatically create tickets in your system? You can re-add this e-mail address at any time.

\n" +#: templates/helpdesk/email_ignore_del.html:6 +msgid "Un-Ignore E-Mail Address" msgstr "" -#: templates/helpdesk/email_ignore_del.html:11 +#: templates/helpdesk/email_ignore_del.html:8 +#, python-format +msgid "" +"Are you sure you wish to stop removing this email address " +"(%(email_address)s) and allow their e-mails to automatically create" +" tickets in your system? You can re-add this e-mail address at any time." +msgstr "" + +#: templates/helpdesk/email_ignore_del.html:10 msgid "Keep Ignoring It" msgstr "" -#: templates/helpdesk/email_ignore_del.html:13 +#: templates/helpdesk/email_ignore_del.html:12 msgid "Stop Ignoring It" msgstr "" @@ -1241,16 +1385,12 @@ msgstr "" msgid "Date Added" msgstr "" -#: templates/helpdesk/email_ignore_list.html:13 -msgid "Queues" -msgstr "" - #: templates/helpdesk/email_ignore_list.html:13 msgid "Keep in mailbox?" msgstr "" #: templates/helpdesk/email_ignore_list.html:21 -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "All" msgstr "" @@ -1285,7 +1425,7 @@ msgid "Comment:" msgstr "" #: templates/helpdesk/kb_category.html:4 -#: templates/helpdesk/kb_category.html:11 +#: templates/helpdesk/kb_category.html:12 #, python-format msgid "Knowledgebase Category: %(kbcat)s" msgstr "" @@ -1295,12 +1435,12 @@ msgstr "" msgid "You are viewing all items in the %(kbcat)s category." msgstr "" -#: templates/helpdesk/kb_category.html:12 +#: templates/helpdesk/kb_category.html:13 msgid "Article" msgstr "" -#: templates/helpdesk/kb_index.html:4 templates/helpdesk/navigation.html:11 -#: templates/helpdesk/navigation.html:33 +#: templates/helpdesk/kb_index.html:4 templates/helpdesk/navigation.html:21 +#: templates/helpdesk/navigation.html:71 msgid "Knowledgebase" msgstr "" @@ -1311,8 +1451,8 @@ msgid "" "your problem prior to opening a support ticket." msgstr "" -#: templates/helpdesk/kb_index.html:9 -#: templates/helpdesk/public_homepage.html:9 +#: templates/helpdesk/kb_index.html:10 +#: templates/helpdesk/public_homepage.html:10 msgid "Knowledgebase Categories" msgstr "" @@ -1321,7 +1461,7 @@ msgstr "" msgid "Knowledgebase: %(item)s" msgstr "" -#: templates/helpdesk/kb_item.html:13 +#: templates/helpdesk/kb_item.html:16 #, python-format msgid "" "View other %(category_title)s " @@ -1329,88 +1469,82 @@ msgid "" "articles." msgstr "" -#: templates/helpdesk/kb_item.html:15 +#: templates/helpdesk/kb_item.html:18 msgid "Feedback" msgstr "" -#: templates/helpdesk/kb_item.html:17 +#: templates/helpdesk/kb_item.html:20 msgid "" "We give our users an opportunity to vote for items that they believe have " "helped them out, in order for us to better serve future customers. We would " "appreciate your feedback on this article. Did you find it useful?" msgstr "" -#: templates/helpdesk/kb_item.html:20 +#: templates/helpdesk/kb_item.html:23 msgid "This article was useful to me" msgstr "" -#: templates/helpdesk/kb_item.html:21 +#: templates/helpdesk/kb_item.html:24 msgid "This article was not useful to me" msgstr "" -#: templates/helpdesk/kb_item.html:24 +#: templates/helpdesk/kb_item.html:27 msgid "The results of voting by other readers of this article are below:" msgstr "" -#: templates/helpdesk/kb_item.html:27 +#: templates/helpdesk/kb_item.html:30 #, python-format msgid "Recommendations: %(recommendations)s" msgstr "" -#: templates/helpdesk/kb_item.html:28 +#: templates/helpdesk/kb_item.html:31 #, python-format msgid "Votes: %(votes)s" msgstr "" -#: templates/helpdesk/kb_item.html:29 +#: templates/helpdesk/kb_item.html:32 #, python-format msgid "Overall Rating: %(score)s" msgstr "" -#: templates/helpdesk/navigation.html:4 +#: templates/helpdesk/navigation.html:16 templates/helpdesk/navigation.html:64 msgid "Dashboard" msgstr "" -#: templates/helpdesk/navigation.html:5 -#: templates/helpdesk/ticket_list.html:198 -msgid "Tickets" -msgstr "" - -#: templates/helpdesk/navigation.html:6 +#: templates/helpdesk/navigation.html:18 msgid "New Ticket" msgstr "" -#: templates/helpdesk/navigation.html:8 +#: templates/helpdesk/navigation.html:19 msgid "Stats" msgstr "" -#: templates/helpdesk/navigation.html:14 -#: templates/helpdesk/ticket_list.html:46 -msgid "Load Saved Query" +#: templates/helpdesk/navigation.html:24 +msgid "Saved Query" msgstr "" -#: templates/helpdesk/navigation.html:25 templates/helpdesk/navigation.html:35 -msgid "Logout" +#: templates/helpdesk/navigation.html:39 +msgid "Change password" msgstr "" -#: templates/helpdesk/navigation.html:26 +#: templates/helpdesk/navigation.html:50 msgid "Search..." msgstr "" -#: templates/helpdesk/navigation.html:26 +#: templates/helpdesk/navigation.html:50 msgid "Enter a keyword, or a ticket number to jump straight to that ticket." msgstr "" -#: templates/helpdesk/navigation.html:31 -msgid "Submit A Ticket" +#: templates/helpdesk/navigation.html:73 +msgid "Logout" msgstr "" -#: templates/helpdesk/navigation.html:35 +#: templates/helpdesk/navigation.html:73 msgid "Log In" msgstr "" #: templates/helpdesk/public_change_language.html:2 -#: templates/helpdesk/public_homepage.html:21 +#: templates/helpdesk/public_homepage.html:73 #: templates/helpdesk/public_view_form.html:4 #: templates/helpdesk/public_view_ticket.html:2 msgid "View a Ticket" @@ -1424,74 +1558,81 @@ msgstr "" msgid "Knowledgebase Articles" msgstr "" -#: templates/helpdesk/public_homepage.html:29 +#: templates/helpdesk/public_homepage.html:28 +msgid "All fields are required." +msgstr "" + +#: templates/helpdesk/public_homepage.html:66 +msgid "Please use button at upper right to login first." +msgstr "" + +#: templates/helpdesk/public_homepage.html:82 #: templates/helpdesk/public_view_form.html:15 msgid "Your E-mail Address" msgstr "" -#: templates/helpdesk/public_homepage.html:33 +#: templates/helpdesk/public_homepage.html:86 #: templates/helpdesk/public_view_form.html:19 msgid "View Ticket" msgstr "" -#: templates/helpdesk/public_homepage.html:39 -msgid "Submit a Ticket" -msgstr "" - -#: templates/helpdesk/public_homepage.html:41 -msgid "" -"All fields are required. Please provide as descriptive a title and " -"description as possible." -msgstr "" - -#: templates/helpdesk/public_homepage.html:67 -msgid "Please use button at upper right to login first." -msgstr "" - #: templates/helpdesk/public_spam.html:4 msgid "Unable To Open Ticket" msgstr "" +#: templates/helpdesk/public_spam.html:5 +msgid "Sorry, but there has been an error trying to submit your ticket." +msgstr "" + #: templates/helpdesk/public_spam.html:6 msgid "" -"

Sorry, but there has been an error trying to submit your ticket.

\n" -"\n" -"

Our system has marked your submission as spam, so we are unable to save it. If this is not spam, please press back and re-type your message. Be careful to avoid sounding 'spammy', and if you have heaps of links please try removing them if possible.

\n" -"\n" -"

We are sorry for any inconvenience, however this check is required to avoid our helpdesk resources being overloaded by spammers.

\n" +"Our system has marked your submission as spam, so we are " +"unable to save it. If this is not spam, please press back and re-type your " +"message. Be careful to avoid sounding 'spammy', and if you have heaps of " +"links please try removing them if possible." +msgstr "" + +#: templates/helpdesk/public_spam.html:7 +msgid "" +"We are sorry for any inconvenience, however this check is required to avoid " +"our helpdesk resources being overloaded by spammers." msgstr "" #: templates/helpdesk/public_view_form.html:8 msgid "Error:" msgstr "" -#: templates/helpdesk/public_view_ticket.html:8 +#: templates/helpdesk/public_view_ticket.html:9 #, python-format msgid "Queue: %(queue_name)s" msgstr "" -#: templates/helpdesk/public_view_ticket.html:11 -#: templates/helpdesk/ticket_desc_table.html:16 +#: templates/helpdesk/public_view_ticket.html:13 +#: templates/helpdesk/ticket_desc_table.html:32 msgid "Submitted On" msgstr "" -#: templates/helpdesk/public_view_ticket.html:46 -#: templates/helpdesk/ticket_desc_table.html:74 +#: templates/helpdesk/public_view_ticket.html:35 +msgid "Tags" +msgstr "Etiquetas" + +#: templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 msgid "Accept" msgstr "" -#: templates/helpdesk/public_view_ticket.html:46 -#: templates/helpdesk/ticket_desc_table.html:74 +#: templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 msgid "Accept and Close" msgstr "" -#: templates/helpdesk/public_view_ticket.html:55 -#: templates/helpdesk/ticket.html:64 +#: templates/helpdesk/public_view_ticket.html:57 +#: templates/helpdesk/ticket.html:66 msgid "Follow-Ups" msgstr "" -#: templates/helpdesk/public_view_ticket.html:63 -#: templates/helpdesk/ticket.html:92 +#: templates/helpdesk/public_view_ticket.html:65 +#: templates/helpdesk/ticket.html:100 #, python-format msgid "Changed %(field)s from %(old_value)s to %(new_value)s." msgstr "" @@ -1534,6 +1675,10 @@ msgstr "" msgid "Reports By Queue" msgstr "" +#: templates/helpdesk/report_index.html:27 views/staff.py:1049 +msgid "Days until ticket closed by Month" +msgstr "" + #: templates/helpdesk/report_output.html:19 msgid "" "You can run this query on filtered data by using one of your saved queries." @@ -1591,15 +1736,15 @@ msgid "" "new tickets coming into that queue." msgstr "" -#: templates/helpdesk/rss_list.html:22 +#: templates/helpdesk/rss_list.html:23 msgid "Per-Queue Feeds" msgstr "" -#: templates/helpdesk/rss_list.html:23 +#: templates/helpdesk/rss_list.html:24 msgid "All Open Tickets" msgstr "" -#: templates/helpdesk/rss_list.html:27 +#: templates/helpdesk/rss_list.html:30 msgid "Open Tickets" msgstr "" @@ -1607,12 +1752,8 @@ msgstr "" msgid "Change System Settings" msgstr "" -#: templates/helpdesk/system_settings.html:5 -msgid "" -"\n" -"

System Settings

\n" -"\n" -"

The following items can be maintained by you or other superusers:

" +#: templates/helpdesk/system_settings.html:8 +msgid "The following items can be maintained by you or other superusers:" msgstr "" #: templates/helpdesk/system_settings.html:11 @@ -1651,77 +1792,81 @@ msgstr "" msgid "Attach another File" msgstr "" -#: templates/helpdesk/ticket.html:34 templates/helpdesk/ticket.html.py:197 +#: templates/helpdesk/ticket.html:34 templates/helpdesk/ticket.html.py:200 msgid "Add Another File" msgstr "" -#: templates/helpdesk/ticket.html:71 templates/helpdesk/ticket.html.py:81 +#: templates/helpdesk/ticket.html:73 templates/helpdesk/ticket.html.py:86 msgid "Private" msgstr "" -#: templates/helpdesk/ticket.html:111 +#: templates/helpdesk/ticket.html:119 msgid "Respond to this ticket" msgstr "" -#: templates/helpdesk/ticket.html:118 +#: templates/helpdesk/ticket.html:126 msgid "Use a Pre-set Reply" msgstr "" -#: templates/helpdesk/ticket.html:120 +#: templates/helpdesk/ticket.html:126 templates/helpdesk/ticket.html.py:166 +msgid "(Optional)" +msgstr "" + +#: templates/helpdesk/ticket.html:128 msgid "" "Selecting a pre-set reply will over-write your comment below. You can then " "modify the pre-set reply to your liking before saving this update." msgstr "" -#: templates/helpdesk/ticket.html:123 +#: templates/helpdesk/ticket.html:131 msgid "Comment / Resolution" msgstr "" -#: templates/helpdesk/ticket.html:125 +#: templates/helpdesk/ticket.html:133 msgid "" "You can insert ticket and queue details in your message. For more " "information, see the context help page." msgstr "" -#: templates/helpdesk/ticket.html:128 +#: templates/helpdesk/ticket.html:136 msgid "" "This ticket cannot be resolved or closed until the tickets it depends on are" " resolved." msgstr "" -#: templates/helpdesk/ticket.html:158 +#: templates/helpdesk/ticket.html:166 msgid "Is this update public?" msgstr "" -#: templates/helpdesk/ticket.html:160 +#: templates/helpdesk/ticket.html:168 msgid "" "If this is public, the submitter will be e-mailed your comment or " "resolution." msgstr "" -#: templates/helpdesk/ticket.html:164 +#: templates/helpdesk/ticket.html:172 msgid "Change Further Details »" msgstr "" -#: templates/helpdesk/ticket.html:173 templates/helpdesk/ticket_list.html:55 -#: templates/helpdesk/ticket_list.html:87 -#: templates/helpdesk/ticket_list.html:199 +#: templates/helpdesk/ticket.html:181 templates/helpdesk/ticket_list.html:68 +#: templates/helpdesk/ticket_list.html:97 +#: templates/helpdesk/ticket_list.html:225 msgid "Owner" msgstr "" -#: templates/helpdesk/ticket.html:174 +#: templates/helpdesk/ticket.html:182 msgid "Unassign" msgstr "" -#: templates/helpdesk/ticket.html:190 +#: templates/helpdesk/ticket.html:193 msgid "Attach File(s) »" msgstr "" -#: templates/helpdesk/ticket.html:196 +#: templates/helpdesk/ticket.html:199 msgid "Attach a File" msgstr "" -#: templates/helpdesk/ticket.html:204 +#: templates/helpdesk/ticket.html:207 msgid "Update This Ticket" msgstr "" @@ -1824,263 +1969,256 @@ msgid "" "

Are you sure you wish to remove the dependency on this ticket?

\n" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:11 +#: templates/helpdesk/ticket_desc_table.html:7 msgid "Unhold" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:11 +#: templates/helpdesk/ticket_desc_table.html:7 msgid "Hold" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:13 +#: templates/helpdesk/ticket_desc_table.html:9 #, python-format msgid "Queue: %(queue)s" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:21 +#: templates/helpdesk/ticket_desc_table.html:37 msgid "Assigned To" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:27 +#: templates/helpdesk/ticket_desc_table.html:43 msgid "Ignore" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:36 +#: templates/helpdesk/ticket_desc_table.html:52 msgid "Copies To" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:37 +#: templates/helpdesk/ticket_desc_table.html:53 msgid "Manage" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:37 +#: templates/helpdesk/ticket_desc_table.html:53 msgid "" "Click here to add / remove people who should receive an e-mail whenever this" " ticket is updated." msgstr "" -#: templates/helpdesk/ticket_desc_table.html:48 +#: templates/helpdesk/ticket_desc_table.html:53 +msgid "Subscribe" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:53 +msgid "" +"Click here to subscribe yourself to this ticket, if you want to receive an " +"e-mail whenever this ticket is updated." +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:57 msgid "Dependencies" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:50 +#: templates/helpdesk/ticket_desc_table.html:59 msgid "" "This ticket cannot be resolved until the following ticket(s) are resolved" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:51 +#: templates/helpdesk/ticket_desc_table.html:60 msgid "Remove Dependency" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:54 +#: templates/helpdesk/ticket_desc_table.html:63 msgid "This ticket has no dependencies." msgstr "" -#: templates/helpdesk/ticket_desc_table.html:56 +#: templates/helpdesk/ticket_desc_table.html:65 msgid "Add Dependency" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:56 +#: templates/helpdesk/ticket_desc_table.html:65 msgid "" "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." msgstr "" -#: templates/helpdesk/ticket_list.html:2 -msgid "Ticket Listing" -msgstr "" - -#: templates/helpdesk/ticket_list.html:41 -msgid "Query Options" -msgstr "" - -#: templates/helpdesk/ticket_list.html:43 -msgid "Save This Query" -msgstr "" - -#: templates/helpdesk/ticket_list.html:51 +#: templates/helpdesk/ticket_list.html:59 msgid "Change Query" msgstr "" -#: templates/helpdesk/ticket_list.html:54 -#: templates/helpdesk/ticket_list.html:69 +#: templates/helpdesk/ticket_list.html:67 +#: templates/helpdesk/ticket_list.html:79 msgid "Sorting" msgstr "" -#: templates/helpdesk/ticket_list.html:58 -#: templates/helpdesk/ticket_list.html:137 +#: templates/helpdesk/ticket_list.html:71 +#: templates/helpdesk/ticket_list.html:139 msgid "Keywords" msgstr "" -#: templates/helpdesk/ticket_list.html:59 +#: templates/helpdesk/ticket_list.html:72 msgid "Date Range" msgstr "" -#: templates/helpdesk/ticket_list.html:90 +#: templates/helpdesk/ticket_list.html:100 msgid "Reverse" msgstr "" -#: templates/helpdesk/ticket_list.html:92 +#: templates/helpdesk/ticket_list.html:102 msgid "Ordering applied to tickets" msgstr "" -#: templates/helpdesk/ticket_list.html:97 +#: templates/helpdesk/ticket_list.html:107 msgid "Owner(s)" msgstr "" -#: templates/helpdesk/ticket_list.html:101 +#: templates/helpdesk/ticket_list.html:111 msgid "(ME)" msgstr "" -#: templates/helpdesk/ticket_list.html:105 +#: templates/helpdesk/ticket_list.html:115 msgid "Ctrl-Click to select multiple options" msgstr "" -#: templates/helpdesk/ticket_list.html:110 +#: templates/helpdesk/ticket_list.html:120 msgid "Queue(s)" msgstr "" -#: templates/helpdesk/ticket_list.html:111 -#: templates/helpdesk/ticket_list.html:117 -#: templates/helpdesk/ticket_list.html:131 +#: templates/helpdesk/ticket_list.html:121 +#: templates/helpdesk/ticket_list.html:127 msgid "Ctrl-click to select multiple options" msgstr "" -#: templates/helpdesk/ticket_list.html:116 +#: templates/helpdesk/ticket_list.html:126 msgid "Status(es)" msgstr "" -#: templates/helpdesk/ticket_list.html:122 +#: templates/helpdesk/ticket_list.html:132 msgid "Date (From)" msgstr "" -#: templates/helpdesk/ticket_list.html:123 +#: templates/helpdesk/ticket_list.html:133 msgid "Date (To)" msgstr "" -#: templates/helpdesk/ticket_list.html:124 +#: templates/helpdesk/ticket_list.html:134 msgid "Use YYYY-MM-DD date format, eg 2011-05-29" msgstr "" -#: templates/helpdesk/ticket_list.html:130 -msgid "Tag(s)" -msgstr "" - -#: templates/helpdesk/ticket_list.html:138 +#: templates/helpdesk/ticket_list.html:140 msgid "" "Keywords are case-insensitive, and will be looked for in the title, body and" " submitter fields." msgstr "" -#: templates/helpdesk/ticket_list.html:142 +#: templates/helpdesk/ticket_list.html:144 msgid "Apply Filter" msgstr "" -#: templates/helpdesk/ticket_list.html:144 +#: templates/helpdesk/ticket_list.html:146 #, python-format -msgid "You are currently viewing saved query %(query_name)s." +msgid "You are currently viewing saved query \"%(query_name)s\"." msgstr "" -#: templates/helpdesk/ticket_list.html:147 +#: templates/helpdesk/ticket_list.html:149 #, python-format msgid "" "Run a report on this " "query to see stats and charts for the data listed below." msgstr "" -#: templates/helpdesk/ticket_list.html:154 -#: templates/helpdesk/ticket_list.html:169 +#: templates/helpdesk/ticket_list.html:162 +#: templates/helpdesk/ticket_list.html:181 msgid "Save Query" msgstr "" -#: templates/helpdesk/ticket_list.html:160 +#: templates/helpdesk/ticket_list.html:172 msgid "" "This name appears in the drop-down list of saved queries. If you share your " "query, other users will see this name, so choose something clear and " "descriptive!" msgstr "" -#: templates/helpdesk/ticket_list.html:162 +#: templates/helpdesk/ticket_list.html:174 msgid "Shared?" msgstr "" -#: templates/helpdesk/ticket_list.html:163 +#: templates/helpdesk/ticket_list.html:175 msgid "Yes, share this query with other users." msgstr "" -#: templates/helpdesk/ticket_list.html:164 +#: templates/helpdesk/ticket_list.html:176 msgid "" "If you share this query, it will be visible by all other logged-in " "users." msgstr "" -#: templates/helpdesk/ticket_list.html:176 +#: templates/helpdesk/ticket_list.html:195 msgid "Use Saved Query" msgstr "" -#: templates/helpdesk/ticket_list.html:178 +#: templates/helpdesk/ticket_list.html:202 msgid "Query" msgstr "" -#: templates/helpdesk/ticket_list.html:183 +#: templates/helpdesk/ticket_list.html:207 msgid "Run Query" msgstr "" -#: templates/helpdesk/ticket_list.html:213 +#: templates/helpdesk/ticket_list.html:240 msgid "No Tickets Match Your Selection" msgstr "" -#: templates/helpdesk/ticket_list.html:219 +#: templates/helpdesk/ticket_list.html:247 msgid "Previous" msgstr "" -#: templates/helpdesk/ticket_list.html:223 +#: templates/helpdesk/ticket_list.html:251 #, python-format msgid "Page %(ticket_num)s of %(num_pages)s." msgstr "" -#: templates/helpdesk/ticket_list.html:227 +#: templates/helpdesk/ticket_list.html:255 msgid "Next" msgstr "" -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "Select:" msgstr "" -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "None" msgstr "" -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "Inverse" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "With Selected Tickets:" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Take (Assign to me)" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Close" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Close (Don't Send E-Mail)" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Close (Send E-Mail)" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Assign To" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Nobody (Unassign)" msgstr "" @@ -2088,15 +2226,13 @@ msgstr "" msgid "Change User Settings" msgstr "" -#: templates/helpdesk/user_settings.html:14 +#: templates/helpdesk/user_settings.html:8 msgid "" -"\n" -"

User Settings

\n" -"\n" -"

Use the following options to change the way your helpdesk system works for you. These settings do not impact any other user.

\n" +"Use the following options to change the way your helpdesk system works for " +"you. These settings do not impact any other user." msgstr "" -#: templates/helpdesk/user_settings.html:29 +#: templates/helpdesk/user_settings.html:14 msgid "Save Options" msgstr "" @@ -2117,116 +2253,101 @@ msgstr "" msgid "Helpdesk Login" msgstr "" -#: templates/helpdesk/registration/login.html:9 -#: templates/helpdesk/registration/login.html:21 -msgid "Login" -msgstr "" - -#: templates/helpdesk/registration/login.html:11 -msgid "" -"To log in and begin responding to cases, simply enter your username and " -"password below." -msgstr "" - #: templates/helpdesk/registration/login.html:14 +msgid "To log in simply enter your username and password below." +msgstr "" + +#: templates/helpdesk/registration/login.html:17 msgid "Your username and password didn't match. Please try again." msgstr "" -#: templates/helpdesk/registration/login.html:16 -msgid "Username" +#: templates/helpdesk/registration/login.html:20 +msgid "Login" msgstr "" -#: templates/helpdesk/registration/login.html:18 -msgid "Password" -msgstr "" - -#: views/feeds.py:35 +#: views/feeds.py:39 #, python-format msgid "Helpdesk: Open Tickets in queue %(queue)s for %(username)s" msgstr "" -#: views/feeds.py:40 +#: views/feeds.py:44 #, python-format msgid "Helpdesk: Open Tickets for %(username)s" msgstr "" -#: views/feeds.py:46 +#: views/feeds.py:50 #, python-format msgid "Open and Reopened Tickets in queue %(queue)s for %(username)s" msgstr "" -#: views/feeds.py:51 +#: views/feeds.py:55 #, python-format msgid "Open and Reopened Tickets for %(username)s" msgstr "" -#: views/feeds.py:98 +#: views/feeds.py:102 msgid "Helpdesk: Unassigned Tickets" msgstr "" -#: views/feeds.py:99 +#: views/feeds.py:103 msgid "Unassigned Open and Reopened tickets" msgstr "" -#: views/feeds.py:124 +#: views/feeds.py:128 msgid "Helpdesk: Recent Followups" msgstr "" -#: views/feeds.py:125 +#: views/feeds.py:129 msgid "" "Recent FollowUps, such as e-mail replies, comments, attachments and " "resolutions" msgstr "" -#: views/feeds.py:140 +#: views/feeds.py:144 #, python-format msgid "Helpdesk: Open Tickets in queue %(queue)s" msgstr "" -#: views/feeds.py:145 +#: views/feeds.py:149 #, python-format msgid "Open and Reopened Tickets in queue %(queue)s" msgstr "" -#: views/public.py:91 +#: views/public.py:89 msgid "Invalid ticket ID or e-mail address. Please try again." msgstr "" -#: views/public.py:109 +#: views/public.py:107 msgid "Submitter accepted resolution and closed ticket" msgstr "" -#: views/staff.py:218 +#: views/staff.py:235 msgid "Accepted resolution and closed ticket" msgstr "" -#: views/staff.py:246 -msgid "Sorry, you need to login to do that." -msgstr "" - -#: views/staff.py:295 +#: views/staff.py:369 #, python-format msgid "Assigned to %(username)s" msgstr "" -#: views/staff.py:318 +#: views/staff.py:392 msgid "Updated" msgstr "" -#: views/staff.py:496 +#: views/staff.py:577 #, python-format msgid "Assigned to %(username)s in bulk update" msgstr "" -#: views/staff.py:501 +#: views/staff.py:582 msgid "Unassigned in bulk update" msgstr "" -#: views/staff.py:506 views/staff.py:511 +#: views/staff.py:587 views/staff.py:592 msgid "Closed in bulk update" msgstr "" -#: views/staff.py:732 +#: views/staff.py:806 msgid "" "

Note: Your keyword search is case sensitive because of " "your database. This means the search will not be accurate. " @@ -2236,86 +2357,38 @@ msgid "" "matching\">Django Documentation on string matching in SQLite." msgstr "" -#: views/staff.py:843 +#: views/staff.py:910 msgid "Ticket taken off hold" msgstr "" -#: views/staff.py:846 +#: views/staff.py:913 msgid "Ticket placed on hold" msgstr "" -#: views/staff.py:914 -msgid "Jan" -msgstr "" - -#: views/staff.py:915 -msgid "Feb" -msgstr "" - -#: views/staff.py:916 -msgid "Mar" -msgstr "" - -#: views/staff.py:917 -msgid "Apr" -msgstr "" - -#: views/staff.py:918 -msgid "May" -msgstr "" - -#: views/staff.py:919 -msgid "Jun" -msgstr "" - -#: views/staff.py:920 -msgid "Jul" -msgstr "" - -#: views/staff.py:921 -msgid "Aug" -msgstr "" - -#: views/staff.py:922 -msgid "Sep" -msgstr "" - -#: views/staff.py:923 -msgid "Oct" -msgstr "" - -#: views/staff.py:924 -msgid "Nov" -msgstr "" - -#: views/staff.py:925 -msgid "Dec" -msgstr "" - -#: views/staff.py:951 +#: views/staff.py:1007 msgid "User by Priority" msgstr "" -#: views/staff.py:957 +#: views/staff.py:1013 msgid "User by Queue" msgstr "" -#: views/staff.py:963 +#: views/staff.py:1019 msgid "User by Status" msgstr "" -#: views/staff.py:969 +#: views/staff.py:1025 msgid "User by Month" msgstr "" -#: views/staff.py:975 +#: views/staff.py:1031 msgid "Queue by Priority" msgstr "" -#: views/staff.py:981 +#: views/staff.py:1037 msgid "Queue by Status" msgstr "" -#: views/staff.py:987 +#: views/staff.py:1043 msgid "Queue by Month" msgstr "" diff --git a/helpdesk/locale/es_MX/LC_MESSAGES/django.mo b/helpdesk/locale/es_MX/LC_MESSAGES/django.mo index 921af7f0..50f7f103 100644 Binary files a/helpdesk/locale/es_MX/LC_MESSAGES/django.mo and b/helpdesk/locale/es_MX/LC_MESSAGES/django.mo differ diff --git a/helpdesk/locale/es_MX/LC_MESSAGES/django.po b/helpdesk/locale/es_MX/LC_MESSAGES/django.po index a96b77f1..089990c6 100644 --- a/helpdesk/locale/es_MX/LC_MESSAGES/django.po +++ b/helpdesk/locale/es_MX/LC_MESSAGES/django.po @@ -1,11 +1,11 @@ # django-helpdesk English language translation # Copyright (C) 2011 Ross Poulton # This file is distributed under the same license as the django-helpdesk package. -# +# # Translators: # Alberto Gaona , 2011 -# apizano , 2013 -# apizano , 2012 +# Apizano , 2013 +# Apizano , 2012 # Erik Rivera , 2011,2013 # Ross Poulton , 2011 msgid "" @@ -1054,10 +1054,8 @@ msgid "" msgstr "\n

Eliminar Consulta

\n\n

¿Esta seguro de eliminar el filtro guardado (%(query_title)s)? Para recrearlo, necesita volver a filtrar manualmente su lista de tickets.

\n" #: templates/helpdesk/confirm_delete_saved_query.html:11 -msgid "" -"\n" -"

You have shared this query, so other users may be using it. If you delete it, they will have to manually create their own query.

\n" -msgstr "\n

Has compartido esta consulta, entonces otros usuarios podrían estar usandola, si tu la eliminas ellos tienen que crear manualmente su propia consulta

\n" +msgid "You have shared this query, so other users may be using it. If you delete it, they will have to manually create their own query." +msgstr "Has compartido esta consulta, entonces otros usuarios podrían estar usandola, si tu la eliminas ellos tienen que crear manualmente su propia consulta" #: templates/helpdesk/confirm_delete_saved_query.html:15 #: templates/helpdesk/delete_ticket.html:11 @@ -1073,12 +1071,18 @@ msgstr "Sí, borrarlo" msgid "Create Ticket" msgstr "Crear Ticket" -#: templates/helpdesk/create_ticket.html:6 -msgid "" -"

Submit a Ticket

\n" -"\n" -"

Unless otherwise stated, all fields are required. Please provide as descriptive a title and description as possible.

" -msgstr "

Enviar un Ticket

\n\n

" +#: templates/helpdesk/create_ticket.html:10 +#: templates/helpdesk/public_homepage.html:39 +msgid "Submit a Ticket" +msgstr "Enviar un Ticket" + +#: templates/helpdesk/create_ticket.html:11 +msgid "Unless otherwise stated, all fields are required." +msgstr "A menos que se indique lo contrario, todos los campos son obligatorios." + +#: templates/helpdesk/create_ticket.html:11 +msgid "Please provide as descriptive a title and description as possible." +msgstr "Por favor use un título y descripción lo más claro posible." #: templates/helpdesk/create_ticket.html:17 #: templates/helpdesk/edit_ticket.html:19 @@ -1166,27 +1170,26 @@ msgstr "Tickets cerrados y resueltos en los que usted trabajó" msgid "Delete Ticket" msgstr "Borrar Ticket" -#: templates/helpdesk/delete_ticket.html:5 +#: templates/helpdesk/delete_ticket.html:8 #, python-format -msgid "" -"\n" -"

Delete Ticket

\n" -"\n" -"

Are you sure you want to delete this ticket (%(ticket_title)s)? All traces of the ticket, including followups, attachments, and updates will be irreversably removed.

\n" -msgstr "\n

Eliminar ticket

¿Está seguro que desea eliminar esta entrada ( %(ticket_title)s )? Todos los rastros del ticket, incluyendo comentarios, archivos adjuntos y actualizaciones serán eliminados de forma irreversible.

\n" +msgid "Are you sure you want to delete this ticket (%(ticket_title)s)? All traces of the ticket, including followups, attachments, and updates will be irreversibly removed." +msgstr "¿Está seguro que desea eliminar esta entrada (%(ticket_title)s)? Todos los rastros del ticket, incluyendo comentarios, archivos adjuntos y actualizaciones serán eliminados de forma irreversible." #: templates/helpdesk/edit_ticket.html:3 msgid "Edit Ticket" msgstr "Editar Ticket" #: templates/helpdesk/edit_ticket.html:6 -msgid "" -"

Edit a Ticket

\n" -"\n" -"

Unless otherwise stated, all fields are required. Please provide as descriptive a title and description as possible.

\n" -"\n" -"

Note: Editing a ticket does not send an e-mail to the ticket owner or submitter. No new details should be entered, this form should only be used to fix incorrect details or clean up the submission.

" -msgstr "

Editar un Ticket

\n\n

A menos que se indique lo contrario, todos los campos son obligatorios. Por favor use un título y descripción lo más claro posible.

\n

Nota: La edición de un ticket no envía un correo electrónico al propietario del ticket o remitente. Este formato no es para añadir nuevos datos, sólo se debe utilizar para arreglar datos incorrectos o limpiar el ticket.

" +msgid "Edit a Ticket" +msgstr "Editar un Ticket" + +#: templates/helpdesk/edit_ticket.html:6 +msgid "Note" +msgstr "Nota" + +#: templates/helpdesk/edit_ticket.html:6 +msgid "Editing a ticket does not send an e-mail to the ticket owner or submitter. No new details should be entered, this form should only be used to fix incorrect details or clean up the submission." +msgstr "La edición de un ticket no envía un correo electrónico al propietario del ticket o remitente. Este formato no es para añadir nuevos datos, sólo se debe utilizar para arreglar datos incorrectos o limpiar el ticket." #: templates/helpdesk/edit_ticket.html:28 msgid "Save Changes" @@ -1198,27 +1201,23 @@ msgid "Ignore E-Mail Address" msgstr "Ignorar Dirección de E-mail" #: templates/helpdesk/email_ignore_add.html:5 -msgid "" -"\n" -"

Ignore E-Mail Address

\n" -"\n" -"

To ignore an e-mail address and prevent any emails from that address creating tickets automatically, enter the e-mail address below.

\n" -"\n" -"

You can either enter a whole e-mail address such as email@domain.com or a portion of an e-mail address with a wildcard, such as *@domain.com or user@*.

" -msgstr "\n

Ignorar dirección de E-Mail

\n\n

Para ignorar una dirección e-mail y evitar que se creen tickets automáticos desde la misma, introduzca la dirección de e-mail abajo.

\n\n

Puede especificar tanto una dirección de correo completo, por ejemplo email@dominio.com o solo una parte de la dirección con un wildcard, como por ejemplo *@dominio.com o usuario@*.

" +msgid "To ignore an e-mail address and prevent any emails from that address creating tickets automatically, enter the e-mail address below." +msgstr "Para ignorar una dirección e-mail y evitar que se creen tickets automáticos desde la misma, introduzca la dirección de e-mail abajo." + +msgid "You can either enter a whole e-mail address such as email@domain.com or a portion of an e-mail address with a wildcard, such as *@domain.com or user@*." +msgstr "Puede especificar tanto una dirección de correo completo, por ejemplo email@dominio.com o solo una parte de la dirección con un wildcard, como por ejemplo *@dominio.com o usuario@*." #: templates/helpdesk/email_ignore_del.html:3 msgid "Delete Ignored E-Mail Address" msgstr "Borrar dirección de E-Mail Ignorada" #: templates/helpdesk/email_ignore_del.html:5 +msgid "Un-Ignore E-Mail Address" +msgstr "Readmitir dirección E-Mail" + #, python-format -msgid "" -"\n" -"

Un-Ignore E-Mail Address

\n" -"\n" -"

Are you sure you wish to stop removing this email address (%(email_address)s) and allow their e-mails to automatically create tickets in your system? You can re-add this e-mail address at any time.

\n" -msgstr "\n

Readmitir dirección E-Mail

\n\n

¿Está seguro de que quiere dejar de bloquear esta dirección de correo (%(email_address)s) y permitir que los correos de esta dirección creen tickets en el sistema? Puede añadir esta dirección e-mail en cualquier momento.

\n" +msgid "Are you sure you wish to stop removing this email address (%(email_address)s) and allow their e-mails to automatically create tickets in your system? You can re-add this e-mail address at any time." +msgstr "¿Está seguro de que quiere dejar de bloquear esta dirección de correo (%(email_address)s) y permitir que los correos de esta dirección creen tickets en el sistema? Puede añadir esta dirección e-mail en cualquier momento." #: templates/helpdesk/email_ignore_del.html:11 msgid "Keep Ignoring It" @@ -1438,15 +1437,9 @@ msgstr "Su dirección de correo electrénico" msgid "View Ticket" msgstr "Ver Ticket" -#: templates/helpdesk/public_homepage.html:39 -msgid "Submit a Ticket" -msgstr "Enviar un Ticket" - #: templates/helpdesk/public_homepage.html:41 -msgid "" -"All fields are required. Please provide as descriptive a title and " -"description as possible." -msgstr "Todos los campos son requeridos. Por favor incluya un título y una descripción tan explícitas como sea posible." +msgid "All fields are required." +msgstr "Todos los campos son requeridos." #: templates/helpdesk/public_homepage.html:67 msgid "Please use button at upper right to login first." @@ -1457,13 +1450,14 @@ msgid "Unable To Open Ticket" msgstr "No es posible abrir el Ticket" #: templates/helpdesk/public_spam.html:6 -msgid "" -"

Sorry, but there has been an error trying to submit your ticket.

\n" -"\n" -"

Our system has marked your submission as spam, so we are unable to save it. If this is not spam, please press back and re-type your message. Be careful to avoid sounding 'spammy', and if you have heaps of links please try removing them if possible.

\n" -"\n" -"

We are sorry for any inconvenience, however this check is required to avoid our helpdesk resources being overloaded by spammers.

\n" -msgstr "

Lo sentimos, pero se generó un error al tratar de ingresar su ticket.

\n\n

Nuestro sistema ha catalogado su envío como spam, por lo que no podemos guardarlo. Si no es spam, por favor presione atrás y reingrese su mensaje. Intente no ingresar palabras que puedan sonar a spam, y si tiene ligas en su mensaje trate de eliminarlas si es posible.

\n\n

Sentimos el inconveniente, pero necesitamos verificar el correo contra spam para evitar que nuestros recursos de helpdesk sean bloqueados por spammers.

\n" +msgid "Sorry, but there has been an error trying to submit your ticket." +msgstr "Lo sentimos, pero se generó un error al tratar de ingresar su ticket." + +msgid "Our system has marked your submission as spam, so we are unable to save it. If this is not spam, please press back and re-type your message. Be careful to avoid sounding 'spammy', and if you have heaps of links please try removing them if possible." +msgstr "Nuestro sistema ha catalogado su envío como spam, por lo que no podemos guardarlo. Si no es spam, por favor presione atrás y reingrese su mensaje. Intente no ingresar palabras que puedan sonar a spam, y si tiene ligas en su mensaje trate de eliminarlas si es posible." + +msgid "We are sorry for any inconvenience, however this check is required to avoid our helpdesk resources being overloaded by spammers." +msgstr "Sentimos el inconveniente, pero necesitamos verificar el correo contra spam para evitar que nuestros recursos de helpdesk sean bloqueados por spammers." #: templates/helpdesk/public_view_form.html:8 msgid "Error:" diff --git a/helpdesk/locale/fa_IR/LC_MESSAGES/django.mo b/helpdesk/locale/fa_IR/LC_MESSAGES/django.mo index d5e3c285..72bfa1f7 100644 Binary files a/helpdesk/locale/fa_IR/LC_MESSAGES/django.mo and b/helpdesk/locale/fa_IR/LC_MESSAGES/django.mo differ diff --git a/helpdesk/locale/fa_IR/LC_MESSAGES/django.po b/helpdesk/locale/fa_IR/LC_MESSAGES/django.po index 4d2407f9..ce15641b 100644 --- a/helpdesk/locale/fa_IR/LC_MESSAGES/django.po +++ b/helpdesk/locale/fa_IR/LC_MESSAGES/django.po @@ -3,12 +3,13 @@ # This file is distributed under the same license as the django-helpdesk package. # # Translators: +# Translators: msgid "" msgstr "" "Project-Id-Version: django-helpdesk\n" "Report-Msgid-Bugs-To: http://github.com/RossP/django-helpdesk/issues\n" -"POT-Creation-Date: 2012-08-07 20:40+1000\n" -"PO-Revision-Date: 2013-04-29 09:18+0000\n" +"POT-Creation-Date: 2014-07-26 14:14+0200\n" +"PO-Revision-Date: 2014-08-01 09:58+0000\n" "Last-Translator: Ross Poulton \n" "Language-Team: Persian (Iran) (http://www.transifex.com/projects/p/django-helpdesk/language/fa_IR/)\n" "MIME-Version: 1.0\n" @@ -17,1050 +18,1149 @@ msgstr "" "Language: fa_IR\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: forms.py:113 forms.py:360 models.py:262 -#: templates/helpdesk/dashboard.html:11 templates/helpdesk/dashboard.html:37 -#: templates/helpdesk/dashboard.html:57 templates/helpdesk/dashboard.html:77 -#: templates/helpdesk/dashboard.html:99 templates/helpdesk/rss_list.html:23 -#: templates/helpdesk/ticket_list.html:56 -#: templates/helpdesk/ticket_list.html:78 -#: templates/helpdesk/ticket_list.html:199 views/staff.py:976 -#: views/staff.py:982 views/staff.py:988 +#: forms.py:128 forms.py:328 models.py:190 models.py:267 +#: templates/helpdesk/dashboard.html:15 templates/helpdesk/dashboard.html:58 +#: templates/helpdesk/dashboard.html:78 templates/helpdesk/dashboard.html:100 +#: templates/helpdesk/dashboard.html:124 templates/helpdesk/rss_list.html:24 +#: templates/helpdesk/ticket_list.html:69 +#: templates/helpdesk/ticket_list.html:88 +#: templates/helpdesk/ticket_list.html:225 views/staff.py:1032 +#: views/staff.py:1038 views/staff.py:1044 views/staff.py:1050 msgid "Queue" msgstr "" -#: forms.py:122 +#: forms.py:137 msgid "Summary of the problem" msgstr "" -#: forms.py:127 +#: forms.py:142 msgid "Submitter E-Mail Address" msgstr "" -#: forms.py:129 +#: forms.py:144 msgid "" "This e-mail address will receive copies of all public updates to this " "ticket." msgstr "" -#: forms.py:135 +#: forms.py:150 msgid "Description of Issue" msgstr "" -#: forms.py:142 +#: forms.py:157 msgid "Case owner" msgstr "" -#: forms.py:143 +#: forms.py:158 msgid "" "If you select an owner other than yourself, they'll be e-mailed details of " "this ticket immediately." msgstr "" -#: forms.py:151 models.py:322 management/commands/escalate_tickets.py:149 -#: templates/helpdesk/public_view_ticket.html:21 -#: templates/helpdesk/ticket.html:176 -#: templates/helpdesk/ticket_desc_table.html:31 -#: templates/helpdesk/ticket_list.html:84 views/staff.py:355 +#: forms.py:166 models.py:327 management/commands/escalate_tickets.py:154 +#: templates/helpdesk/public_view_ticket.html:23 +#: templates/helpdesk/ticket.html:184 +#: templates/helpdesk/ticket_desc_table.html:47 +#: templates/helpdesk/ticket_list.html:94 views/staff.py:429 msgid "Priority" msgstr "" -#: forms.py:152 +#: forms.py:167 msgid "Please select a priority carefully. If unsure, leave it as '3'." msgstr "" -#: forms.py:159 forms.py:397 models.py:330 templates/helpdesk/ticket.html:178 -#: views/staff.py:365 +#: forms.py:174 forms.py:365 models.py:335 templates/helpdesk/ticket.html:186 +#: views/staff.py:439 msgid "Due on" msgstr "" -#: forms.py:171 forms.py:402 +#: forms.py:186 forms.py:370 msgid "Attach File" msgstr "" -#: forms.py:172 forms.py:403 +#: forms.py:187 forms.py:371 msgid "You can attach a file such as a document or screenshot to this ticket." msgstr "" -#: forms.py:180 templates/helpdesk/public_view_ticket.html:33 -#: templates/helpdesk/ticket.html:182 -#: templates/helpdesk/ticket_desc_table.html:42 -#: templates/helpdesk/ticket_list.html:61 -#: templates/helpdesk/ticket_list.html:199 views/staff.py:376 -msgid "Tags" -msgstr "" - -#: forms.py:181 -msgid "" -"Words, separated by spaces, or phrases separated by commas. These should " -"communicate significant characteristics of this ticket" -msgstr "" - -#: forms.py:275 +#: forms.py:240 msgid "Ticket Opened" msgstr "" -#: forms.py:282 +#: forms.py:247 #, python-format msgid "Ticket Opened & Assigned to %(name)s" msgstr "" -#: forms.py:369 +#: forms.py:337 msgid "Summary of your query" msgstr "" -#: forms.py:374 +#: forms.py:342 msgid "Your E-Mail Address" msgstr "" -#: forms.py:375 +#: forms.py:343 msgid "We will e-mail you when your ticket is updated." msgstr "" -#: forms.py:380 +#: forms.py:348 msgid "Description of your issue" msgstr "" -#: forms.py:382 +#: forms.py:350 msgid "" "Please be as descriptive as possible, including any details we may need to " "address your query." msgstr "" -#: forms.py:390 +#: forms.py:358 msgid "Urgency" msgstr "" -#: forms.py:391 +#: forms.py:359 msgid "Please select a priority carefully." msgstr "" -#: forms.py:486 +#: forms.py:419 msgid "Ticket Opened Via Web" msgstr "" -#: forms.py:553 +#: forms.py:486 msgid "Show Ticket List on Login?" msgstr "" -#: forms.py:554 +#: forms.py:487 msgid "Display the ticket list upon login? Otherwise, the dashboard is shown." msgstr "" -#: forms.py:559 +#: forms.py:492 msgid "E-mail me on ticket change?" msgstr "" -#: forms.py:560 +#: forms.py:493 msgid "" "If you're the ticket owner and the ticket is changed via the web by somebody" " else, do you want to receive an e-mail?" msgstr "" -#: forms.py:565 +#: forms.py:498 msgid "E-mail me when assigned a ticket?" msgstr "" -#: forms.py:566 +#: forms.py:499 msgid "" "If you are assigned a ticket via the web, do you want to receive an e-mail?" msgstr "" -#: forms.py:571 +#: forms.py:504 msgid "E-mail me when a ticket is changed via the API?" msgstr "" -#: forms.py:572 +#: forms.py:505 msgid "If a ticket is altered by the API, do you want to receive an e-mail?" msgstr "" -#: forms.py:577 +#: forms.py:510 msgid "Number of tickets to show per page" msgstr "" -#: forms.py:578 +#: forms.py:511 msgid "How many tickets do you want to see on the Ticket List page?" msgstr "" -#: forms.py:585 +#: forms.py:518 msgid "Use my e-mail address when submitting tickets?" msgstr "" -#: forms.py:586 +#: forms.py:519 msgid "" "When you submit a ticket, do you want to automatically use your e-mail " "address as the submitter address? You can type a different e-mail address " "when entering the ticket if needed, this option only changes the default." msgstr "" -#: models.py:32 models.py:256 models.py:490 models.py:787 models.py:821 -#: templates/helpdesk/dashboard.html:37 templates/helpdesk/dashboard.html:57 -#: templates/helpdesk/dashboard.html:77 templates/helpdesk/dashboard.html:99 -#: templates/helpdesk/ticket.html:170 templates/helpdesk/ticket_list.html:75 -#: templates/helpdesk/ticket_list.html:199 views/staff.py:345 +#: models.py:35 models.py:261 models.py:503 models.py:817 models.py:853 +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:100 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket.html:178 templates/helpdesk/ticket_list.html:85 +#: templates/helpdesk/ticket_list.html:225 views/staff.py:419 msgid "Title" msgstr "" -#: models.py:37 models.py:792 models.py:1162 +#: models.py:40 models.py:822 models.py:1206 msgid "Slug" msgstr "" -#: models.py:38 +#: models.py:41 msgid "" "This slug is used when building ticket ID's. Once set, try not to change it " "or e-mailing may get messy." msgstr "" -#: models.py:43 models.py:1015 models.py:1085 models.py:1159 +#: models.py:46 models.py:1054 models.py:1129 models.py:1203 #: templates/helpdesk/email_ignore_list.html:13 #: templates/helpdesk/ticket_cc_list.html:15 msgid "E-Mail Address" msgstr "" -#: models.py:46 +#: models.py:49 msgid "" "All outgoing e-mails for this queue will use this e-mail address. If you use" " IMAP or POP3, this should be the e-mail address for that mailbox." msgstr "" -#: models.py:52 models.py:766 +#: models.py:55 models.py:794 msgid "Locale" msgstr "" -#: models.py:56 +#: models.py:59 msgid "" "Locale of this queue. All correspondence in this queue will be in this " "language." msgstr "" -#: models.py:60 +#: models.py:63 msgid "Allow Public Submission?" msgstr "" -#: models.py:63 +#: models.py:66 msgid "Should this queue be listed on the public submission form?" msgstr "" -#: models.py:68 +#: models.py:71 msgid "Allow E-Mail Submission?" msgstr "" -#: models.py:71 +#: models.py:74 msgid "Do you want to poll the e-mail box below for new tickets?" msgstr "" -#: models.py:76 +#: models.py:79 msgid "Escalation Days" msgstr "" -#: models.py:79 +#: models.py:82 msgid "" "For tickets which are not held, how often do you wish to increase their " "priority? Set to 0 for no escalation." msgstr "" -#: models.py:84 +#: models.py:87 msgid "New Ticket CC Address" msgstr "" -#: models.py:88 +#: models.py:91 msgid "" "If an e-mail address is entered here, then it will receive notification of " "all new tickets created for this queue. Enter a comma between multiple " "e-mail addresses." msgstr "" -#: models.py:94 +#: models.py:97 msgid "Updated Ticket CC Address" msgstr "" -#: models.py:98 +#: models.py:101 msgid "" "If an e-mail address is entered here, then it will receive notification of " "all activity (new tickets, closed tickets, updates, reassignments, etc) for " "this queue. Separate multiple addresses with a comma." msgstr "" -#: models.py:105 +#: models.py:108 msgid "E-Mail Box Type" msgstr "" -#: models.py:107 +#: models.py:110 msgid "POP 3" msgstr "" -#: models.py:107 +#: models.py:110 msgid "IMAP" msgstr "" -#: models.py:110 +#: models.py:113 msgid "" "E-Mail server type for creating tickets automatically from a mailbox - both " "POP3 and IMAP are supported." msgstr "" -#: models.py:115 +#: models.py:118 msgid "E-Mail Hostname" msgstr "" -#: models.py:119 +#: models.py:122 msgid "" "Your e-mail server address - either the domain name or IP address. May be " "\"localhost\"." msgstr "" -#: models.py:124 +#: models.py:127 msgid "E-Mail Port" msgstr "" -#: models.py:127 +#: models.py:130 msgid "" "Port number to use for accessing e-mail. Default for POP3 is \"110\", and " "for IMAP is \"143\". This may differ on some servers. Leave it blank to use " "the defaults." msgstr "" -#: models.py:133 +#: models.py:136 msgid "Use SSL for E-Mail?" msgstr "" -#: models.py:136 +#: models.py:139 msgid "" "Whether to use SSL for IMAP or POP3 - the default ports when using SSL are " "993 for IMAP and 995 for POP3." msgstr "" -#: models.py:141 +#: models.py:144 msgid "E-Mail Username" msgstr "" -#: models.py:145 +#: models.py:148 msgid "Username for accessing this mailbox." msgstr "" -#: models.py:149 +#: models.py:152 msgid "E-Mail Password" msgstr "" -#: models.py:153 +#: models.py:156 msgid "Password for the above username" msgstr "" -#: models.py:157 +#: models.py:160 msgid "IMAP Folder" msgstr "" -#: models.py:161 +#: models.py:164 msgid "" "If using IMAP, what folder do you wish to fetch messages from? This allows " "you to use one IMAP account for multiple queues, by filtering messages on " "your IMAP server into separate folders. Default: INBOX." msgstr "" -#: models.py:168 +#: models.py:171 msgid "E-Mail Check Interval" msgstr "" -#: models.py:169 +#: models.py:172 msgid "How often do you wish to check this mailbox? (in Minutes)" msgstr "" -#: models.py:240 templates/helpdesk/dashboard.html:11 -#: templates/helpdesk/ticket.html:130 +#: models.py:191 templates/helpdesk/email_ignore_list.html:13 +msgid "Queues" +msgstr "" + +#: models.py:245 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:138 msgid "Open" msgstr "" -#: models.py:241 templates/helpdesk/ticket.html:136 -#: templates/helpdesk/ticket.html.py:142 templates/helpdesk/ticket.html:147 -#: templates/helpdesk/ticket.html.py:151 +#: models.py:246 templates/helpdesk/ticket.html:144 +#: templates/helpdesk/ticket.html.py:150 templates/helpdesk/ticket.html:155 +#: templates/helpdesk/ticket.html.py:159 msgid "Reopened" msgstr "" -#: models.py:242 templates/helpdesk/dashboard.html:11 -#: templates/helpdesk/ticket.html:131 templates/helpdesk/ticket.html.py:137 -#: templates/helpdesk/ticket.html:143 +#: models.py:247 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:139 templates/helpdesk/ticket.html.py:145 +#: templates/helpdesk/ticket.html:151 msgid "Resolved" msgstr "" -#: models.py:243 templates/helpdesk/dashboard.html:11 -#: templates/helpdesk/ticket.html:132 templates/helpdesk/ticket.html.py:138 -#: templates/helpdesk/ticket.html:144 templates/helpdesk/ticket.html.py:148 +#: models.py:248 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:140 templates/helpdesk/ticket.html.py:146 +#: templates/helpdesk/ticket.html:152 templates/helpdesk/ticket.html.py:156 msgid "Closed" msgstr "" -#: models.py:244 templates/helpdesk/ticket.html:133 -#: templates/helpdesk/ticket.html.py:139 templates/helpdesk/ticket.html:152 +#: models.py:249 templates/helpdesk/ticket.html:141 +#: templates/helpdesk/ticket.html.py:147 templates/helpdesk/ticket.html:160 msgid "Duplicate" msgstr "" -#: models.py:248 +#: models.py:253 msgid "1. Critical" msgstr "" -#: models.py:249 +#: models.py:254 msgid "2. High" msgstr "" -#: models.py:250 +#: models.py:255 msgid "3. Normal" msgstr "" -#: models.py:251 +#: models.py:256 msgid "4. Low" msgstr "" -#: models.py:252 +#: models.py:257 msgid "5. Very Low" msgstr "" -#: models.py:266 templates/helpdesk/dashboard.html:77 -#: templates/helpdesk/ticket_list.html:72 -#: templates/helpdesk/ticket_list.html:199 +#: models.py:271 templates/helpdesk/dashboard.html:100 +#: templates/helpdesk/ticket_list.html:82 +#: templates/helpdesk/ticket_list.html:225 msgid "Created" msgstr "" -#: models.py:268 +#: models.py:273 msgid "Date this ticket was first created" msgstr "" -#: models.py:272 +#: models.py:277 msgid "Modified" msgstr "" -#: models.py:274 +#: models.py:279 msgid "Date this ticket was most recently changed." msgstr "" -#: models.py:278 templates/helpdesk/public_view_ticket.html:16 -#: templates/helpdesk/ticket_desc_table.html:26 +#: models.py:283 templates/helpdesk/public_view_ticket.html:18 +#: templates/helpdesk/ticket_desc_table.html:42 msgid "Submitter E-Mail" msgstr "" -#: models.py:281 +#: models.py:286 msgid "" "The submitter will receive an email for all public follow-ups left for this " "task." msgstr "" -#: models.py:290 +#: models.py:295 msgid "Assigned to" msgstr "" -#: models.py:294 templates/helpdesk/dashboard.html:37 -#: templates/helpdesk/dashboard.html:57 templates/helpdesk/dashboard.html:99 -#: templates/helpdesk/ticket_list.html:57 -#: templates/helpdesk/ticket_list.html:81 -#: templates/helpdesk/ticket_list.html:199 +#: models.py:299 templates/helpdesk/dashboard.html:58 +#: templates/helpdesk/dashboard.html:78 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket_list.html:70 +#: templates/helpdesk/ticket_list.html:91 +#: templates/helpdesk/ticket_list.html:225 msgid "Status" msgstr "" -#: models.py:300 +#: models.py:305 msgid "On Hold" msgstr "" -#: models.py:303 +#: models.py:308 msgid "If a ticket is on hold, it will not automatically be escalated." msgstr "" -#: models.py:308 models.py:796 templates/helpdesk/public_view_ticket.html:39 -#: templates/helpdesk/ticket_desc_table.html:67 +#: models.py:313 models.py:826 templates/helpdesk/public_view_ticket.html:41 +#: templates/helpdesk/ticket_desc_table.html:19 msgid "Description" msgstr "" -#: models.py:311 +#: models.py:316 msgid "The content of the customers query." msgstr "" -#: models.py:315 templates/helpdesk/public_view_ticket.html:46 -#: templates/helpdesk/ticket_desc_table.html:74 +#: models.py:320 templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 msgid "Resolution" msgstr "" -#: models.py:318 +#: models.py:323 msgid "The resolution provided to the customer by our staff." msgstr "" -#: models.py:326 +#: models.py:331 msgid "1 = Highest Priority, 5 = Low Priority" msgstr "" -#: models.py:339 +#: models.py:344 msgid "" "The date this ticket was last escalated - updated automatically by " "management/commands/escalate_tickets.py." msgstr "" -#: models.py:348 templates/helpdesk/ticket_desc_table.html:22 -#: views/feeds.py:91 views/feeds.py:117 views/feeds.py:169 views/staff.py:302 +#: models.py:353 templates/helpdesk/ticket_desc_table.html:38 +#: views/feeds.py:95 views/feeds.py:121 views/feeds.py:173 views/staff.py:376 msgid "Unassigned" msgstr "" -#: models.py:387 +#: models.py:392 msgid " - On Hold" msgstr "" -#: models.py:481 models.py:1073 models.py:1231 models.py:1256 -#: templates/helpdesk/public_homepage.html:26 +#: models.py:394 +msgid " - Open dependencies" +msgstr "" + +#: models.py:448 models.py:494 models.py:1117 models.py:1280 models.py:1309 +#: templates/helpdesk/public_homepage.html:78 #: templates/helpdesk/public_view_form.html:12 msgid "Ticket" msgstr "" -#: models.py:485 models.py:714 models.py:1008 models.py:1156 +#: models.py:449 templates/helpdesk/navigation.html:17 +#: templates/helpdesk/ticket_list.html:2 +#: templates/helpdesk/ticket_list.html:224 +msgid "Tickets" +msgstr "" + +#: models.py:498 models.py:738 models.py:1047 models.py:1200 msgid "Date" msgstr "" -#: models.py:497 views/staff.py:316 +#: models.py:510 views/staff.py:390 msgid "Comment" msgstr "" -#: models.py:503 +#: models.py:516 msgid "Public" msgstr "" -#: models.py:506 +#: models.py:519 msgid "" "Public tickets are viewable by the submitter and all staff, but non-public " "tickets can only be seen by staff." msgstr "" -#: models.py:514 models.py:888 models.py:1081 views/staff.py:952 -#: views/staff.py:958 views/staff.py:964 views/staff.py:970 +#: models.py:527 models.py:922 models.py:1125 views/staff.py:1008 +#: views/staff.py:1014 views/staff.py:1020 views/staff.py:1026 msgid "User" msgstr "" -#: models.py:518 templates/helpdesk/ticket.html:127 +#: models.py:531 templates/helpdesk/ticket.html:135 msgid "New Status" msgstr "" -#: models.py:522 +#: models.py:535 msgid "If the status was changed, what was it changed to?" msgstr "" -#: models.py:551 models.py:608 +#: models.py:542 models.py:566 models.py:628 msgid "Follow-up" msgstr "" -#: models.py:555 models.py:1236 +#: models.py:543 +msgid "Follow-ups" +msgstr "" + +#: models.py:570 models.py:1285 msgid "Field" msgstr "" -#: models.py:560 +#: models.py:575 msgid "Old Value" msgstr "" -#: models.py:566 +#: models.py:581 msgid "New Value" msgstr "" -#: models.py:574 +#: models.py:589 msgid "removed" msgstr "" -#: models.py:576 +#: models.py:591 #, python-format msgid "set to %s" msgstr "" -#: models.py:578 +#: models.py:593 #, python-format msgid "changed from \"%(old_value)s\" to \"%(new_value)s\"" msgstr "" -#: models.py:612 +#: models.py:600 +msgid "Ticket change" +msgstr "" + +#: models.py:601 +msgid "Ticket changes" +msgstr "" + +#: models.py:632 msgid "File" msgstr "" -#: models.py:617 +#: models.py:637 msgid "Filename" msgstr "" -#: models.py:622 +#: models.py:642 msgid "MIME Type" msgstr "" -#: models.py:627 +#: models.py:647 msgid "Size" msgstr "" -#: models.py:628 +#: models.py:648 msgid "Size of this file in bytes" msgstr "" -#: models.py:663 +#: models.py:665 +msgid "Attachment" +msgstr "" + +#: models.py:666 +msgid "Attachments" +msgstr "" + +#: models.py:685 msgid "" "Leave blank to allow this reply to be used for all queues, or select those " "queues you wish to limit this reply to." msgstr "" -#: models.py:668 models.py:709 models.py:1003 +#: models.py:690 models.py:733 models.py:1042 #: templates/helpdesk/email_ignore_list.html:13 msgid "Name" msgstr "" -#: models.py:670 +#: models.py:692 msgid "" "Only used to assist users with selecting a reply - not shown to the user." msgstr "" -#: models.py:675 +#: models.py:697 msgid "Body" msgstr "" -#: models.py:676 +#: models.py:698 msgid "" "Context available: {{ ticket }} - ticket object (eg {{ ticket.title }}); {{ " "queue }} - The queue; and {{ user }} - the current user." msgstr "" -#: models.py:703 +#: models.py:705 +msgid "Pre-set reply" +msgstr "" + +#: models.py:706 +msgid "Pre-set replies" +msgstr "" + +#: models.py:727 msgid "" "Leave blank for this exclusion to be applied to all queues, or select those " "queues you wish to exclude with this entry." msgstr "" -#: models.py:715 +#: models.py:739 msgid "Date on which escalation should not happen" msgstr "" -#: models.py:732 +#: models.py:746 +msgid "Escalation exclusion" +msgstr "" + +#: models.py:747 +msgid "Escalation exclusions" +msgstr "" + +#: models.py:760 msgid "Template Name" msgstr "" -#: models.py:737 +#: models.py:765 msgid "Subject" msgstr "" -#: models.py:739 +#: models.py:767 msgid "" "This will be prefixed with \"[ticket.ticket] ticket.title\". We recommend " "something simple such as \"(Updated\") or \"(Closed)\" - the same context is" " available as in plain_text, below." msgstr "" -#: models.py:745 +#: models.py:773 msgid "Heading" msgstr "" -#: models.py:747 +#: models.py:775 msgid "" "In HTML e-mails, this will be the heading at the top of the email - the same" " context is available as in plain_text, below." msgstr "" -#: models.py:753 +#: models.py:781 msgid "Plain Text" msgstr "" -#: models.py:754 +#: models.py:782 msgid "" "The context available to you includes {{ ticket }}, {{ queue }}, and " "depending on the time of the call: {{ resolution }} or {{ comment }}." msgstr "" -#: models.py:760 +#: models.py:788 msgid "HTML" msgstr "" -#: models.py:761 +#: models.py:789 msgid "The same context is available here as in plain_text, above." msgstr "" -#: models.py:770 +#: models.py:798 msgid "Locale of this template." msgstr "" -#: models.py:817 templates/helpdesk/kb_index.html:10 -#: templates/helpdesk/public_homepage.html:10 -msgid "Category" +#: models.py:806 +msgid "e-mail template" msgstr "" -#: models.py:826 -msgid "Question" -msgstr "" - -#: models.py:830 -msgid "Answer" +#: models.py:807 +msgid "e-mail templates" msgstr "" #: models.py:834 -msgid "Votes" +msgid "Knowledge base category" msgstr "" #: models.py:835 +msgid "Knowledge base categories" +msgstr "" + +#: models.py:849 templates/helpdesk/kb_index.html:11 +#: templates/helpdesk/public_homepage.html:11 +msgid "Category" +msgstr "" + +#: models.py:858 +msgid "Question" +msgstr "" + +#: models.py:862 +msgid "Answer" +msgstr "" + +#: models.py:866 +msgid "Votes" +msgstr "" + +#: models.py:867 msgid "Total number of votes cast for this item" msgstr "" -#: models.py:840 +#: models.py:872 msgid "Positive Votes" msgstr "" -#: models.py:841 +#: models.py:873 msgid "Number of votes for this item which were POSITIVE." msgstr "" -#: models.py:846 +#: models.py:878 msgid "Last Updated" msgstr "" -#: models.py:847 +#: models.py:879 msgid "The date on which this question was most recently changed." msgstr "" -#: models.py:861 +#: models.py:893 msgid "Unrated" msgstr "" -#: models.py:892 templates/helpdesk/ticket_list.html:158 +#: models.py:901 +msgid "Knowledge base item" +msgstr "" + +#: models.py:902 +msgid "Knowledge base items" +msgstr "" + +#: models.py:926 templates/helpdesk/ticket_list.html:170 msgid "Query Name" msgstr "" -#: models.py:894 +#: models.py:928 msgid "User-provided name for this query" msgstr "" -#: models.py:898 +#: models.py:932 msgid "Shared With Other Users?" msgstr "" -#: models.py:901 +#: models.py:935 msgid "Should other users see this query?" msgstr "" -#: models.py:905 +#: models.py:939 msgid "Search Query" msgstr "" -#: models.py:906 +#: models.py:940 msgid "Pickled query object. Be wary changing this." msgstr "" -#: models.py:927 +#: models.py:950 +msgid "Saved search" +msgstr "" + +#: models.py:951 +msgid "Saved searches" +msgstr "" + +#: models.py:966 msgid "Settings Dictionary" msgstr "" -#: models.py:928 +#: models.py:967 msgid "" "This is a base64-encoded representation of a pickled Python dictionary. Do " "not change this field via the admin." msgstr "" -#: models.py:997 +#: models.py:993 +msgid "User Setting" +msgstr "" + +#: models.py:994 templates/helpdesk/navigation.html:37 +#: templates/helpdesk/user_settings.html:6 +msgid "User Settings" +msgstr "" + +#: models.py:1036 msgid "" "Leave blank for this e-mail to be ignored on all queues, or select those " "queues you wish to ignore this e-mail for." msgstr "" -#: models.py:1009 +#: models.py:1048 msgid "Date on which this e-mail address was added" msgstr "" -#: models.py:1017 +#: models.py:1056 msgid "" "Enter a full e-mail address, or portions with wildcards, eg *@domain.com or " "postmaster@*." msgstr "" -#: models.py:1022 +#: models.py:1061 msgid "Save Emails in Mailbox?" msgstr "" -#: models.py:1025 +#: models.py:1064 msgid "" "Do you want to save emails from this address in the mailbox? If this is " "unticked, emails from this address will be deleted." msgstr "" -#: models.py:1080 +#: models.py:1101 +msgid "Ignored e-mail address" +msgstr "" + +#: models.py:1102 +msgid "Ignored e-mail addresses" +msgstr "" + +#: models.py:1124 msgid "User who wishes to receive updates for this ticket." msgstr "" -#: models.py:1088 +#: models.py:1132 msgid "For non-user followers, enter their e-mail address" msgstr "" -#: models.py:1092 +#: models.py:1136 msgid "Can View Ticket?" msgstr "" -#: models.py:1094 +#: models.py:1138 msgid "Can this CC login to view the ticket details?" msgstr "" -#: models.py:1098 +#: models.py:1142 msgid "Can Update Ticket?" msgstr "" -#: models.py:1100 +#: models.py:1144 msgid "Can this CC login and update the ticket?" msgstr "" -#: models.py:1131 +#: models.py:1175 msgid "Field Name" msgstr "" -#: models.py:1132 +#: models.py:1176 msgid "" "As used in the database and behind the scenes. Must be unique and consist of" " only lowercase letters with no punctuation." msgstr "" -#: models.py:1137 +#: models.py:1181 msgid "Label" msgstr "" -#: models.py:1139 +#: models.py:1183 msgid "The display label for this field" msgstr "" -#: models.py:1143 +#: models.py:1187 msgid "Help Text" msgstr "" -#: models.py:1144 +#: models.py:1188 msgid "Shown to the user when editing the ticket" msgstr "" -#: models.py:1150 +#: models.py:1194 msgid "Character (single line)" msgstr "" -#: models.py:1151 +#: models.py:1195 msgid "Text (multi-line)" msgstr "" -#: models.py:1152 +#: models.py:1196 msgid "Integer" msgstr "" -#: models.py:1153 +#: models.py:1197 msgid "Decimal" msgstr "" -#: models.py:1154 +#: models.py:1198 msgid "List" msgstr "" -#: models.py:1155 +#: models.py:1199 msgid "Boolean (checkbox yes/no)" msgstr "" -#: models.py:1157 +#: models.py:1201 msgid "Time" msgstr "" -#: models.py:1158 +#: models.py:1202 msgid "Date & Time" msgstr "" -#: models.py:1160 +#: models.py:1204 msgid "URL" msgstr "" -#: models.py:1161 +#: models.py:1205 msgid "IP Address" msgstr "" -#: models.py:1166 +#: models.py:1210 msgid "Data Type" msgstr "" -#: models.py:1168 +#: models.py:1212 msgid "Allows you to restrict the data entered into this field" msgstr "" -#: models.py:1173 +#: models.py:1217 msgid "Maximum Length (characters)" msgstr "" -#: models.py:1179 +#: models.py:1223 msgid "Decimal Places" msgstr "" -#: models.py:1180 +#: models.py:1224 msgid "Only used for decimal fields" msgstr "" -#: models.py:1186 +#: models.py:1230 msgid "Add empty first choice to List?" msgstr "" -#: models.py:1187 +#: models.py:1232 msgid "" "Only for List: adds an empty first entry to the choices list, which enforces" " that the user makes an active choice." msgstr "" -#: models.py:1191 +#: models.py:1236 msgid "List Values" msgstr "" -#: models.py:1192 +#: models.py:1237 msgid "For list fields only. Enter one option per line." msgstr "" -#: models.py:1198 +#: models.py:1243 msgid "Ordering" msgstr "" -#: models.py:1199 +#: models.py:1244 msgid "Lower numbers are displayed first; higher numbers are listed later" msgstr "" -#: models.py:1213 +#: models.py:1258 msgid "Required?" msgstr "" -#: models.py:1214 +#: models.py:1259 msgid "Does the user have to enter a value for this field?" msgstr "" -#: models.py:1218 +#: models.py:1263 msgid "Staff Only?" msgstr "" -#: models.py:1219 +#: models.py:1264 msgid "" "If this is ticked, then the public submission form will NOT show this field" msgstr "" -#: models.py:1262 +#: models.py:1273 +msgid "Custom field" +msgstr "" + +#: models.py:1274 +msgid "Custom fields" +msgstr "" + +#: models.py:1297 +msgid "Ticket custom field value" +msgstr "" + +#: models.py:1298 +msgid "Ticket custom field values" +msgstr "" + +#: models.py:1315 msgid "Depends On Ticket" msgstr "" -#: management/commands/create_usersettings.py:21 +#: models.py:1324 +msgid "Ticket dependency" +msgstr "" + +#: models.py:1325 +msgid "Ticket dependencies" +msgstr "" + +#: management/commands/create_usersettings.py:25 msgid "" "Check for user without django-helpdesk UserSettings and create settings if " "required. Uses settings.DEFAULT_USER_SETTINGS which can be overridden to " "suit your situation." msgstr "" -#: management/commands/escalate_tickets.py:143 +#: management/commands/escalate_tickets.py:148 #, python-format msgid "Ticket escalated after %s days" msgstr "" -#: management/commands/get_email.py:151 +#: management/commands/get_email.py:158 msgid "Created from e-mail" msgstr "" -#: management/commands/get_email.py:155 +#: management/commands/get_email.py:162 msgid "Unknown Sender" msgstr "" -#: management/commands/get_email.py:209 +#: management/commands/get_email.py:216 msgid "" "No plain-text email body available. Please see attachment " "email_html_body.html." msgstr "" -#: management/commands/get_email.py:213 +#: management/commands/get_email.py:220 msgid "email_html_body.html" msgstr "" -#: management/commands/get_email.py:256 +#: management/commands/get_email.py:263 #, python-format msgid "E-Mail Received from %(sender_email)s" msgstr "" -#: management/commands/get_email.py:264 +#: management/commands/get_email.py:271 #, python-format msgid "Ticket Re-Opened by E-Mail Received from %(sender_email)s" msgstr "" -#: management/commands/get_email.py:322 +#: management/commands/get_email.py:329 msgid " (Reopened)" msgstr "" -#: management/commands/get_email.py:324 +#: management/commands/get_email.py:331 msgid " (Updated)" msgstr "" #: templates/helpdesk/attribution.html:2 msgid "" -"Powered by django-" -"helpdesk." +"django-helpdesk." msgstr "" -#: templates/helpdesk/attribution.html:4 -msgid "For technical support please contact:" -msgstr "" - -#: templates/helpdesk/base.html:9 +#: templates/helpdesk/base.html:10 msgid "Powered by django-helpdesk" msgstr "" -#: templates/helpdesk/base.html:19 templates/helpdesk/rss_list.html:9 -#: templates/helpdesk/rss_list.html:23 templates/helpdesk/rss_list.html:28 +#: templates/helpdesk/base.html:20 templates/helpdesk/rss_list.html:9 +#: templates/helpdesk/rss_list.html:24 templates/helpdesk/rss_list.html:31 msgid "My Open Tickets" msgstr "" -#: templates/helpdesk/base.html:20 +#: templates/helpdesk/base.html:21 msgid "All Recent Activity" msgstr "" -#: templates/helpdesk/base.html:21 templates/helpdesk/dashboard.html:76 +#: templates/helpdesk/base.html:22 templates/helpdesk/dashboard.html:99 #: templates/helpdesk/rss_list.html:15 msgid "Unassigned Tickets" msgstr "" -#: templates/helpdesk/base.html:101 templates/helpdesk/public_base.html:6 -#: templates/helpdesk/public_base.html:14 +#: templates/helpdesk/base.html:52 templates/helpdesk/public_base.html:6 +#: templates/helpdesk/public_base.html:18 msgid "Helpdesk" msgstr "" -#: templates/helpdesk/base.html:111 templates/helpdesk/rss_list.html:9 +#: templates/helpdesk/base.html:62 templates/helpdesk/rss_list.html:9 #: templates/helpdesk/rss_list.html:12 templates/helpdesk/rss_list.html:15 -#: templates/helpdesk/rss_list.html:27 templates/helpdesk/rss_list.html:28 +#: templates/helpdesk/rss_list.html:30 templates/helpdesk/rss_list.html:31 msgid "RSS Icon" msgstr "" -#: templates/helpdesk/base.html:111 templates/helpdesk/rss_list.html:2 +#: templates/helpdesk/base.html:62 templates/helpdesk/rss_list.html:2 #: templates/helpdesk/rss_list.html.py:4 msgid "RSS Feeds" msgstr "" -#: templates/helpdesk/base.html:112 +#: templates/helpdesk/base.html:63 msgid "API" msgstr "" -#: templates/helpdesk/base.html:113 -msgid "User Settings" -msgstr "" - -#: templates/helpdesk/base.html:115 -msgid "Change Language" -msgstr "" - -#: templates/helpdesk/base.html:117 +#: templates/helpdesk/base.html:64 templates/helpdesk/system_settings.html:6 msgid "System Settings" msgstr "" #: templates/helpdesk/confirm_delete_saved_query.html:3 -#: templates/helpdesk/ticket_list.html:144 +#: templates/helpdesk/ticket_list.html:146 msgid "Delete Saved Query" msgstr "" -#: templates/helpdesk/confirm_delete_saved_query.html:5 +#: templates/helpdesk/confirm_delete_saved_query.html:6 +msgid "Delete Query" +msgstr "" + +#: templates/helpdesk/confirm_delete_saved_query.html:8 #, python-format msgid "" -"\n" -"

Delete Query

\n" -"\n" -"

Are you sure you want to delete this saved filter (%(query_title)s)? To re-create it, you will need to manually re-filter your ticket listing.

\n" +"Are you sure you want to delete this saved filter " +"(%(query_title)s)? To re-create it, you will need to manually re-" +"filter your ticket listing." msgstr "" #: templates/helpdesk/confirm_delete_saved_query.html:11 msgid "" -"\n" -"

You have shared this query, so other users may be using it. If you delete it, they will have to manually create their own query.

\n" +"You have shared this query, so other users may be using it. If you delete " +"it, they will have to manually create their own query." msgstr "" -#: templates/helpdesk/confirm_delete_saved_query.html:15 -#: templates/helpdesk/delete_ticket.html:11 +#: templates/helpdesk/confirm_delete_saved_query.html:14 +#: templates/helpdesk/delete_ticket.html:10 msgid "No, Don't Delete It" msgstr "" -#: templates/helpdesk/confirm_delete_saved_query.html:17 -#: templates/helpdesk/delete_ticket.html:13 +#: templates/helpdesk/confirm_delete_saved_query.html:16 +#: templates/helpdesk/delete_ticket.html:12 msgid "Yes - Delete It" msgstr "" @@ -1068,21 +1168,25 @@ msgstr "" msgid "Create Ticket" msgstr "" -#: templates/helpdesk/create_ticket.html:6 -msgid "" -"

Submit a Ticket

\n" -"\n" -"

Unless otherwise stated, all fields are required. Please provide as descriptive a title and description as possible.

" +#: templates/helpdesk/create_ticket.html:10 +#: templates/helpdesk/navigation.html:65 templates/helpdesk/navigation.html:68 +#: templates/helpdesk/public_homepage.html:27 +msgid "Submit a Ticket" msgstr "" -#: templates/helpdesk/create_ticket.html:17 -#: templates/helpdesk/edit_ticket.html:19 -#: templates/helpdesk/public_homepage.html:50 -msgid "(Optional)" +#: templates/helpdesk/create_ticket.html:11 +#: templates/helpdesk/edit_ticket.html:11 +msgid "Unless otherwise stated, all fields are required." msgstr "" -#: templates/helpdesk/create_ticket.html:26 -#: templates/helpdesk/public_homepage.html:59 +#: templates/helpdesk/create_ticket.html:11 +#: templates/helpdesk/edit_ticket.html:11 +#: templates/helpdesk/public_homepage.html:28 +msgid "Please provide as descriptive a title and description as possible." +msgstr "" + +#: templates/helpdesk/create_ticket.html:30 +#: templates/helpdesk/public_homepage.html:55 msgid "Submit Ticket" msgstr "" @@ -1090,136 +1194,176 @@ msgstr "" msgid "Helpdesk Dashboard" msgstr "" -#: templates/helpdesk/dashboard.html:10 -msgid "Helpdesk Summary" -msgstr "" - -#: templates/helpdesk/dashboard.html:25 +#: templates/helpdesk/dashboard.html:9 msgid "" "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." msgstr "" -#: templates/helpdesk/dashboard.html:27 -msgid "" -"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?" +#: templates/helpdesk/dashboard.html:14 +msgid "Helpdesk Summary" msgstr "" #: templates/helpdesk/dashboard.html:36 +msgid "Current Ticket Stats" +msgstr "" + +#: templates/helpdesk/dashboard.html:37 +msgid "Average number of days until ticket is closed (all tickets): " +msgstr "" + +#: templates/helpdesk/dashboard.html:38 +msgid "" +"Average number of days until ticket is closed (tickets opened in last 60 " +"days): " +msgstr "" + +#: templates/helpdesk/dashboard.html:39 +msgid "Click" +msgstr "" + +#: templates/helpdesk/dashboard.html:39 +msgid "for detailed average by month." +msgstr "" + +#: templates/helpdesk/dashboard.html:40 +msgid "Distribution of open tickets, grouped by time period:" +msgstr "" + +#: templates/helpdesk/dashboard.html:41 +msgid "Days since opened" +msgstr "" + +#: templates/helpdesk/dashboard.html:41 +msgid "Number of open tickets" +msgstr "" + +#: templates/helpdesk/dashboard.html:57 msgid "All Tickets submitted by you" msgstr "" -#: templates/helpdesk/dashboard.html:37 templates/helpdesk/dashboard.html:57 -#: templates/helpdesk/dashboard.html:77 templates/helpdesk/dashboard.html:99 -#: templates/helpdesk/ticket_list.html:199 +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:100 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket_list.html:225 msgid "Pr" msgstr "" -#: templates/helpdesk/dashboard.html:37 templates/helpdesk/dashboard.html:57 -#: templates/helpdesk/dashboard.html:99 +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:124 msgid "Last Update" msgstr "" -#: templates/helpdesk/dashboard.html:56 +#: templates/helpdesk/dashboard.html:77 msgid "Open Tickets assigned to you (you are working on this ticket)" msgstr "" -#: templates/helpdesk/dashboard.html:69 +#: templates/helpdesk/dashboard.html:92 msgid "You have no tickets assigned to you." msgstr "" -#: templates/helpdesk/dashboard.html:76 +#: templates/helpdesk/dashboard.html:99 msgid "(pick up a ticket if you start to work on it)" msgstr "" -#: templates/helpdesk/dashboard.html:85 -#: templates/helpdesk/ticket_desc_table.html:22 +#: templates/helpdesk/dashboard.html:110 +#: templates/helpdesk/ticket_desc_table.html:38 msgid "Take" msgstr "" -#: templates/helpdesk/dashboard.html:85 +#: templates/helpdesk/dashboard.html:110 #: templates/helpdesk/email_ignore_list.html:13 #: templates/helpdesk/email_ignore_list.html:23 #: templates/helpdesk/ticket_cc_list.html:15 #: templates/helpdesk/ticket_cc_list.html:23 -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Delete" msgstr "" -#: templates/helpdesk/dashboard.html:89 +#: templates/helpdesk/dashboard.html:114 msgid "There are no unassigned tickets." msgstr "" -#: templates/helpdesk/dashboard.html:98 +#: templates/helpdesk/dashboard.html:123 msgid "Closed & resolved Tickets you used to work on" msgstr "" #: templates/helpdesk/delete_ticket.html:3 +#: templates/helpdesk/delete_ticket.html:6 msgid "Delete Ticket" msgstr "" -#: templates/helpdesk/delete_ticket.html:5 +#: templates/helpdesk/delete_ticket.html:8 #, python-format msgid "" -"\n" -"

Delete Ticket

\n" -"\n" -"

Are you sure you want to delete this ticket (%(ticket_title)s)? All traces of the ticket, including followups, attachments, and updates will be irreversably removed.

\n" +"Are you sure you want to delete this ticket (%(ticket_title)s)? All" +" traces of the ticket, including followups, attachments, and updates will be" +" irreversibly removed." msgstr "" #: templates/helpdesk/edit_ticket.html:3 msgid "Edit Ticket" msgstr "" -#: templates/helpdesk/edit_ticket.html:6 -msgid "" -"

Edit a Ticket

\n" -"\n" -"

Unless otherwise stated, all fields are required. Please provide as descriptive a title and description as possible.

\n" -"\n" -"

Note: Editing a ticket does not send an e-mail to the ticket owner or submitter. No new details should be entered, this form should only be used to fix incorrect details or clean up the submission.

" +#: templates/helpdesk/edit_ticket.html:9 +msgid "Edit a Ticket" msgstr "" -#: templates/helpdesk/edit_ticket.html:28 +#: templates/helpdesk/edit_ticket.html:13 +msgid "Note" +msgstr "" + +#: templates/helpdesk/edit_ticket.html:13 +msgid "" +"Editing a ticket does not send an e-mail to the ticket owner or " +"submitter. No new details should be entered, this form should only be used " +"to fix incorrect details or clean up the submission." +msgstr "" + +#: templates/helpdesk/edit_ticket.html:33 msgid "Save Changes" msgstr "" #: templates/helpdesk/email_ignore_add.html:3 +#: templates/helpdesk/email_ignore_add.html:6 #: templates/helpdesk/email_ignore_add.html:23 msgid "Ignore E-Mail Address" msgstr "" -#: templates/helpdesk/email_ignore_add.html:5 +#: templates/helpdesk/email_ignore_add.html:8 msgid "" -"\n" -"

Ignore E-Mail Address

\n" -"\n" -"

To ignore an e-mail address and prevent any emails from that address creating tickets automatically, enter the e-mail address below.

\n" -"\n" -"

You can either enter a whole e-mail address such as email@domain.com or a portion of an e-mail address with a wildcard, such as *@domain.com or user@*.

" +"To ignore an e-mail address and prevent any emails from that address " +"creating tickets automatically, enter the e-mail address below." +msgstr "" + +#: templates/helpdesk/email_ignore_add.html:10 +msgid "" +"You can either enter a whole e-mail address such as " +"email@domain.com or a portion of an e-mail address with a wildcard," +" such as *@domain.com or user@*." msgstr "" #: templates/helpdesk/email_ignore_del.html:3 msgid "Delete Ignored E-Mail Address" msgstr "" -#: templates/helpdesk/email_ignore_del.html:5 -#, python-format -msgid "" -"\n" -"

Un-Ignore E-Mail Address

\n" -"\n" -"

Are you sure you wish to stop removing this email address (%(email_address)s) and allow their e-mails to automatically create tickets in your system? You can re-add this e-mail address at any time.

\n" +#: templates/helpdesk/email_ignore_del.html:6 +msgid "Un-Ignore E-Mail Address" msgstr "" -#: templates/helpdesk/email_ignore_del.html:11 +#: templates/helpdesk/email_ignore_del.html:8 +#, python-format +msgid "" +"Are you sure you wish to stop removing this email address " +"(%(email_address)s) and allow their e-mails to automatically create" +" tickets in your system? You can re-add this e-mail address at any time." +msgstr "" + +#: templates/helpdesk/email_ignore_del.html:10 msgid "Keep Ignoring It" msgstr "" -#: templates/helpdesk/email_ignore_del.html:13 +#: templates/helpdesk/email_ignore_del.html:12 msgid "Stop Ignoring It" msgstr "" @@ -1240,16 +1384,12 @@ msgstr "" msgid "Date Added" msgstr "" -#: templates/helpdesk/email_ignore_list.html:13 -msgid "Queues" -msgstr "" - #: templates/helpdesk/email_ignore_list.html:13 msgid "Keep in mailbox?" msgstr "" #: templates/helpdesk/email_ignore_list.html:21 -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "All" msgstr "" @@ -1284,7 +1424,7 @@ msgid "Comment:" msgstr "" #: templates/helpdesk/kb_category.html:4 -#: templates/helpdesk/kb_category.html:11 +#: templates/helpdesk/kb_category.html:12 #, python-format msgid "Knowledgebase Category: %(kbcat)s" msgstr "" @@ -1294,12 +1434,12 @@ msgstr "" msgid "You are viewing all items in the %(kbcat)s category." msgstr "" -#: templates/helpdesk/kb_category.html:12 +#: templates/helpdesk/kb_category.html:13 msgid "Article" msgstr "" -#: templates/helpdesk/kb_index.html:4 templates/helpdesk/navigation.html:11 -#: templates/helpdesk/navigation.html:33 +#: templates/helpdesk/kb_index.html:4 templates/helpdesk/navigation.html:21 +#: templates/helpdesk/navigation.html:71 msgid "Knowledgebase" msgstr "" @@ -1310,8 +1450,8 @@ msgid "" "your problem prior to opening a support ticket." msgstr "" -#: templates/helpdesk/kb_index.html:9 -#: templates/helpdesk/public_homepage.html:9 +#: templates/helpdesk/kb_index.html:10 +#: templates/helpdesk/public_homepage.html:10 msgid "Knowledgebase Categories" msgstr "" @@ -1320,7 +1460,7 @@ msgstr "" msgid "Knowledgebase: %(item)s" msgstr "" -#: templates/helpdesk/kb_item.html:13 +#: templates/helpdesk/kb_item.html:16 #, python-format msgid "" "View other %(category_title)s " @@ -1328,88 +1468,82 @@ msgid "" "articles." msgstr "" -#: templates/helpdesk/kb_item.html:15 +#: templates/helpdesk/kb_item.html:18 msgid "Feedback" msgstr "" -#: templates/helpdesk/kb_item.html:17 +#: templates/helpdesk/kb_item.html:20 msgid "" "We give our users an opportunity to vote for items that they believe have " "helped them out, in order for us to better serve future customers. We would " "appreciate your feedback on this article. Did you find it useful?" msgstr "" -#: templates/helpdesk/kb_item.html:20 +#: templates/helpdesk/kb_item.html:23 msgid "This article was useful to me" msgstr "" -#: templates/helpdesk/kb_item.html:21 +#: templates/helpdesk/kb_item.html:24 msgid "This article was not useful to me" msgstr "" -#: templates/helpdesk/kb_item.html:24 +#: templates/helpdesk/kb_item.html:27 msgid "The results of voting by other readers of this article are below:" msgstr "" -#: templates/helpdesk/kb_item.html:27 +#: templates/helpdesk/kb_item.html:30 #, python-format msgid "Recommendations: %(recommendations)s" msgstr "" -#: templates/helpdesk/kb_item.html:28 +#: templates/helpdesk/kb_item.html:31 #, python-format msgid "Votes: %(votes)s" msgstr "" -#: templates/helpdesk/kb_item.html:29 +#: templates/helpdesk/kb_item.html:32 #, python-format msgid "Overall Rating: %(score)s" msgstr "" -#: templates/helpdesk/navigation.html:4 +#: templates/helpdesk/navigation.html:16 templates/helpdesk/navigation.html:64 msgid "Dashboard" msgstr "" -#: templates/helpdesk/navigation.html:5 -#: templates/helpdesk/ticket_list.html:198 -msgid "Tickets" -msgstr "" - -#: templates/helpdesk/navigation.html:6 +#: templates/helpdesk/navigation.html:18 msgid "New Ticket" msgstr "" -#: templates/helpdesk/navigation.html:8 +#: templates/helpdesk/navigation.html:19 msgid "Stats" msgstr "" -#: templates/helpdesk/navigation.html:14 -#: templates/helpdesk/ticket_list.html:46 -msgid "Load Saved Query" +#: templates/helpdesk/navigation.html:24 +msgid "Saved Query" msgstr "" -#: templates/helpdesk/navigation.html:25 templates/helpdesk/navigation.html:35 -msgid "Logout" +#: templates/helpdesk/navigation.html:39 +msgid "Change password" msgstr "" -#: templates/helpdesk/navigation.html:26 +#: templates/helpdesk/navigation.html:50 msgid "Search..." msgstr "" -#: templates/helpdesk/navigation.html:26 +#: templates/helpdesk/navigation.html:50 msgid "Enter a keyword, or a ticket number to jump straight to that ticket." msgstr "" -#: templates/helpdesk/navigation.html:31 -msgid "Submit A Ticket" +#: templates/helpdesk/navigation.html:73 +msgid "Logout" msgstr "" -#: templates/helpdesk/navigation.html:35 +#: templates/helpdesk/navigation.html:73 msgid "Log In" msgstr "" #: templates/helpdesk/public_change_language.html:2 -#: templates/helpdesk/public_homepage.html:21 +#: templates/helpdesk/public_homepage.html:73 #: templates/helpdesk/public_view_form.html:4 #: templates/helpdesk/public_view_ticket.html:2 msgid "View a Ticket" @@ -1423,74 +1557,81 @@ msgstr "" msgid "Knowledgebase Articles" msgstr "" -#: templates/helpdesk/public_homepage.html:29 +#: templates/helpdesk/public_homepage.html:28 +msgid "All fields are required." +msgstr "" + +#: templates/helpdesk/public_homepage.html:66 +msgid "Please use button at upper right to login first." +msgstr "" + +#: templates/helpdesk/public_homepage.html:82 #: templates/helpdesk/public_view_form.html:15 msgid "Your E-mail Address" msgstr "" -#: templates/helpdesk/public_homepage.html:33 +#: templates/helpdesk/public_homepage.html:86 #: templates/helpdesk/public_view_form.html:19 msgid "View Ticket" msgstr "" -#: templates/helpdesk/public_homepage.html:39 -msgid "Submit a Ticket" -msgstr "" - -#: templates/helpdesk/public_homepage.html:41 -msgid "" -"All fields are required. Please provide as descriptive a title and " -"description as possible." -msgstr "" - -#: templates/helpdesk/public_homepage.html:67 -msgid "Please use button at upper right to login first." -msgstr "" - #: templates/helpdesk/public_spam.html:4 msgid "Unable To Open Ticket" msgstr "" +#: templates/helpdesk/public_spam.html:5 +msgid "Sorry, but there has been an error trying to submit your ticket." +msgstr "" + #: templates/helpdesk/public_spam.html:6 msgid "" -"

Sorry, but there has been an error trying to submit your ticket.

\n" -"\n" -"

Our system has marked your submission as spam, so we are unable to save it. If this is not spam, please press back and re-type your message. Be careful to avoid sounding 'spammy', and if you have heaps of links please try removing them if possible.

\n" -"\n" -"

We are sorry for any inconvenience, however this check is required to avoid our helpdesk resources being overloaded by spammers.

\n" +"Our system has marked your submission as spam, so we are " +"unable to save it. If this is not spam, please press back and re-type your " +"message. Be careful to avoid sounding 'spammy', and if you have heaps of " +"links please try removing them if possible." +msgstr "" + +#: templates/helpdesk/public_spam.html:7 +msgid "" +"We are sorry for any inconvenience, however this check is required to avoid " +"our helpdesk resources being overloaded by spammers." msgstr "" #: templates/helpdesk/public_view_form.html:8 msgid "Error:" msgstr "" -#: templates/helpdesk/public_view_ticket.html:8 +#: templates/helpdesk/public_view_ticket.html:9 #, python-format msgid "Queue: %(queue_name)s" msgstr "" -#: templates/helpdesk/public_view_ticket.html:11 -#: templates/helpdesk/ticket_desc_table.html:16 +#: templates/helpdesk/public_view_ticket.html:13 +#: templates/helpdesk/ticket_desc_table.html:32 msgid "Submitted On" msgstr "" -#: templates/helpdesk/public_view_ticket.html:46 -#: templates/helpdesk/ticket_desc_table.html:74 +#: templates/helpdesk/public_view_ticket.html:35 +msgid "Tags" +msgstr "" + +#: templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 msgid "Accept" msgstr "" -#: templates/helpdesk/public_view_ticket.html:46 -#: templates/helpdesk/ticket_desc_table.html:74 +#: templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 msgid "Accept and Close" msgstr "" -#: templates/helpdesk/public_view_ticket.html:55 -#: templates/helpdesk/ticket.html:64 +#: templates/helpdesk/public_view_ticket.html:57 +#: templates/helpdesk/ticket.html:66 msgid "Follow-Ups" msgstr "" -#: templates/helpdesk/public_view_ticket.html:63 -#: templates/helpdesk/ticket.html:92 +#: templates/helpdesk/public_view_ticket.html:65 +#: templates/helpdesk/ticket.html:100 #, python-format msgid "Changed %(field)s from %(old_value)s to %(new_value)s." msgstr "" @@ -1533,6 +1674,10 @@ msgstr "" msgid "Reports By Queue" msgstr "" +#: templates/helpdesk/report_index.html:27 views/staff.py:1049 +msgid "Days until ticket closed by Month" +msgstr "" + #: templates/helpdesk/report_output.html:19 msgid "" "You can run this query on filtered data by using one of your saved queries." @@ -1590,15 +1735,15 @@ msgid "" "new tickets coming into that queue." msgstr "" -#: templates/helpdesk/rss_list.html:22 +#: templates/helpdesk/rss_list.html:23 msgid "Per-Queue Feeds" msgstr "" -#: templates/helpdesk/rss_list.html:23 +#: templates/helpdesk/rss_list.html:24 msgid "All Open Tickets" msgstr "" -#: templates/helpdesk/rss_list.html:27 +#: templates/helpdesk/rss_list.html:30 msgid "Open Tickets" msgstr "" @@ -1606,12 +1751,8 @@ msgstr "" msgid "Change System Settings" msgstr "" -#: templates/helpdesk/system_settings.html:5 -msgid "" -"\n" -"

System Settings

\n" -"\n" -"

The following items can be maintained by you or other superusers:

" +#: templates/helpdesk/system_settings.html:8 +msgid "The following items can be maintained by you or other superusers:" msgstr "" #: templates/helpdesk/system_settings.html:11 @@ -1650,77 +1791,81 @@ msgstr "" msgid "Attach another File" msgstr "" -#: templates/helpdesk/ticket.html:34 templates/helpdesk/ticket.html.py:197 +#: templates/helpdesk/ticket.html:34 templates/helpdesk/ticket.html.py:200 msgid "Add Another File" msgstr "" -#: templates/helpdesk/ticket.html:71 templates/helpdesk/ticket.html.py:81 +#: templates/helpdesk/ticket.html:73 templates/helpdesk/ticket.html.py:86 msgid "Private" msgstr "" -#: templates/helpdesk/ticket.html:111 +#: templates/helpdesk/ticket.html:119 msgid "Respond to this ticket" msgstr "" -#: templates/helpdesk/ticket.html:118 +#: templates/helpdesk/ticket.html:126 msgid "Use a Pre-set Reply" msgstr "" -#: templates/helpdesk/ticket.html:120 +#: templates/helpdesk/ticket.html:126 templates/helpdesk/ticket.html.py:166 +msgid "(Optional)" +msgstr "" + +#: templates/helpdesk/ticket.html:128 msgid "" "Selecting a pre-set reply will over-write your comment below. You can then " "modify the pre-set reply to your liking before saving this update." msgstr "" -#: templates/helpdesk/ticket.html:123 +#: templates/helpdesk/ticket.html:131 msgid "Comment / Resolution" msgstr "" -#: templates/helpdesk/ticket.html:125 +#: templates/helpdesk/ticket.html:133 msgid "" "You can insert ticket and queue details in your message. For more " "information, see the context help page." msgstr "" -#: templates/helpdesk/ticket.html:128 +#: templates/helpdesk/ticket.html:136 msgid "" "This ticket cannot be resolved or closed until the tickets it depends on are" " resolved." msgstr "" -#: templates/helpdesk/ticket.html:158 +#: templates/helpdesk/ticket.html:166 msgid "Is this update public?" msgstr "" -#: templates/helpdesk/ticket.html:160 +#: templates/helpdesk/ticket.html:168 msgid "" "If this is public, the submitter will be e-mailed your comment or " "resolution." msgstr "" -#: templates/helpdesk/ticket.html:164 +#: templates/helpdesk/ticket.html:172 msgid "Change Further Details »" msgstr "" -#: templates/helpdesk/ticket.html:173 templates/helpdesk/ticket_list.html:55 -#: templates/helpdesk/ticket_list.html:87 -#: templates/helpdesk/ticket_list.html:199 +#: templates/helpdesk/ticket.html:181 templates/helpdesk/ticket_list.html:68 +#: templates/helpdesk/ticket_list.html:97 +#: templates/helpdesk/ticket_list.html:225 msgid "Owner" msgstr "" -#: templates/helpdesk/ticket.html:174 +#: templates/helpdesk/ticket.html:182 msgid "Unassign" msgstr "" -#: templates/helpdesk/ticket.html:190 +#: templates/helpdesk/ticket.html:193 msgid "Attach File(s) »" msgstr "" -#: templates/helpdesk/ticket.html:196 +#: templates/helpdesk/ticket.html:199 msgid "Attach a File" msgstr "" -#: templates/helpdesk/ticket.html:204 +#: templates/helpdesk/ticket.html:207 msgid "Update This Ticket" msgstr "" @@ -1823,263 +1968,256 @@ msgid "" "

Are you sure you wish to remove the dependency on this ticket?

\n" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:11 +#: templates/helpdesk/ticket_desc_table.html:7 msgid "Unhold" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:11 +#: templates/helpdesk/ticket_desc_table.html:7 msgid "Hold" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:13 +#: templates/helpdesk/ticket_desc_table.html:9 #, python-format msgid "Queue: %(queue)s" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:21 +#: templates/helpdesk/ticket_desc_table.html:37 msgid "Assigned To" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:27 +#: templates/helpdesk/ticket_desc_table.html:43 msgid "Ignore" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:36 +#: templates/helpdesk/ticket_desc_table.html:52 msgid "Copies To" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:37 +#: templates/helpdesk/ticket_desc_table.html:53 msgid "Manage" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:37 +#: templates/helpdesk/ticket_desc_table.html:53 msgid "" "Click here to add / remove people who should receive an e-mail whenever this" " ticket is updated." msgstr "" -#: templates/helpdesk/ticket_desc_table.html:48 +#: templates/helpdesk/ticket_desc_table.html:53 +msgid "Subscribe" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:53 +msgid "" +"Click here to subscribe yourself to this ticket, if you want to receive an " +"e-mail whenever this ticket is updated." +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:57 msgid "Dependencies" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:50 +#: templates/helpdesk/ticket_desc_table.html:59 msgid "" "This ticket cannot be resolved until the following ticket(s) are resolved" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:51 +#: templates/helpdesk/ticket_desc_table.html:60 msgid "Remove Dependency" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:54 +#: templates/helpdesk/ticket_desc_table.html:63 msgid "This ticket has no dependencies." msgstr "" -#: templates/helpdesk/ticket_desc_table.html:56 +#: templates/helpdesk/ticket_desc_table.html:65 msgid "Add Dependency" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:56 +#: templates/helpdesk/ticket_desc_table.html:65 msgid "" "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." msgstr "" -#: templates/helpdesk/ticket_list.html:2 -msgid "Ticket Listing" -msgstr "" - -#: templates/helpdesk/ticket_list.html:41 -msgid "Query Options" -msgstr "" - -#: templates/helpdesk/ticket_list.html:43 -msgid "Save This Query" -msgstr "" - -#: templates/helpdesk/ticket_list.html:51 +#: templates/helpdesk/ticket_list.html:59 msgid "Change Query" msgstr "" -#: templates/helpdesk/ticket_list.html:54 -#: templates/helpdesk/ticket_list.html:69 +#: templates/helpdesk/ticket_list.html:67 +#: templates/helpdesk/ticket_list.html:79 msgid "Sorting" msgstr "" -#: templates/helpdesk/ticket_list.html:58 -#: templates/helpdesk/ticket_list.html:137 +#: templates/helpdesk/ticket_list.html:71 +#: templates/helpdesk/ticket_list.html:139 msgid "Keywords" msgstr "" -#: templates/helpdesk/ticket_list.html:59 +#: templates/helpdesk/ticket_list.html:72 msgid "Date Range" msgstr "" -#: templates/helpdesk/ticket_list.html:90 +#: templates/helpdesk/ticket_list.html:100 msgid "Reverse" msgstr "" -#: templates/helpdesk/ticket_list.html:92 +#: templates/helpdesk/ticket_list.html:102 msgid "Ordering applied to tickets" msgstr "" -#: templates/helpdesk/ticket_list.html:97 +#: templates/helpdesk/ticket_list.html:107 msgid "Owner(s)" msgstr "" -#: templates/helpdesk/ticket_list.html:101 +#: templates/helpdesk/ticket_list.html:111 msgid "(ME)" msgstr "" -#: templates/helpdesk/ticket_list.html:105 +#: templates/helpdesk/ticket_list.html:115 msgid "Ctrl-Click to select multiple options" msgstr "" -#: templates/helpdesk/ticket_list.html:110 +#: templates/helpdesk/ticket_list.html:120 msgid "Queue(s)" msgstr "" -#: templates/helpdesk/ticket_list.html:111 -#: templates/helpdesk/ticket_list.html:117 -#: templates/helpdesk/ticket_list.html:131 +#: templates/helpdesk/ticket_list.html:121 +#: templates/helpdesk/ticket_list.html:127 msgid "Ctrl-click to select multiple options" msgstr "" -#: templates/helpdesk/ticket_list.html:116 +#: templates/helpdesk/ticket_list.html:126 msgid "Status(es)" msgstr "" -#: templates/helpdesk/ticket_list.html:122 +#: templates/helpdesk/ticket_list.html:132 msgid "Date (From)" msgstr "" -#: templates/helpdesk/ticket_list.html:123 +#: templates/helpdesk/ticket_list.html:133 msgid "Date (To)" msgstr "" -#: templates/helpdesk/ticket_list.html:124 +#: templates/helpdesk/ticket_list.html:134 msgid "Use YYYY-MM-DD date format, eg 2011-05-29" msgstr "" -#: templates/helpdesk/ticket_list.html:130 -msgid "Tag(s)" -msgstr "" - -#: templates/helpdesk/ticket_list.html:138 +#: templates/helpdesk/ticket_list.html:140 msgid "" "Keywords are case-insensitive, and will be looked for in the title, body and" " submitter fields." msgstr "" -#: templates/helpdesk/ticket_list.html:142 +#: templates/helpdesk/ticket_list.html:144 msgid "Apply Filter" msgstr "" -#: templates/helpdesk/ticket_list.html:144 +#: templates/helpdesk/ticket_list.html:146 #, python-format -msgid "You are currently viewing saved query %(query_name)s." +msgid "You are currently viewing saved query \"%(query_name)s\"." msgstr "" -#: templates/helpdesk/ticket_list.html:147 +#: templates/helpdesk/ticket_list.html:149 #, python-format msgid "" "Run a report on this " "query to see stats and charts for the data listed below." msgstr "" -#: templates/helpdesk/ticket_list.html:154 -#: templates/helpdesk/ticket_list.html:169 +#: templates/helpdesk/ticket_list.html:162 +#: templates/helpdesk/ticket_list.html:181 msgid "Save Query" msgstr "" -#: templates/helpdesk/ticket_list.html:160 +#: templates/helpdesk/ticket_list.html:172 msgid "" "This name appears in the drop-down list of saved queries. If you share your " "query, other users will see this name, so choose something clear and " "descriptive!" msgstr "" -#: templates/helpdesk/ticket_list.html:162 +#: templates/helpdesk/ticket_list.html:174 msgid "Shared?" msgstr "" -#: templates/helpdesk/ticket_list.html:163 +#: templates/helpdesk/ticket_list.html:175 msgid "Yes, share this query with other users." msgstr "" -#: templates/helpdesk/ticket_list.html:164 +#: templates/helpdesk/ticket_list.html:176 msgid "" "If you share this query, it will be visible by all other logged-in " "users." msgstr "" -#: templates/helpdesk/ticket_list.html:176 +#: templates/helpdesk/ticket_list.html:195 msgid "Use Saved Query" msgstr "" -#: templates/helpdesk/ticket_list.html:178 +#: templates/helpdesk/ticket_list.html:202 msgid "Query" msgstr "" -#: templates/helpdesk/ticket_list.html:183 +#: templates/helpdesk/ticket_list.html:207 msgid "Run Query" msgstr "" -#: templates/helpdesk/ticket_list.html:213 +#: templates/helpdesk/ticket_list.html:240 msgid "No Tickets Match Your Selection" msgstr "" -#: templates/helpdesk/ticket_list.html:219 +#: templates/helpdesk/ticket_list.html:247 msgid "Previous" msgstr "" -#: templates/helpdesk/ticket_list.html:223 +#: templates/helpdesk/ticket_list.html:251 #, python-format msgid "Page %(ticket_num)s of %(num_pages)s." msgstr "" -#: templates/helpdesk/ticket_list.html:227 +#: templates/helpdesk/ticket_list.html:255 msgid "Next" msgstr "" -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "Select:" msgstr "" -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "None" msgstr "" -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "Inverse" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "With Selected Tickets:" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Take (Assign to me)" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Close" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Close (Don't Send E-Mail)" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Close (Send E-Mail)" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Assign To" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Nobody (Unassign)" msgstr "" @@ -2087,15 +2225,13 @@ msgstr "" msgid "Change User Settings" msgstr "" -#: templates/helpdesk/user_settings.html:14 +#: templates/helpdesk/user_settings.html:8 msgid "" -"\n" -"

User Settings

\n" -"\n" -"

Use the following options to change the way your helpdesk system works for you. These settings do not impact any other user.

\n" +"Use the following options to change the way your helpdesk system works for " +"you. These settings do not impact any other user." msgstr "" -#: templates/helpdesk/user_settings.html:29 +#: templates/helpdesk/user_settings.html:14 msgid "Save Options" msgstr "" @@ -2116,116 +2252,101 @@ msgstr "" msgid "Helpdesk Login" msgstr "" -#: templates/helpdesk/registration/login.html:9 -#: templates/helpdesk/registration/login.html:21 -msgid "Login" -msgstr "" - -#: templates/helpdesk/registration/login.html:11 -msgid "" -"To log in and begin responding to cases, simply enter your username and " -"password below." -msgstr "" - #: templates/helpdesk/registration/login.html:14 +msgid "To log in simply enter your username and password below." +msgstr "" + +#: templates/helpdesk/registration/login.html:17 msgid "Your username and password didn't match. Please try again." msgstr "" -#: templates/helpdesk/registration/login.html:16 -msgid "Username" +#: templates/helpdesk/registration/login.html:20 +msgid "Login" msgstr "" -#: templates/helpdesk/registration/login.html:18 -msgid "Password" -msgstr "" - -#: views/feeds.py:35 +#: views/feeds.py:39 #, python-format msgid "Helpdesk: Open Tickets in queue %(queue)s for %(username)s" msgstr "" -#: views/feeds.py:40 +#: views/feeds.py:44 #, python-format msgid "Helpdesk: Open Tickets for %(username)s" msgstr "" -#: views/feeds.py:46 +#: views/feeds.py:50 #, python-format msgid "Open and Reopened Tickets in queue %(queue)s for %(username)s" msgstr "" -#: views/feeds.py:51 +#: views/feeds.py:55 #, python-format msgid "Open and Reopened Tickets for %(username)s" msgstr "" -#: views/feeds.py:98 +#: views/feeds.py:102 msgid "Helpdesk: Unassigned Tickets" msgstr "" -#: views/feeds.py:99 +#: views/feeds.py:103 msgid "Unassigned Open and Reopened tickets" msgstr "" -#: views/feeds.py:124 +#: views/feeds.py:128 msgid "Helpdesk: Recent Followups" msgstr "" -#: views/feeds.py:125 +#: views/feeds.py:129 msgid "" "Recent FollowUps, such as e-mail replies, comments, attachments and " "resolutions" msgstr "" -#: views/feeds.py:140 +#: views/feeds.py:144 #, python-format msgid "Helpdesk: Open Tickets in queue %(queue)s" msgstr "" -#: views/feeds.py:145 +#: views/feeds.py:149 #, python-format msgid "Open and Reopened Tickets in queue %(queue)s" msgstr "" -#: views/public.py:91 +#: views/public.py:89 msgid "Invalid ticket ID or e-mail address. Please try again." msgstr "" -#: views/public.py:109 +#: views/public.py:107 msgid "Submitter accepted resolution and closed ticket" msgstr "" -#: views/staff.py:218 +#: views/staff.py:235 msgid "Accepted resolution and closed ticket" msgstr "" -#: views/staff.py:246 -msgid "Sorry, you need to login to do that." -msgstr "" - -#: views/staff.py:295 +#: views/staff.py:369 #, python-format msgid "Assigned to %(username)s" msgstr "" -#: views/staff.py:318 +#: views/staff.py:392 msgid "Updated" msgstr "" -#: views/staff.py:496 +#: views/staff.py:577 #, python-format msgid "Assigned to %(username)s in bulk update" msgstr "" -#: views/staff.py:501 +#: views/staff.py:582 msgid "Unassigned in bulk update" msgstr "" -#: views/staff.py:506 views/staff.py:511 +#: views/staff.py:587 views/staff.py:592 msgid "Closed in bulk update" msgstr "" -#: views/staff.py:732 +#: views/staff.py:806 msgid "" "

Note: Your keyword search is case sensitive because of " "your database. This means the search will not be accurate. " @@ -2235,86 +2356,38 @@ msgid "" "matching\">Django Documentation on string matching in SQLite." msgstr "" -#: views/staff.py:843 +#: views/staff.py:910 msgid "Ticket taken off hold" msgstr "" -#: views/staff.py:846 +#: views/staff.py:913 msgid "Ticket placed on hold" msgstr "" -#: views/staff.py:914 -msgid "Jan" -msgstr "" - -#: views/staff.py:915 -msgid "Feb" -msgstr "" - -#: views/staff.py:916 -msgid "Mar" -msgstr "" - -#: views/staff.py:917 -msgid "Apr" -msgstr "" - -#: views/staff.py:918 -msgid "May" -msgstr "" - -#: views/staff.py:919 -msgid "Jun" -msgstr "" - -#: views/staff.py:920 -msgid "Jul" -msgstr "" - -#: views/staff.py:921 -msgid "Aug" -msgstr "" - -#: views/staff.py:922 -msgid "Sep" -msgstr "" - -#: views/staff.py:923 -msgid "Oct" -msgstr "" - -#: views/staff.py:924 -msgid "Nov" -msgstr "" - -#: views/staff.py:925 -msgid "Dec" -msgstr "" - -#: views/staff.py:951 +#: views/staff.py:1007 msgid "User by Priority" msgstr "" -#: views/staff.py:957 +#: views/staff.py:1013 msgid "User by Queue" msgstr "" -#: views/staff.py:963 +#: views/staff.py:1019 msgid "User by Status" msgstr "" -#: views/staff.py:969 +#: views/staff.py:1025 msgid "User by Month" msgstr "" -#: views/staff.py:975 +#: views/staff.py:1031 msgid "Queue by Priority" msgstr "" -#: views/staff.py:981 +#: views/staff.py:1037 msgid "Queue by Status" msgstr "" -#: views/staff.py:987 +#: views/staff.py:1043 msgid "Queue by Month" msgstr "" diff --git a/helpdesk/locale/fi/LC_MESSAGES/django.mo b/helpdesk/locale/fi/LC_MESSAGES/django.mo index 8c058bf9..bf50b01c 100644 Binary files a/helpdesk/locale/fi/LC_MESSAGES/django.mo and b/helpdesk/locale/fi/LC_MESSAGES/django.mo differ diff --git a/helpdesk/locale/fi/LC_MESSAGES/django.po b/helpdesk/locale/fi/LC_MESSAGES/django.po index d7edd1e6..952ce72b 100644 --- a/helpdesk/locale/fi/LC_MESSAGES/django.po +++ b/helpdesk/locale/fi/LC_MESSAGES/django.po @@ -3,12 +3,13 @@ # This file is distributed under the same license as the django-helpdesk package. # # Translators: +# Translators: msgid "" msgstr "" "Project-Id-Version: django-helpdesk\n" "Report-Msgid-Bugs-To: http://github.com/RossP/django-helpdesk/issues\n" -"POT-Creation-Date: 2012-08-07 20:40+1000\n" -"PO-Revision-Date: 2013-04-29 09:18+0000\n" +"POT-Creation-Date: 2014-07-26 14:14+0200\n" +"PO-Revision-Date: 2014-08-01 09:58+0000\n" "Last-Translator: Ross Poulton \n" "Language-Team: Finnish (http://www.transifex.com/projects/p/django-helpdesk/language/fi/)\n" "MIME-Version: 1.0\n" @@ -17,1050 +18,1149 @@ msgstr "" "Language: fi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: forms.py:113 forms.py:360 models.py:262 -#: templates/helpdesk/dashboard.html:11 templates/helpdesk/dashboard.html:37 -#: templates/helpdesk/dashboard.html:57 templates/helpdesk/dashboard.html:77 -#: templates/helpdesk/dashboard.html:99 templates/helpdesk/rss_list.html:23 -#: templates/helpdesk/ticket_list.html:56 -#: templates/helpdesk/ticket_list.html:78 -#: templates/helpdesk/ticket_list.html:199 views/staff.py:976 -#: views/staff.py:982 views/staff.py:988 +#: forms.py:128 forms.py:328 models.py:190 models.py:267 +#: templates/helpdesk/dashboard.html:15 templates/helpdesk/dashboard.html:58 +#: templates/helpdesk/dashboard.html:78 templates/helpdesk/dashboard.html:100 +#: templates/helpdesk/dashboard.html:124 templates/helpdesk/rss_list.html:24 +#: templates/helpdesk/ticket_list.html:69 +#: templates/helpdesk/ticket_list.html:88 +#: templates/helpdesk/ticket_list.html:225 views/staff.py:1032 +#: views/staff.py:1038 views/staff.py:1044 views/staff.py:1050 msgid "Queue" msgstr "" -#: forms.py:122 +#: forms.py:137 msgid "Summary of the problem" msgstr "" -#: forms.py:127 +#: forms.py:142 msgid "Submitter E-Mail Address" msgstr "" -#: forms.py:129 +#: forms.py:144 msgid "" "This e-mail address will receive copies of all public updates to this " "ticket." msgstr "" -#: forms.py:135 +#: forms.py:150 msgid "Description of Issue" msgstr "" -#: forms.py:142 +#: forms.py:157 msgid "Case owner" msgstr "" -#: forms.py:143 +#: forms.py:158 msgid "" "If you select an owner other than yourself, they'll be e-mailed details of " "this ticket immediately." msgstr "" -#: forms.py:151 models.py:322 management/commands/escalate_tickets.py:149 -#: templates/helpdesk/public_view_ticket.html:21 -#: templates/helpdesk/ticket.html:176 -#: templates/helpdesk/ticket_desc_table.html:31 -#: templates/helpdesk/ticket_list.html:84 views/staff.py:355 +#: forms.py:166 models.py:327 management/commands/escalate_tickets.py:154 +#: templates/helpdesk/public_view_ticket.html:23 +#: templates/helpdesk/ticket.html:184 +#: templates/helpdesk/ticket_desc_table.html:47 +#: templates/helpdesk/ticket_list.html:94 views/staff.py:429 msgid "Priority" msgstr "" -#: forms.py:152 +#: forms.py:167 msgid "Please select a priority carefully. If unsure, leave it as '3'." msgstr "" -#: forms.py:159 forms.py:397 models.py:330 templates/helpdesk/ticket.html:178 -#: views/staff.py:365 +#: forms.py:174 forms.py:365 models.py:335 templates/helpdesk/ticket.html:186 +#: views/staff.py:439 msgid "Due on" msgstr "" -#: forms.py:171 forms.py:402 +#: forms.py:186 forms.py:370 msgid "Attach File" msgstr "" -#: forms.py:172 forms.py:403 +#: forms.py:187 forms.py:371 msgid "You can attach a file such as a document or screenshot to this ticket." msgstr "" -#: forms.py:180 templates/helpdesk/public_view_ticket.html:33 -#: templates/helpdesk/ticket.html:182 -#: templates/helpdesk/ticket_desc_table.html:42 -#: templates/helpdesk/ticket_list.html:61 -#: templates/helpdesk/ticket_list.html:199 views/staff.py:376 -msgid "Tags" -msgstr "" - -#: forms.py:181 -msgid "" -"Words, separated by spaces, or phrases separated by commas. These should " -"communicate significant characteristics of this ticket" -msgstr "" - -#: forms.py:275 +#: forms.py:240 msgid "Ticket Opened" msgstr "" -#: forms.py:282 +#: forms.py:247 #, python-format msgid "Ticket Opened & Assigned to %(name)s" msgstr "" -#: forms.py:369 +#: forms.py:337 msgid "Summary of your query" msgstr "" -#: forms.py:374 +#: forms.py:342 msgid "Your E-Mail Address" msgstr "" -#: forms.py:375 +#: forms.py:343 msgid "We will e-mail you when your ticket is updated." msgstr "" -#: forms.py:380 +#: forms.py:348 msgid "Description of your issue" msgstr "" -#: forms.py:382 +#: forms.py:350 msgid "" "Please be as descriptive as possible, including any details we may need to " "address your query." msgstr "" -#: forms.py:390 +#: forms.py:358 msgid "Urgency" msgstr "" -#: forms.py:391 +#: forms.py:359 msgid "Please select a priority carefully." msgstr "" -#: forms.py:486 +#: forms.py:419 msgid "Ticket Opened Via Web" msgstr "" -#: forms.py:553 +#: forms.py:486 msgid "Show Ticket List on Login?" msgstr "" -#: forms.py:554 +#: forms.py:487 msgid "Display the ticket list upon login? Otherwise, the dashboard is shown." msgstr "" -#: forms.py:559 +#: forms.py:492 msgid "E-mail me on ticket change?" msgstr "" -#: forms.py:560 +#: forms.py:493 msgid "" "If you're the ticket owner and the ticket is changed via the web by somebody" " else, do you want to receive an e-mail?" msgstr "" -#: forms.py:565 +#: forms.py:498 msgid "E-mail me when assigned a ticket?" msgstr "" -#: forms.py:566 +#: forms.py:499 msgid "" "If you are assigned a ticket via the web, do you want to receive an e-mail?" msgstr "" -#: forms.py:571 +#: forms.py:504 msgid "E-mail me when a ticket is changed via the API?" msgstr "" -#: forms.py:572 +#: forms.py:505 msgid "If a ticket is altered by the API, do you want to receive an e-mail?" msgstr "" -#: forms.py:577 +#: forms.py:510 msgid "Number of tickets to show per page" msgstr "" -#: forms.py:578 +#: forms.py:511 msgid "How many tickets do you want to see on the Ticket List page?" msgstr "" -#: forms.py:585 +#: forms.py:518 msgid "Use my e-mail address when submitting tickets?" msgstr "" -#: forms.py:586 +#: forms.py:519 msgid "" "When you submit a ticket, do you want to automatically use your e-mail " "address as the submitter address? You can type a different e-mail address " "when entering the ticket if needed, this option only changes the default." msgstr "" -#: models.py:32 models.py:256 models.py:490 models.py:787 models.py:821 -#: templates/helpdesk/dashboard.html:37 templates/helpdesk/dashboard.html:57 -#: templates/helpdesk/dashboard.html:77 templates/helpdesk/dashboard.html:99 -#: templates/helpdesk/ticket.html:170 templates/helpdesk/ticket_list.html:75 -#: templates/helpdesk/ticket_list.html:199 views/staff.py:345 +#: models.py:35 models.py:261 models.py:503 models.py:817 models.py:853 +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:100 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket.html:178 templates/helpdesk/ticket_list.html:85 +#: templates/helpdesk/ticket_list.html:225 views/staff.py:419 msgid "Title" msgstr "" -#: models.py:37 models.py:792 models.py:1162 +#: models.py:40 models.py:822 models.py:1206 msgid "Slug" msgstr "" -#: models.py:38 +#: models.py:41 msgid "" "This slug is used when building ticket ID's. Once set, try not to change it " "or e-mailing may get messy." msgstr "" -#: models.py:43 models.py:1015 models.py:1085 models.py:1159 +#: models.py:46 models.py:1054 models.py:1129 models.py:1203 #: templates/helpdesk/email_ignore_list.html:13 #: templates/helpdesk/ticket_cc_list.html:15 msgid "E-Mail Address" msgstr "" -#: models.py:46 +#: models.py:49 msgid "" "All outgoing e-mails for this queue will use this e-mail address. If you use" " IMAP or POP3, this should be the e-mail address for that mailbox." msgstr "" -#: models.py:52 models.py:766 +#: models.py:55 models.py:794 msgid "Locale" msgstr "" -#: models.py:56 +#: models.py:59 msgid "" "Locale of this queue. All correspondence in this queue will be in this " "language." msgstr "" -#: models.py:60 +#: models.py:63 msgid "Allow Public Submission?" msgstr "" -#: models.py:63 +#: models.py:66 msgid "Should this queue be listed on the public submission form?" msgstr "" -#: models.py:68 +#: models.py:71 msgid "Allow E-Mail Submission?" msgstr "" -#: models.py:71 +#: models.py:74 msgid "Do you want to poll the e-mail box below for new tickets?" msgstr "" -#: models.py:76 +#: models.py:79 msgid "Escalation Days" msgstr "" -#: models.py:79 +#: models.py:82 msgid "" "For tickets which are not held, how often do you wish to increase their " "priority? Set to 0 for no escalation." msgstr "" -#: models.py:84 +#: models.py:87 msgid "New Ticket CC Address" msgstr "" -#: models.py:88 +#: models.py:91 msgid "" "If an e-mail address is entered here, then it will receive notification of " "all new tickets created for this queue. Enter a comma between multiple " "e-mail addresses." msgstr "" -#: models.py:94 +#: models.py:97 msgid "Updated Ticket CC Address" msgstr "" -#: models.py:98 +#: models.py:101 msgid "" "If an e-mail address is entered here, then it will receive notification of " "all activity (new tickets, closed tickets, updates, reassignments, etc) for " "this queue. Separate multiple addresses with a comma." msgstr "" -#: models.py:105 +#: models.py:108 msgid "E-Mail Box Type" msgstr "" -#: models.py:107 +#: models.py:110 msgid "POP 3" msgstr "" -#: models.py:107 +#: models.py:110 msgid "IMAP" msgstr "" -#: models.py:110 +#: models.py:113 msgid "" "E-Mail server type for creating tickets automatically from a mailbox - both " "POP3 and IMAP are supported." msgstr "" -#: models.py:115 +#: models.py:118 msgid "E-Mail Hostname" msgstr "" -#: models.py:119 +#: models.py:122 msgid "" "Your e-mail server address - either the domain name or IP address. May be " "\"localhost\"." msgstr "" -#: models.py:124 +#: models.py:127 msgid "E-Mail Port" msgstr "" -#: models.py:127 +#: models.py:130 msgid "" "Port number to use for accessing e-mail. Default for POP3 is \"110\", and " "for IMAP is \"143\". This may differ on some servers. Leave it blank to use " "the defaults." msgstr "" -#: models.py:133 +#: models.py:136 msgid "Use SSL for E-Mail?" msgstr "" -#: models.py:136 +#: models.py:139 msgid "" "Whether to use SSL for IMAP or POP3 - the default ports when using SSL are " "993 for IMAP and 995 for POP3." msgstr "" -#: models.py:141 +#: models.py:144 msgid "E-Mail Username" msgstr "" -#: models.py:145 +#: models.py:148 msgid "Username for accessing this mailbox." msgstr "" -#: models.py:149 +#: models.py:152 msgid "E-Mail Password" msgstr "" -#: models.py:153 +#: models.py:156 msgid "Password for the above username" msgstr "" -#: models.py:157 +#: models.py:160 msgid "IMAP Folder" msgstr "" -#: models.py:161 +#: models.py:164 msgid "" "If using IMAP, what folder do you wish to fetch messages from? This allows " "you to use one IMAP account for multiple queues, by filtering messages on " "your IMAP server into separate folders. Default: INBOX." msgstr "" -#: models.py:168 +#: models.py:171 msgid "E-Mail Check Interval" msgstr "" -#: models.py:169 +#: models.py:172 msgid "How often do you wish to check this mailbox? (in Minutes)" msgstr "" -#: models.py:240 templates/helpdesk/dashboard.html:11 -#: templates/helpdesk/ticket.html:130 +#: models.py:191 templates/helpdesk/email_ignore_list.html:13 +msgid "Queues" +msgstr "" + +#: models.py:245 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:138 msgid "Open" msgstr "" -#: models.py:241 templates/helpdesk/ticket.html:136 -#: templates/helpdesk/ticket.html.py:142 templates/helpdesk/ticket.html:147 -#: templates/helpdesk/ticket.html.py:151 +#: models.py:246 templates/helpdesk/ticket.html:144 +#: templates/helpdesk/ticket.html.py:150 templates/helpdesk/ticket.html:155 +#: templates/helpdesk/ticket.html.py:159 msgid "Reopened" msgstr "" -#: models.py:242 templates/helpdesk/dashboard.html:11 -#: templates/helpdesk/ticket.html:131 templates/helpdesk/ticket.html.py:137 -#: templates/helpdesk/ticket.html:143 +#: models.py:247 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:139 templates/helpdesk/ticket.html.py:145 +#: templates/helpdesk/ticket.html:151 msgid "Resolved" msgstr "" -#: models.py:243 templates/helpdesk/dashboard.html:11 -#: templates/helpdesk/ticket.html:132 templates/helpdesk/ticket.html.py:138 -#: templates/helpdesk/ticket.html:144 templates/helpdesk/ticket.html.py:148 +#: models.py:248 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:140 templates/helpdesk/ticket.html.py:146 +#: templates/helpdesk/ticket.html:152 templates/helpdesk/ticket.html.py:156 msgid "Closed" msgstr "" -#: models.py:244 templates/helpdesk/ticket.html:133 -#: templates/helpdesk/ticket.html.py:139 templates/helpdesk/ticket.html:152 +#: models.py:249 templates/helpdesk/ticket.html:141 +#: templates/helpdesk/ticket.html.py:147 templates/helpdesk/ticket.html:160 msgid "Duplicate" msgstr "" -#: models.py:248 +#: models.py:253 msgid "1. Critical" msgstr "" -#: models.py:249 +#: models.py:254 msgid "2. High" msgstr "" -#: models.py:250 +#: models.py:255 msgid "3. Normal" msgstr "" -#: models.py:251 +#: models.py:256 msgid "4. Low" msgstr "" -#: models.py:252 +#: models.py:257 msgid "5. Very Low" msgstr "" -#: models.py:266 templates/helpdesk/dashboard.html:77 -#: templates/helpdesk/ticket_list.html:72 -#: templates/helpdesk/ticket_list.html:199 +#: models.py:271 templates/helpdesk/dashboard.html:100 +#: templates/helpdesk/ticket_list.html:82 +#: templates/helpdesk/ticket_list.html:225 msgid "Created" msgstr "" -#: models.py:268 +#: models.py:273 msgid "Date this ticket was first created" msgstr "" -#: models.py:272 +#: models.py:277 msgid "Modified" msgstr "" -#: models.py:274 +#: models.py:279 msgid "Date this ticket was most recently changed." msgstr "" -#: models.py:278 templates/helpdesk/public_view_ticket.html:16 -#: templates/helpdesk/ticket_desc_table.html:26 +#: models.py:283 templates/helpdesk/public_view_ticket.html:18 +#: templates/helpdesk/ticket_desc_table.html:42 msgid "Submitter E-Mail" msgstr "" -#: models.py:281 +#: models.py:286 msgid "" "The submitter will receive an email for all public follow-ups left for this " "task." msgstr "" -#: models.py:290 +#: models.py:295 msgid "Assigned to" msgstr "" -#: models.py:294 templates/helpdesk/dashboard.html:37 -#: templates/helpdesk/dashboard.html:57 templates/helpdesk/dashboard.html:99 -#: templates/helpdesk/ticket_list.html:57 -#: templates/helpdesk/ticket_list.html:81 -#: templates/helpdesk/ticket_list.html:199 +#: models.py:299 templates/helpdesk/dashboard.html:58 +#: templates/helpdesk/dashboard.html:78 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket_list.html:70 +#: templates/helpdesk/ticket_list.html:91 +#: templates/helpdesk/ticket_list.html:225 msgid "Status" msgstr "" -#: models.py:300 +#: models.py:305 msgid "On Hold" msgstr "" -#: models.py:303 +#: models.py:308 msgid "If a ticket is on hold, it will not automatically be escalated." msgstr "" -#: models.py:308 models.py:796 templates/helpdesk/public_view_ticket.html:39 -#: templates/helpdesk/ticket_desc_table.html:67 +#: models.py:313 models.py:826 templates/helpdesk/public_view_ticket.html:41 +#: templates/helpdesk/ticket_desc_table.html:19 msgid "Description" msgstr "" -#: models.py:311 +#: models.py:316 msgid "The content of the customers query." msgstr "" -#: models.py:315 templates/helpdesk/public_view_ticket.html:46 -#: templates/helpdesk/ticket_desc_table.html:74 +#: models.py:320 templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 msgid "Resolution" msgstr "" -#: models.py:318 +#: models.py:323 msgid "The resolution provided to the customer by our staff." msgstr "" -#: models.py:326 +#: models.py:331 msgid "1 = Highest Priority, 5 = Low Priority" msgstr "" -#: models.py:339 +#: models.py:344 msgid "" "The date this ticket was last escalated - updated automatically by " "management/commands/escalate_tickets.py." msgstr "" -#: models.py:348 templates/helpdesk/ticket_desc_table.html:22 -#: views/feeds.py:91 views/feeds.py:117 views/feeds.py:169 views/staff.py:302 +#: models.py:353 templates/helpdesk/ticket_desc_table.html:38 +#: views/feeds.py:95 views/feeds.py:121 views/feeds.py:173 views/staff.py:376 msgid "Unassigned" msgstr "" -#: models.py:387 +#: models.py:392 msgid " - On Hold" msgstr "" -#: models.py:481 models.py:1073 models.py:1231 models.py:1256 -#: templates/helpdesk/public_homepage.html:26 +#: models.py:394 +msgid " - Open dependencies" +msgstr "" + +#: models.py:448 models.py:494 models.py:1117 models.py:1280 models.py:1309 +#: templates/helpdesk/public_homepage.html:78 #: templates/helpdesk/public_view_form.html:12 msgid "Ticket" msgstr "" -#: models.py:485 models.py:714 models.py:1008 models.py:1156 +#: models.py:449 templates/helpdesk/navigation.html:17 +#: templates/helpdesk/ticket_list.html:2 +#: templates/helpdesk/ticket_list.html:224 +msgid "Tickets" +msgstr "" + +#: models.py:498 models.py:738 models.py:1047 models.py:1200 msgid "Date" msgstr "" -#: models.py:497 views/staff.py:316 +#: models.py:510 views/staff.py:390 msgid "Comment" msgstr "" -#: models.py:503 +#: models.py:516 msgid "Public" msgstr "" -#: models.py:506 +#: models.py:519 msgid "" "Public tickets are viewable by the submitter and all staff, but non-public " "tickets can only be seen by staff." msgstr "" -#: models.py:514 models.py:888 models.py:1081 views/staff.py:952 -#: views/staff.py:958 views/staff.py:964 views/staff.py:970 +#: models.py:527 models.py:922 models.py:1125 views/staff.py:1008 +#: views/staff.py:1014 views/staff.py:1020 views/staff.py:1026 msgid "User" msgstr "" -#: models.py:518 templates/helpdesk/ticket.html:127 +#: models.py:531 templates/helpdesk/ticket.html:135 msgid "New Status" msgstr "" -#: models.py:522 +#: models.py:535 msgid "If the status was changed, what was it changed to?" msgstr "" -#: models.py:551 models.py:608 +#: models.py:542 models.py:566 models.py:628 msgid "Follow-up" msgstr "" -#: models.py:555 models.py:1236 +#: models.py:543 +msgid "Follow-ups" +msgstr "" + +#: models.py:570 models.py:1285 msgid "Field" msgstr "" -#: models.py:560 +#: models.py:575 msgid "Old Value" msgstr "" -#: models.py:566 +#: models.py:581 msgid "New Value" msgstr "" -#: models.py:574 +#: models.py:589 msgid "removed" msgstr "" -#: models.py:576 +#: models.py:591 #, python-format msgid "set to %s" msgstr "" -#: models.py:578 +#: models.py:593 #, python-format msgid "changed from \"%(old_value)s\" to \"%(new_value)s\"" msgstr "" -#: models.py:612 +#: models.py:600 +msgid "Ticket change" +msgstr "" + +#: models.py:601 +msgid "Ticket changes" +msgstr "" + +#: models.py:632 msgid "File" msgstr "" -#: models.py:617 +#: models.py:637 msgid "Filename" msgstr "" -#: models.py:622 +#: models.py:642 msgid "MIME Type" msgstr "" -#: models.py:627 +#: models.py:647 msgid "Size" msgstr "" -#: models.py:628 +#: models.py:648 msgid "Size of this file in bytes" msgstr "" -#: models.py:663 +#: models.py:665 +msgid "Attachment" +msgstr "" + +#: models.py:666 +msgid "Attachments" +msgstr "" + +#: models.py:685 msgid "" "Leave blank to allow this reply to be used for all queues, or select those " "queues you wish to limit this reply to." msgstr "" -#: models.py:668 models.py:709 models.py:1003 +#: models.py:690 models.py:733 models.py:1042 #: templates/helpdesk/email_ignore_list.html:13 msgid "Name" msgstr "" -#: models.py:670 +#: models.py:692 msgid "" "Only used to assist users with selecting a reply - not shown to the user." msgstr "" -#: models.py:675 +#: models.py:697 msgid "Body" msgstr "" -#: models.py:676 +#: models.py:698 msgid "" "Context available: {{ ticket }} - ticket object (eg {{ ticket.title }}); {{ " "queue }} - The queue; and {{ user }} - the current user." msgstr "" -#: models.py:703 +#: models.py:705 +msgid "Pre-set reply" +msgstr "" + +#: models.py:706 +msgid "Pre-set replies" +msgstr "" + +#: models.py:727 msgid "" "Leave blank for this exclusion to be applied to all queues, or select those " "queues you wish to exclude with this entry." msgstr "" -#: models.py:715 +#: models.py:739 msgid "Date on which escalation should not happen" msgstr "" -#: models.py:732 +#: models.py:746 +msgid "Escalation exclusion" +msgstr "" + +#: models.py:747 +msgid "Escalation exclusions" +msgstr "" + +#: models.py:760 msgid "Template Name" msgstr "" -#: models.py:737 +#: models.py:765 msgid "Subject" msgstr "" -#: models.py:739 +#: models.py:767 msgid "" "This will be prefixed with \"[ticket.ticket] ticket.title\". We recommend " "something simple such as \"(Updated\") or \"(Closed)\" - the same context is" " available as in plain_text, below." msgstr "" -#: models.py:745 +#: models.py:773 msgid "Heading" msgstr "" -#: models.py:747 +#: models.py:775 msgid "" "In HTML e-mails, this will be the heading at the top of the email - the same" " context is available as in plain_text, below." msgstr "" -#: models.py:753 +#: models.py:781 msgid "Plain Text" msgstr "" -#: models.py:754 +#: models.py:782 msgid "" "The context available to you includes {{ ticket }}, {{ queue }}, and " "depending on the time of the call: {{ resolution }} or {{ comment }}." msgstr "" -#: models.py:760 +#: models.py:788 msgid "HTML" msgstr "" -#: models.py:761 +#: models.py:789 msgid "The same context is available here as in plain_text, above." msgstr "" -#: models.py:770 +#: models.py:798 msgid "Locale of this template." msgstr "" -#: models.py:817 templates/helpdesk/kb_index.html:10 -#: templates/helpdesk/public_homepage.html:10 -msgid "Category" +#: models.py:806 +msgid "e-mail template" msgstr "" -#: models.py:826 -msgid "Question" -msgstr "" - -#: models.py:830 -msgid "Answer" +#: models.py:807 +msgid "e-mail templates" msgstr "" #: models.py:834 -msgid "Votes" +msgid "Knowledge base category" msgstr "" #: models.py:835 +msgid "Knowledge base categories" +msgstr "" + +#: models.py:849 templates/helpdesk/kb_index.html:11 +#: templates/helpdesk/public_homepage.html:11 +msgid "Category" +msgstr "" + +#: models.py:858 +msgid "Question" +msgstr "" + +#: models.py:862 +msgid "Answer" +msgstr "" + +#: models.py:866 +msgid "Votes" +msgstr "" + +#: models.py:867 msgid "Total number of votes cast for this item" msgstr "" -#: models.py:840 +#: models.py:872 msgid "Positive Votes" msgstr "" -#: models.py:841 +#: models.py:873 msgid "Number of votes for this item which were POSITIVE." msgstr "" -#: models.py:846 +#: models.py:878 msgid "Last Updated" msgstr "" -#: models.py:847 +#: models.py:879 msgid "The date on which this question was most recently changed." msgstr "" -#: models.py:861 +#: models.py:893 msgid "Unrated" msgstr "" -#: models.py:892 templates/helpdesk/ticket_list.html:158 +#: models.py:901 +msgid "Knowledge base item" +msgstr "" + +#: models.py:902 +msgid "Knowledge base items" +msgstr "" + +#: models.py:926 templates/helpdesk/ticket_list.html:170 msgid "Query Name" msgstr "" -#: models.py:894 +#: models.py:928 msgid "User-provided name for this query" msgstr "" -#: models.py:898 +#: models.py:932 msgid "Shared With Other Users?" msgstr "" -#: models.py:901 +#: models.py:935 msgid "Should other users see this query?" msgstr "" -#: models.py:905 +#: models.py:939 msgid "Search Query" msgstr "" -#: models.py:906 +#: models.py:940 msgid "Pickled query object. Be wary changing this." msgstr "" -#: models.py:927 +#: models.py:950 +msgid "Saved search" +msgstr "" + +#: models.py:951 +msgid "Saved searches" +msgstr "" + +#: models.py:966 msgid "Settings Dictionary" msgstr "" -#: models.py:928 +#: models.py:967 msgid "" "This is a base64-encoded representation of a pickled Python dictionary. Do " "not change this field via the admin." msgstr "" -#: models.py:997 +#: models.py:993 +msgid "User Setting" +msgstr "" + +#: models.py:994 templates/helpdesk/navigation.html:37 +#: templates/helpdesk/user_settings.html:6 +msgid "User Settings" +msgstr "" + +#: models.py:1036 msgid "" "Leave blank for this e-mail to be ignored on all queues, or select those " "queues you wish to ignore this e-mail for." msgstr "" -#: models.py:1009 +#: models.py:1048 msgid "Date on which this e-mail address was added" msgstr "" -#: models.py:1017 +#: models.py:1056 msgid "" "Enter a full e-mail address, or portions with wildcards, eg *@domain.com or " "postmaster@*." msgstr "" -#: models.py:1022 +#: models.py:1061 msgid "Save Emails in Mailbox?" msgstr "" -#: models.py:1025 +#: models.py:1064 msgid "" "Do you want to save emails from this address in the mailbox? If this is " "unticked, emails from this address will be deleted." msgstr "" -#: models.py:1080 +#: models.py:1101 +msgid "Ignored e-mail address" +msgstr "" + +#: models.py:1102 +msgid "Ignored e-mail addresses" +msgstr "" + +#: models.py:1124 msgid "User who wishes to receive updates for this ticket." msgstr "" -#: models.py:1088 +#: models.py:1132 msgid "For non-user followers, enter their e-mail address" msgstr "" -#: models.py:1092 +#: models.py:1136 msgid "Can View Ticket?" msgstr "" -#: models.py:1094 +#: models.py:1138 msgid "Can this CC login to view the ticket details?" msgstr "" -#: models.py:1098 +#: models.py:1142 msgid "Can Update Ticket?" msgstr "" -#: models.py:1100 +#: models.py:1144 msgid "Can this CC login and update the ticket?" msgstr "" -#: models.py:1131 +#: models.py:1175 msgid "Field Name" msgstr "" -#: models.py:1132 +#: models.py:1176 msgid "" "As used in the database and behind the scenes. Must be unique and consist of" " only lowercase letters with no punctuation." msgstr "" -#: models.py:1137 +#: models.py:1181 msgid "Label" msgstr "" -#: models.py:1139 +#: models.py:1183 msgid "The display label for this field" msgstr "" -#: models.py:1143 +#: models.py:1187 msgid "Help Text" msgstr "" -#: models.py:1144 +#: models.py:1188 msgid "Shown to the user when editing the ticket" msgstr "" -#: models.py:1150 +#: models.py:1194 msgid "Character (single line)" msgstr "" -#: models.py:1151 +#: models.py:1195 msgid "Text (multi-line)" msgstr "" -#: models.py:1152 +#: models.py:1196 msgid "Integer" msgstr "" -#: models.py:1153 +#: models.py:1197 msgid "Decimal" msgstr "" -#: models.py:1154 +#: models.py:1198 msgid "List" msgstr "" -#: models.py:1155 +#: models.py:1199 msgid "Boolean (checkbox yes/no)" msgstr "" -#: models.py:1157 +#: models.py:1201 msgid "Time" msgstr "" -#: models.py:1158 +#: models.py:1202 msgid "Date & Time" msgstr "" -#: models.py:1160 +#: models.py:1204 msgid "URL" msgstr "" -#: models.py:1161 +#: models.py:1205 msgid "IP Address" msgstr "" -#: models.py:1166 +#: models.py:1210 msgid "Data Type" msgstr "" -#: models.py:1168 +#: models.py:1212 msgid "Allows you to restrict the data entered into this field" msgstr "" -#: models.py:1173 +#: models.py:1217 msgid "Maximum Length (characters)" msgstr "" -#: models.py:1179 +#: models.py:1223 msgid "Decimal Places" msgstr "" -#: models.py:1180 +#: models.py:1224 msgid "Only used for decimal fields" msgstr "" -#: models.py:1186 +#: models.py:1230 msgid "Add empty first choice to List?" msgstr "" -#: models.py:1187 +#: models.py:1232 msgid "" "Only for List: adds an empty first entry to the choices list, which enforces" " that the user makes an active choice." msgstr "" -#: models.py:1191 +#: models.py:1236 msgid "List Values" msgstr "" -#: models.py:1192 +#: models.py:1237 msgid "For list fields only. Enter one option per line." msgstr "" -#: models.py:1198 +#: models.py:1243 msgid "Ordering" msgstr "" -#: models.py:1199 +#: models.py:1244 msgid "Lower numbers are displayed first; higher numbers are listed later" msgstr "" -#: models.py:1213 +#: models.py:1258 msgid "Required?" msgstr "" -#: models.py:1214 +#: models.py:1259 msgid "Does the user have to enter a value for this field?" msgstr "" -#: models.py:1218 +#: models.py:1263 msgid "Staff Only?" msgstr "" -#: models.py:1219 +#: models.py:1264 msgid "" "If this is ticked, then the public submission form will NOT show this field" msgstr "" -#: models.py:1262 +#: models.py:1273 +msgid "Custom field" +msgstr "" + +#: models.py:1274 +msgid "Custom fields" +msgstr "" + +#: models.py:1297 +msgid "Ticket custom field value" +msgstr "" + +#: models.py:1298 +msgid "Ticket custom field values" +msgstr "" + +#: models.py:1315 msgid "Depends On Ticket" msgstr "" -#: management/commands/create_usersettings.py:21 +#: models.py:1324 +msgid "Ticket dependency" +msgstr "" + +#: models.py:1325 +msgid "Ticket dependencies" +msgstr "" + +#: management/commands/create_usersettings.py:25 msgid "" "Check for user without django-helpdesk UserSettings and create settings if " "required. Uses settings.DEFAULT_USER_SETTINGS which can be overridden to " "suit your situation." msgstr "" -#: management/commands/escalate_tickets.py:143 +#: management/commands/escalate_tickets.py:148 #, python-format msgid "Ticket escalated after %s days" msgstr "" -#: management/commands/get_email.py:151 +#: management/commands/get_email.py:158 msgid "Created from e-mail" msgstr "" -#: management/commands/get_email.py:155 +#: management/commands/get_email.py:162 msgid "Unknown Sender" msgstr "" -#: management/commands/get_email.py:209 +#: management/commands/get_email.py:216 msgid "" "No plain-text email body available. Please see attachment " "email_html_body.html." msgstr "" -#: management/commands/get_email.py:213 +#: management/commands/get_email.py:220 msgid "email_html_body.html" msgstr "" -#: management/commands/get_email.py:256 +#: management/commands/get_email.py:263 #, python-format msgid "E-Mail Received from %(sender_email)s" msgstr "" -#: management/commands/get_email.py:264 +#: management/commands/get_email.py:271 #, python-format msgid "Ticket Re-Opened by E-Mail Received from %(sender_email)s" msgstr "" -#: management/commands/get_email.py:322 +#: management/commands/get_email.py:329 msgid " (Reopened)" msgstr "" -#: management/commands/get_email.py:324 +#: management/commands/get_email.py:331 msgid " (Updated)" msgstr "" #: templates/helpdesk/attribution.html:2 msgid "" -"Powered by django-" -"helpdesk." +"django-helpdesk." msgstr "" -#: templates/helpdesk/attribution.html:4 -msgid "For technical support please contact:" -msgstr "" - -#: templates/helpdesk/base.html:9 +#: templates/helpdesk/base.html:10 msgid "Powered by django-helpdesk" msgstr "" -#: templates/helpdesk/base.html:19 templates/helpdesk/rss_list.html:9 -#: templates/helpdesk/rss_list.html:23 templates/helpdesk/rss_list.html:28 +#: templates/helpdesk/base.html:20 templates/helpdesk/rss_list.html:9 +#: templates/helpdesk/rss_list.html:24 templates/helpdesk/rss_list.html:31 msgid "My Open Tickets" msgstr "" -#: templates/helpdesk/base.html:20 +#: templates/helpdesk/base.html:21 msgid "All Recent Activity" msgstr "" -#: templates/helpdesk/base.html:21 templates/helpdesk/dashboard.html:76 +#: templates/helpdesk/base.html:22 templates/helpdesk/dashboard.html:99 #: templates/helpdesk/rss_list.html:15 msgid "Unassigned Tickets" msgstr "" -#: templates/helpdesk/base.html:101 templates/helpdesk/public_base.html:6 -#: templates/helpdesk/public_base.html:14 +#: templates/helpdesk/base.html:52 templates/helpdesk/public_base.html:6 +#: templates/helpdesk/public_base.html:18 msgid "Helpdesk" msgstr "" -#: templates/helpdesk/base.html:111 templates/helpdesk/rss_list.html:9 +#: templates/helpdesk/base.html:62 templates/helpdesk/rss_list.html:9 #: templates/helpdesk/rss_list.html:12 templates/helpdesk/rss_list.html:15 -#: templates/helpdesk/rss_list.html:27 templates/helpdesk/rss_list.html:28 +#: templates/helpdesk/rss_list.html:30 templates/helpdesk/rss_list.html:31 msgid "RSS Icon" msgstr "" -#: templates/helpdesk/base.html:111 templates/helpdesk/rss_list.html:2 +#: templates/helpdesk/base.html:62 templates/helpdesk/rss_list.html:2 #: templates/helpdesk/rss_list.html.py:4 msgid "RSS Feeds" msgstr "" -#: templates/helpdesk/base.html:112 +#: templates/helpdesk/base.html:63 msgid "API" msgstr "" -#: templates/helpdesk/base.html:113 -msgid "User Settings" -msgstr "" - -#: templates/helpdesk/base.html:115 -msgid "Change Language" -msgstr "" - -#: templates/helpdesk/base.html:117 +#: templates/helpdesk/base.html:64 templates/helpdesk/system_settings.html:6 msgid "System Settings" msgstr "" #: templates/helpdesk/confirm_delete_saved_query.html:3 -#: templates/helpdesk/ticket_list.html:144 +#: templates/helpdesk/ticket_list.html:146 msgid "Delete Saved Query" msgstr "" -#: templates/helpdesk/confirm_delete_saved_query.html:5 +#: templates/helpdesk/confirm_delete_saved_query.html:6 +msgid "Delete Query" +msgstr "" + +#: templates/helpdesk/confirm_delete_saved_query.html:8 #, python-format msgid "" -"\n" -"

Delete Query

\n" -"\n" -"

Are you sure you want to delete this saved filter (%(query_title)s)? To re-create it, you will need to manually re-filter your ticket listing.

\n" +"Are you sure you want to delete this saved filter " +"(%(query_title)s)? To re-create it, you will need to manually re-" +"filter your ticket listing." msgstr "" #: templates/helpdesk/confirm_delete_saved_query.html:11 msgid "" -"\n" -"

You have shared this query, so other users may be using it. If you delete it, they will have to manually create their own query.

\n" +"You have shared this query, so other users may be using it. If you delete " +"it, they will have to manually create their own query." msgstr "" -#: templates/helpdesk/confirm_delete_saved_query.html:15 -#: templates/helpdesk/delete_ticket.html:11 +#: templates/helpdesk/confirm_delete_saved_query.html:14 +#: templates/helpdesk/delete_ticket.html:10 msgid "No, Don't Delete It" msgstr "" -#: templates/helpdesk/confirm_delete_saved_query.html:17 -#: templates/helpdesk/delete_ticket.html:13 +#: templates/helpdesk/confirm_delete_saved_query.html:16 +#: templates/helpdesk/delete_ticket.html:12 msgid "Yes - Delete It" msgstr "" @@ -1068,21 +1168,25 @@ msgstr "" msgid "Create Ticket" msgstr "" -#: templates/helpdesk/create_ticket.html:6 -msgid "" -"

Submit a Ticket

\n" -"\n" -"

Unless otherwise stated, all fields are required. Please provide as descriptive a title and description as possible.

" +#: templates/helpdesk/create_ticket.html:10 +#: templates/helpdesk/navigation.html:65 templates/helpdesk/navigation.html:68 +#: templates/helpdesk/public_homepage.html:27 +msgid "Submit a Ticket" msgstr "" -#: templates/helpdesk/create_ticket.html:17 -#: templates/helpdesk/edit_ticket.html:19 -#: templates/helpdesk/public_homepage.html:50 -msgid "(Optional)" +#: templates/helpdesk/create_ticket.html:11 +#: templates/helpdesk/edit_ticket.html:11 +msgid "Unless otherwise stated, all fields are required." msgstr "" -#: templates/helpdesk/create_ticket.html:26 -#: templates/helpdesk/public_homepage.html:59 +#: templates/helpdesk/create_ticket.html:11 +#: templates/helpdesk/edit_ticket.html:11 +#: templates/helpdesk/public_homepage.html:28 +msgid "Please provide as descriptive a title and description as possible." +msgstr "" + +#: templates/helpdesk/create_ticket.html:30 +#: templates/helpdesk/public_homepage.html:55 msgid "Submit Ticket" msgstr "" @@ -1090,136 +1194,176 @@ msgstr "" msgid "Helpdesk Dashboard" msgstr "" -#: templates/helpdesk/dashboard.html:10 -msgid "Helpdesk Summary" -msgstr "" - -#: templates/helpdesk/dashboard.html:25 +#: templates/helpdesk/dashboard.html:9 msgid "" "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." msgstr "" -#: templates/helpdesk/dashboard.html:27 -msgid "" -"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?" +#: templates/helpdesk/dashboard.html:14 +msgid "Helpdesk Summary" msgstr "" #: templates/helpdesk/dashboard.html:36 +msgid "Current Ticket Stats" +msgstr "" + +#: templates/helpdesk/dashboard.html:37 +msgid "Average number of days until ticket is closed (all tickets): " +msgstr "" + +#: templates/helpdesk/dashboard.html:38 +msgid "" +"Average number of days until ticket is closed (tickets opened in last 60 " +"days): " +msgstr "" + +#: templates/helpdesk/dashboard.html:39 +msgid "Click" +msgstr "" + +#: templates/helpdesk/dashboard.html:39 +msgid "for detailed average by month." +msgstr "" + +#: templates/helpdesk/dashboard.html:40 +msgid "Distribution of open tickets, grouped by time period:" +msgstr "" + +#: templates/helpdesk/dashboard.html:41 +msgid "Days since opened" +msgstr "" + +#: templates/helpdesk/dashboard.html:41 +msgid "Number of open tickets" +msgstr "" + +#: templates/helpdesk/dashboard.html:57 msgid "All Tickets submitted by you" msgstr "" -#: templates/helpdesk/dashboard.html:37 templates/helpdesk/dashboard.html:57 -#: templates/helpdesk/dashboard.html:77 templates/helpdesk/dashboard.html:99 -#: templates/helpdesk/ticket_list.html:199 +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:100 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket_list.html:225 msgid "Pr" msgstr "" -#: templates/helpdesk/dashboard.html:37 templates/helpdesk/dashboard.html:57 -#: templates/helpdesk/dashboard.html:99 +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:124 msgid "Last Update" msgstr "" -#: templates/helpdesk/dashboard.html:56 +#: templates/helpdesk/dashboard.html:77 msgid "Open Tickets assigned to you (you are working on this ticket)" msgstr "" -#: templates/helpdesk/dashboard.html:69 +#: templates/helpdesk/dashboard.html:92 msgid "You have no tickets assigned to you." msgstr "" -#: templates/helpdesk/dashboard.html:76 +#: templates/helpdesk/dashboard.html:99 msgid "(pick up a ticket if you start to work on it)" msgstr "" -#: templates/helpdesk/dashboard.html:85 -#: templates/helpdesk/ticket_desc_table.html:22 +#: templates/helpdesk/dashboard.html:110 +#: templates/helpdesk/ticket_desc_table.html:38 msgid "Take" msgstr "" -#: templates/helpdesk/dashboard.html:85 +#: templates/helpdesk/dashboard.html:110 #: templates/helpdesk/email_ignore_list.html:13 #: templates/helpdesk/email_ignore_list.html:23 #: templates/helpdesk/ticket_cc_list.html:15 #: templates/helpdesk/ticket_cc_list.html:23 -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Delete" msgstr "" -#: templates/helpdesk/dashboard.html:89 +#: templates/helpdesk/dashboard.html:114 msgid "There are no unassigned tickets." msgstr "" -#: templates/helpdesk/dashboard.html:98 +#: templates/helpdesk/dashboard.html:123 msgid "Closed & resolved Tickets you used to work on" msgstr "" #: templates/helpdesk/delete_ticket.html:3 +#: templates/helpdesk/delete_ticket.html:6 msgid "Delete Ticket" msgstr "" -#: templates/helpdesk/delete_ticket.html:5 +#: templates/helpdesk/delete_ticket.html:8 #, python-format msgid "" -"\n" -"

Delete Ticket

\n" -"\n" -"

Are you sure you want to delete this ticket (%(ticket_title)s)? All traces of the ticket, including followups, attachments, and updates will be irreversably removed.

\n" +"Are you sure you want to delete this ticket (%(ticket_title)s)? All" +" traces of the ticket, including followups, attachments, and updates will be" +" irreversibly removed." msgstr "" #: templates/helpdesk/edit_ticket.html:3 msgid "Edit Ticket" msgstr "" -#: templates/helpdesk/edit_ticket.html:6 -msgid "" -"

Edit a Ticket

\n" -"\n" -"

Unless otherwise stated, all fields are required. Please provide as descriptive a title and description as possible.

\n" -"\n" -"

Note: Editing a ticket does not send an e-mail to the ticket owner or submitter. No new details should be entered, this form should only be used to fix incorrect details or clean up the submission.

" +#: templates/helpdesk/edit_ticket.html:9 +msgid "Edit a Ticket" msgstr "" -#: templates/helpdesk/edit_ticket.html:28 +#: templates/helpdesk/edit_ticket.html:13 +msgid "Note" +msgstr "" + +#: templates/helpdesk/edit_ticket.html:13 +msgid "" +"Editing a ticket does not send an e-mail to the ticket owner or " +"submitter. No new details should be entered, this form should only be used " +"to fix incorrect details or clean up the submission." +msgstr "" + +#: templates/helpdesk/edit_ticket.html:33 msgid "Save Changes" msgstr "" #: templates/helpdesk/email_ignore_add.html:3 +#: templates/helpdesk/email_ignore_add.html:6 #: templates/helpdesk/email_ignore_add.html:23 msgid "Ignore E-Mail Address" msgstr "" -#: templates/helpdesk/email_ignore_add.html:5 +#: templates/helpdesk/email_ignore_add.html:8 msgid "" -"\n" -"

Ignore E-Mail Address

\n" -"\n" -"

To ignore an e-mail address and prevent any emails from that address creating tickets automatically, enter the e-mail address below.

\n" -"\n" -"

You can either enter a whole e-mail address such as email@domain.com or a portion of an e-mail address with a wildcard, such as *@domain.com or user@*.

" +"To ignore an e-mail address and prevent any emails from that address " +"creating tickets automatically, enter the e-mail address below." +msgstr "" + +#: templates/helpdesk/email_ignore_add.html:10 +msgid "" +"You can either enter a whole e-mail address such as " +"email@domain.com or a portion of an e-mail address with a wildcard," +" such as *@domain.com or user@*." msgstr "" #: templates/helpdesk/email_ignore_del.html:3 msgid "Delete Ignored E-Mail Address" msgstr "" -#: templates/helpdesk/email_ignore_del.html:5 -#, python-format -msgid "" -"\n" -"

Un-Ignore E-Mail Address

\n" -"\n" -"

Are you sure you wish to stop removing this email address (%(email_address)s) and allow their e-mails to automatically create tickets in your system? You can re-add this e-mail address at any time.

\n" +#: templates/helpdesk/email_ignore_del.html:6 +msgid "Un-Ignore E-Mail Address" msgstr "" -#: templates/helpdesk/email_ignore_del.html:11 +#: templates/helpdesk/email_ignore_del.html:8 +#, python-format +msgid "" +"Are you sure you wish to stop removing this email address " +"(%(email_address)s) and allow their e-mails to automatically create" +" tickets in your system? You can re-add this e-mail address at any time." +msgstr "" + +#: templates/helpdesk/email_ignore_del.html:10 msgid "Keep Ignoring It" msgstr "" -#: templates/helpdesk/email_ignore_del.html:13 +#: templates/helpdesk/email_ignore_del.html:12 msgid "Stop Ignoring It" msgstr "" @@ -1240,16 +1384,12 @@ msgstr "" msgid "Date Added" msgstr "" -#: templates/helpdesk/email_ignore_list.html:13 -msgid "Queues" -msgstr "" - #: templates/helpdesk/email_ignore_list.html:13 msgid "Keep in mailbox?" msgstr "" #: templates/helpdesk/email_ignore_list.html:21 -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "All" msgstr "" @@ -1284,7 +1424,7 @@ msgid "Comment:" msgstr "" #: templates/helpdesk/kb_category.html:4 -#: templates/helpdesk/kb_category.html:11 +#: templates/helpdesk/kb_category.html:12 #, python-format msgid "Knowledgebase Category: %(kbcat)s" msgstr "" @@ -1294,12 +1434,12 @@ msgstr "" msgid "You are viewing all items in the %(kbcat)s category." msgstr "" -#: templates/helpdesk/kb_category.html:12 +#: templates/helpdesk/kb_category.html:13 msgid "Article" msgstr "" -#: templates/helpdesk/kb_index.html:4 templates/helpdesk/navigation.html:11 -#: templates/helpdesk/navigation.html:33 +#: templates/helpdesk/kb_index.html:4 templates/helpdesk/navigation.html:21 +#: templates/helpdesk/navigation.html:71 msgid "Knowledgebase" msgstr "" @@ -1310,8 +1450,8 @@ msgid "" "your problem prior to opening a support ticket." msgstr "" -#: templates/helpdesk/kb_index.html:9 -#: templates/helpdesk/public_homepage.html:9 +#: templates/helpdesk/kb_index.html:10 +#: templates/helpdesk/public_homepage.html:10 msgid "Knowledgebase Categories" msgstr "" @@ -1320,7 +1460,7 @@ msgstr "" msgid "Knowledgebase: %(item)s" msgstr "" -#: templates/helpdesk/kb_item.html:13 +#: templates/helpdesk/kb_item.html:16 #, python-format msgid "" "View other %(category_title)s " @@ -1328,88 +1468,82 @@ msgid "" "articles." msgstr "" -#: templates/helpdesk/kb_item.html:15 +#: templates/helpdesk/kb_item.html:18 msgid "Feedback" msgstr "" -#: templates/helpdesk/kb_item.html:17 +#: templates/helpdesk/kb_item.html:20 msgid "" "We give our users an opportunity to vote for items that they believe have " "helped them out, in order for us to better serve future customers. We would " "appreciate your feedback on this article. Did you find it useful?" msgstr "" -#: templates/helpdesk/kb_item.html:20 +#: templates/helpdesk/kb_item.html:23 msgid "This article was useful to me" msgstr "" -#: templates/helpdesk/kb_item.html:21 +#: templates/helpdesk/kb_item.html:24 msgid "This article was not useful to me" msgstr "" -#: templates/helpdesk/kb_item.html:24 +#: templates/helpdesk/kb_item.html:27 msgid "The results of voting by other readers of this article are below:" msgstr "" -#: templates/helpdesk/kb_item.html:27 +#: templates/helpdesk/kb_item.html:30 #, python-format msgid "Recommendations: %(recommendations)s" msgstr "" -#: templates/helpdesk/kb_item.html:28 +#: templates/helpdesk/kb_item.html:31 #, python-format msgid "Votes: %(votes)s" msgstr "" -#: templates/helpdesk/kb_item.html:29 +#: templates/helpdesk/kb_item.html:32 #, python-format msgid "Overall Rating: %(score)s" msgstr "" -#: templates/helpdesk/navigation.html:4 +#: templates/helpdesk/navigation.html:16 templates/helpdesk/navigation.html:64 msgid "Dashboard" msgstr "" -#: templates/helpdesk/navigation.html:5 -#: templates/helpdesk/ticket_list.html:198 -msgid "Tickets" -msgstr "" - -#: templates/helpdesk/navigation.html:6 +#: templates/helpdesk/navigation.html:18 msgid "New Ticket" msgstr "" -#: templates/helpdesk/navigation.html:8 +#: templates/helpdesk/navigation.html:19 msgid "Stats" msgstr "" -#: templates/helpdesk/navigation.html:14 -#: templates/helpdesk/ticket_list.html:46 -msgid "Load Saved Query" +#: templates/helpdesk/navigation.html:24 +msgid "Saved Query" msgstr "" -#: templates/helpdesk/navigation.html:25 templates/helpdesk/navigation.html:35 -msgid "Logout" +#: templates/helpdesk/navigation.html:39 +msgid "Change password" msgstr "" -#: templates/helpdesk/navigation.html:26 +#: templates/helpdesk/navigation.html:50 msgid "Search..." msgstr "" -#: templates/helpdesk/navigation.html:26 +#: templates/helpdesk/navigation.html:50 msgid "Enter a keyword, or a ticket number to jump straight to that ticket." msgstr "" -#: templates/helpdesk/navigation.html:31 -msgid "Submit A Ticket" +#: templates/helpdesk/navigation.html:73 +msgid "Logout" msgstr "" -#: templates/helpdesk/navigation.html:35 +#: templates/helpdesk/navigation.html:73 msgid "Log In" msgstr "" #: templates/helpdesk/public_change_language.html:2 -#: templates/helpdesk/public_homepage.html:21 +#: templates/helpdesk/public_homepage.html:73 #: templates/helpdesk/public_view_form.html:4 #: templates/helpdesk/public_view_ticket.html:2 msgid "View a Ticket" @@ -1423,74 +1557,81 @@ msgstr "" msgid "Knowledgebase Articles" msgstr "" -#: templates/helpdesk/public_homepage.html:29 +#: templates/helpdesk/public_homepage.html:28 +msgid "All fields are required." +msgstr "" + +#: templates/helpdesk/public_homepage.html:66 +msgid "Please use button at upper right to login first." +msgstr "" + +#: templates/helpdesk/public_homepage.html:82 #: templates/helpdesk/public_view_form.html:15 msgid "Your E-mail Address" msgstr "" -#: templates/helpdesk/public_homepage.html:33 +#: templates/helpdesk/public_homepage.html:86 #: templates/helpdesk/public_view_form.html:19 msgid "View Ticket" msgstr "" -#: templates/helpdesk/public_homepage.html:39 -msgid "Submit a Ticket" -msgstr "" - -#: templates/helpdesk/public_homepage.html:41 -msgid "" -"All fields are required. Please provide as descriptive a title and " -"description as possible." -msgstr "" - -#: templates/helpdesk/public_homepage.html:67 -msgid "Please use button at upper right to login first." -msgstr "" - #: templates/helpdesk/public_spam.html:4 msgid "Unable To Open Ticket" msgstr "" +#: templates/helpdesk/public_spam.html:5 +msgid "Sorry, but there has been an error trying to submit your ticket." +msgstr "" + #: templates/helpdesk/public_spam.html:6 msgid "" -"

Sorry, but there has been an error trying to submit your ticket.

\n" -"\n" -"

Our system has marked your submission as spam, so we are unable to save it. If this is not spam, please press back and re-type your message. Be careful to avoid sounding 'spammy', and if you have heaps of links please try removing them if possible.

\n" -"\n" -"

We are sorry for any inconvenience, however this check is required to avoid our helpdesk resources being overloaded by spammers.

\n" +"Our system has marked your submission as spam, so we are " +"unable to save it. If this is not spam, please press back and re-type your " +"message. Be careful to avoid sounding 'spammy', and if you have heaps of " +"links please try removing them if possible." +msgstr "" + +#: templates/helpdesk/public_spam.html:7 +msgid "" +"We are sorry for any inconvenience, however this check is required to avoid " +"our helpdesk resources being overloaded by spammers." msgstr "" #: templates/helpdesk/public_view_form.html:8 msgid "Error:" msgstr "" -#: templates/helpdesk/public_view_ticket.html:8 +#: templates/helpdesk/public_view_ticket.html:9 #, python-format msgid "Queue: %(queue_name)s" msgstr "" -#: templates/helpdesk/public_view_ticket.html:11 -#: templates/helpdesk/ticket_desc_table.html:16 +#: templates/helpdesk/public_view_ticket.html:13 +#: templates/helpdesk/ticket_desc_table.html:32 msgid "Submitted On" msgstr "" -#: templates/helpdesk/public_view_ticket.html:46 -#: templates/helpdesk/ticket_desc_table.html:74 +#: templates/helpdesk/public_view_ticket.html:35 +msgid "Tags" +msgstr "" + +#: templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 msgid "Accept" msgstr "" -#: templates/helpdesk/public_view_ticket.html:46 -#: templates/helpdesk/ticket_desc_table.html:74 +#: templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 msgid "Accept and Close" msgstr "" -#: templates/helpdesk/public_view_ticket.html:55 -#: templates/helpdesk/ticket.html:64 +#: templates/helpdesk/public_view_ticket.html:57 +#: templates/helpdesk/ticket.html:66 msgid "Follow-Ups" msgstr "" -#: templates/helpdesk/public_view_ticket.html:63 -#: templates/helpdesk/ticket.html:92 +#: templates/helpdesk/public_view_ticket.html:65 +#: templates/helpdesk/ticket.html:100 #, python-format msgid "Changed %(field)s from %(old_value)s to %(new_value)s." msgstr "" @@ -1533,6 +1674,10 @@ msgstr "" msgid "Reports By Queue" msgstr "" +#: templates/helpdesk/report_index.html:27 views/staff.py:1049 +msgid "Days until ticket closed by Month" +msgstr "" + #: templates/helpdesk/report_output.html:19 msgid "" "You can run this query on filtered data by using one of your saved queries." @@ -1590,15 +1735,15 @@ msgid "" "new tickets coming into that queue." msgstr "" -#: templates/helpdesk/rss_list.html:22 +#: templates/helpdesk/rss_list.html:23 msgid "Per-Queue Feeds" msgstr "" -#: templates/helpdesk/rss_list.html:23 +#: templates/helpdesk/rss_list.html:24 msgid "All Open Tickets" msgstr "" -#: templates/helpdesk/rss_list.html:27 +#: templates/helpdesk/rss_list.html:30 msgid "Open Tickets" msgstr "" @@ -1606,12 +1751,8 @@ msgstr "" msgid "Change System Settings" msgstr "" -#: templates/helpdesk/system_settings.html:5 -msgid "" -"\n" -"

System Settings

\n" -"\n" -"

The following items can be maintained by you or other superusers:

" +#: templates/helpdesk/system_settings.html:8 +msgid "The following items can be maintained by you or other superusers:" msgstr "" #: templates/helpdesk/system_settings.html:11 @@ -1650,77 +1791,81 @@ msgstr "" msgid "Attach another File" msgstr "" -#: templates/helpdesk/ticket.html:34 templates/helpdesk/ticket.html.py:197 +#: templates/helpdesk/ticket.html:34 templates/helpdesk/ticket.html.py:200 msgid "Add Another File" msgstr "" -#: templates/helpdesk/ticket.html:71 templates/helpdesk/ticket.html.py:81 +#: templates/helpdesk/ticket.html:73 templates/helpdesk/ticket.html.py:86 msgid "Private" msgstr "" -#: templates/helpdesk/ticket.html:111 +#: templates/helpdesk/ticket.html:119 msgid "Respond to this ticket" msgstr "" -#: templates/helpdesk/ticket.html:118 +#: templates/helpdesk/ticket.html:126 msgid "Use a Pre-set Reply" msgstr "" -#: templates/helpdesk/ticket.html:120 +#: templates/helpdesk/ticket.html:126 templates/helpdesk/ticket.html.py:166 +msgid "(Optional)" +msgstr "" + +#: templates/helpdesk/ticket.html:128 msgid "" "Selecting a pre-set reply will over-write your comment below. You can then " "modify the pre-set reply to your liking before saving this update." msgstr "" -#: templates/helpdesk/ticket.html:123 +#: templates/helpdesk/ticket.html:131 msgid "Comment / Resolution" msgstr "" -#: templates/helpdesk/ticket.html:125 +#: templates/helpdesk/ticket.html:133 msgid "" "You can insert ticket and queue details in your message. For more " "information, see the context help page." msgstr "" -#: templates/helpdesk/ticket.html:128 +#: templates/helpdesk/ticket.html:136 msgid "" "This ticket cannot be resolved or closed until the tickets it depends on are" " resolved." msgstr "" -#: templates/helpdesk/ticket.html:158 +#: templates/helpdesk/ticket.html:166 msgid "Is this update public?" msgstr "" -#: templates/helpdesk/ticket.html:160 +#: templates/helpdesk/ticket.html:168 msgid "" "If this is public, the submitter will be e-mailed your comment or " "resolution." msgstr "" -#: templates/helpdesk/ticket.html:164 +#: templates/helpdesk/ticket.html:172 msgid "Change Further Details »" msgstr "" -#: templates/helpdesk/ticket.html:173 templates/helpdesk/ticket_list.html:55 -#: templates/helpdesk/ticket_list.html:87 -#: templates/helpdesk/ticket_list.html:199 +#: templates/helpdesk/ticket.html:181 templates/helpdesk/ticket_list.html:68 +#: templates/helpdesk/ticket_list.html:97 +#: templates/helpdesk/ticket_list.html:225 msgid "Owner" msgstr "" -#: templates/helpdesk/ticket.html:174 +#: templates/helpdesk/ticket.html:182 msgid "Unassign" msgstr "" -#: templates/helpdesk/ticket.html:190 +#: templates/helpdesk/ticket.html:193 msgid "Attach File(s) »" msgstr "" -#: templates/helpdesk/ticket.html:196 +#: templates/helpdesk/ticket.html:199 msgid "Attach a File" msgstr "" -#: templates/helpdesk/ticket.html:204 +#: templates/helpdesk/ticket.html:207 msgid "Update This Ticket" msgstr "" @@ -1823,263 +1968,256 @@ msgid "" "

Are you sure you wish to remove the dependency on this ticket?

\n" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:11 +#: templates/helpdesk/ticket_desc_table.html:7 msgid "Unhold" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:11 +#: templates/helpdesk/ticket_desc_table.html:7 msgid "Hold" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:13 +#: templates/helpdesk/ticket_desc_table.html:9 #, python-format msgid "Queue: %(queue)s" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:21 +#: templates/helpdesk/ticket_desc_table.html:37 msgid "Assigned To" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:27 +#: templates/helpdesk/ticket_desc_table.html:43 msgid "Ignore" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:36 +#: templates/helpdesk/ticket_desc_table.html:52 msgid "Copies To" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:37 +#: templates/helpdesk/ticket_desc_table.html:53 msgid "Manage" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:37 +#: templates/helpdesk/ticket_desc_table.html:53 msgid "" "Click here to add / remove people who should receive an e-mail whenever this" " ticket is updated." msgstr "" -#: templates/helpdesk/ticket_desc_table.html:48 +#: templates/helpdesk/ticket_desc_table.html:53 +msgid "Subscribe" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:53 +msgid "" +"Click here to subscribe yourself to this ticket, if you want to receive an " +"e-mail whenever this ticket is updated." +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:57 msgid "Dependencies" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:50 +#: templates/helpdesk/ticket_desc_table.html:59 msgid "" "This ticket cannot be resolved until the following ticket(s) are resolved" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:51 +#: templates/helpdesk/ticket_desc_table.html:60 msgid "Remove Dependency" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:54 +#: templates/helpdesk/ticket_desc_table.html:63 msgid "This ticket has no dependencies." msgstr "" -#: templates/helpdesk/ticket_desc_table.html:56 +#: templates/helpdesk/ticket_desc_table.html:65 msgid "Add Dependency" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:56 +#: templates/helpdesk/ticket_desc_table.html:65 msgid "" "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." msgstr "" -#: templates/helpdesk/ticket_list.html:2 -msgid "Ticket Listing" -msgstr "" - -#: templates/helpdesk/ticket_list.html:41 -msgid "Query Options" -msgstr "" - -#: templates/helpdesk/ticket_list.html:43 -msgid "Save This Query" -msgstr "" - -#: templates/helpdesk/ticket_list.html:51 +#: templates/helpdesk/ticket_list.html:59 msgid "Change Query" msgstr "" -#: templates/helpdesk/ticket_list.html:54 -#: templates/helpdesk/ticket_list.html:69 +#: templates/helpdesk/ticket_list.html:67 +#: templates/helpdesk/ticket_list.html:79 msgid "Sorting" msgstr "" -#: templates/helpdesk/ticket_list.html:58 -#: templates/helpdesk/ticket_list.html:137 +#: templates/helpdesk/ticket_list.html:71 +#: templates/helpdesk/ticket_list.html:139 msgid "Keywords" msgstr "" -#: templates/helpdesk/ticket_list.html:59 +#: templates/helpdesk/ticket_list.html:72 msgid "Date Range" msgstr "" -#: templates/helpdesk/ticket_list.html:90 +#: templates/helpdesk/ticket_list.html:100 msgid "Reverse" msgstr "" -#: templates/helpdesk/ticket_list.html:92 +#: templates/helpdesk/ticket_list.html:102 msgid "Ordering applied to tickets" msgstr "" -#: templates/helpdesk/ticket_list.html:97 +#: templates/helpdesk/ticket_list.html:107 msgid "Owner(s)" msgstr "" -#: templates/helpdesk/ticket_list.html:101 +#: templates/helpdesk/ticket_list.html:111 msgid "(ME)" msgstr "" -#: templates/helpdesk/ticket_list.html:105 +#: templates/helpdesk/ticket_list.html:115 msgid "Ctrl-Click to select multiple options" msgstr "" -#: templates/helpdesk/ticket_list.html:110 +#: templates/helpdesk/ticket_list.html:120 msgid "Queue(s)" msgstr "" -#: templates/helpdesk/ticket_list.html:111 -#: templates/helpdesk/ticket_list.html:117 -#: templates/helpdesk/ticket_list.html:131 +#: templates/helpdesk/ticket_list.html:121 +#: templates/helpdesk/ticket_list.html:127 msgid "Ctrl-click to select multiple options" msgstr "" -#: templates/helpdesk/ticket_list.html:116 +#: templates/helpdesk/ticket_list.html:126 msgid "Status(es)" msgstr "" -#: templates/helpdesk/ticket_list.html:122 +#: templates/helpdesk/ticket_list.html:132 msgid "Date (From)" msgstr "" -#: templates/helpdesk/ticket_list.html:123 +#: templates/helpdesk/ticket_list.html:133 msgid "Date (To)" msgstr "" -#: templates/helpdesk/ticket_list.html:124 +#: templates/helpdesk/ticket_list.html:134 msgid "Use YYYY-MM-DD date format, eg 2011-05-29" msgstr "" -#: templates/helpdesk/ticket_list.html:130 -msgid "Tag(s)" -msgstr "" - -#: templates/helpdesk/ticket_list.html:138 +#: templates/helpdesk/ticket_list.html:140 msgid "" "Keywords are case-insensitive, and will be looked for in the title, body and" " submitter fields." msgstr "" -#: templates/helpdesk/ticket_list.html:142 +#: templates/helpdesk/ticket_list.html:144 msgid "Apply Filter" msgstr "" -#: templates/helpdesk/ticket_list.html:144 +#: templates/helpdesk/ticket_list.html:146 #, python-format -msgid "You are currently viewing saved query %(query_name)s." +msgid "You are currently viewing saved query \"%(query_name)s\"." msgstr "" -#: templates/helpdesk/ticket_list.html:147 +#: templates/helpdesk/ticket_list.html:149 #, python-format msgid "" "Run a report on this " "query to see stats and charts for the data listed below." msgstr "" -#: templates/helpdesk/ticket_list.html:154 -#: templates/helpdesk/ticket_list.html:169 +#: templates/helpdesk/ticket_list.html:162 +#: templates/helpdesk/ticket_list.html:181 msgid "Save Query" msgstr "" -#: templates/helpdesk/ticket_list.html:160 +#: templates/helpdesk/ticket_list.html:172 msgid "" "This name appears in the drop-down list of saved queries. If you share your " "query, other users will see this name, so choose something clear and " "descriptive!" msgstr "" -#: templates/helpdesk/ticket_list.html:162 +#: templates/helpdesk/ticket_list.html:174 msgid "Shared?" msgstr "" -#: templates/helpdesk/ticket_list.html:163 +#: templates/helpdesk/ticket_list.html:175 msgid "Yes, share this query with other users." msgstr "" -#: templates/helpdesk/ticket_list.html:164 +#: templates/helpdesk/ticket_list.html:176 msgid "" "If you share this query, it will be visible by all other logged-in " "users." msgstr "" -#: templates/helpdesk/ticket_list.html:176 +#: templates/helpdesk/ticket_list.html:195 msgid "Use Saved Query" msgstr "" -#: templates/helpdesk/ticket_list.html:178 +#: templates/helpdesk/ticket_list.html:202 msgid "Query" msgstr "" -#: templates/helpdesk/ticket_list.html:183 +#: templates/helpdesk/ticket_list.html:207 msgid "Run Query" msgstr "" -#: templates/helpdesk/ticket_list.html:213 +#: templates/helpdesk/ticket_list.html:240 msgid "No Tickets Match Your Selection" msgstr "" -#: templates/helpdesk/ticket_list.html:219 +#: templates/helpdesk/ticket_list.html:247 msgid "Previous" msgstr "" -#: templates/helpdesk/ticket_list.html:223 +#: templates/helpdesk/ticket_list.html:251 #, python-format msgid "Page %(ticket_num)s of %(num_pages)s." msgstr "" -#: templates/helpdesk/ticket_list.html:227 +#: templates/helpdesk/ticket_list.html:255 msgid "Next" msgstr "" -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "Select:" msgstr "" -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "None" msgstr "" -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "Inverse" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "With Selected Tickets:" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Take (Assign to me)" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Close" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Close (Don't Send E-Mail)" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Close (Send E-Mail)" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Assign To" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Nobody (Unassign)" msgstr "" @@ -2087,15 +2225,13 @@ msgstr "" msgid "Change User Settings" msgstr "" -#: templates/helpdesk/user_settings.html:14 +#: templates/helpdesk/user_settings.html:8 msgid "" -"\n" -"

User Settings

\n" -"\n" -"

Use the following options to change the way your helpdesk system works for you. These settings do not impact any other user.

\n" +"Use the following options to change the way your helpdesk system works for " +"you. These settings do not impact any other user." msgstr "" -#: templates/helpdesk/user_settings.html:29 +#: templates/helpdesk/user_settings.html:14 msgid "Save Options" msgstr "" @@ -2116,116 +2252,101 @@ msgstr "" msgid "Helpdesk Login" msgstr "" -#: templates/helpdesk/registration/login.html:9 -#: templates/helpdesk/registration/login.html:21 -msgid "Login" -msgstr "" - -#: templates/helpdesk/registration/login.html:11 -msgid "" -"To log in and begin responding to cases, simply enter your username and " -"password below." -msgstr "" - #: templates/helpdesk/registration/login.html:14 +msgid "To log in simply enter your username and password below." +msgstr "" + +#: templates/helpdesk/registration/login.html:17 msgid "Your username and password didn't match. Please try again." msgstr "" -#: templates/helpdesk/registration/login.html:16 -msgid "Username" +#: templates/helpdesk/registration/login.html:20 +msgid "Login" msgstr "" -#: templates/helpdesk/registration/login.html:18 -msgid "Password" -msgstr "" - -#: views/feeds.py:35 +#: views/feeds.py:39 #, python-format msgid "Helpdesk: Open Tickets in queue %(queue)s for %(username)s" msgstr "" -#: views/feeds.py:40 +#: views/feeds.py:44 #, python-format msgid "Helpdesk: Open Tickets for %(username)s" msgstr "" -#: views/feeds.py:46 +#: views/feeds.py:50 #, python-format msgid "Open and Reopened Tickets in queue %(queue)s for %(username)s" msgstr "" -#: views/feeds.py:51 +#: views/feeds.py:55 #, python-format msgid "Open and Reopened Tickets for %(username)s" msgstr "" -#: views/feeds.py:98 +#: views/feeds.py:102 msgid "Helpdesk: Unassigned Tickets" msgstr "" -#: views/feeds.py:99 +#: views/feeds.py:103 msgid "Unassigned Open and Reopened tickets" msgstr "" -#: views/feeds.py:124 +#: views/feeds.py:128 msgid "Helpdesk: Recent Followups" msgstr "" -#: views/feeds.py:125 +#: views/feeds.py:129 msgid "" "Recent FollowUps, such as e-mail replies, comments, attachments and " "resolutions" msgstr "" -#: views/feeds.py:140 +#: views/feeds.py:144 #, python-format msgid "Helpdesk: Open Tickets in queue %(queue)s" msgstr "" -#: views/feeds.py:145 +#: views/feeds.py:149 #, python-format msgid "Open and Reopened Tickets in queue %(queue)s" msgstr "" -#: views/public.py:91 +#: views/public.py:89 msgid "Invalid ticket ID or e-mail address. Please try again." msgstr "" -#: views/public.py:109 +#: views/public.py:107 msgid "Submitter accepted resolution and closed ticket" msgstr "" -#: views/staff.py:218 +#: views/staff.py:235 msgid "Accepted resolution and closed ticket" msgstr "" -#: views/staff.py:246 -msgid "Sorry, you need to login to do that." -msgstr "" - -#: views/staff.py:295 +#: views/staff.py:369 #, python-format msgid "Assigned to %(username)s" msgstr "" -#: views/staff.py:318 +#: views/staff.py:392 msgid "Updated" msgstr "" -#: views/staff.py:496 +#: views/staff.py:577 #, python-format msgid "Assigned to %(username)s in bulk update" msgstr "" -#: views/staff.py:501 +#: views/staff.py:582 msgid "Unassigned in bulk update" msgstr "" -#: views/staff.py:506 views/staff.py:511 +#: views/staff.py:587 views/staff.py:592 msgid "Closed in bulk update" msgstr "" -#: views/staff.py:732 +#: views/staff.py:806 msgid "" "

Note: Your keyword search is case sensitive because of " "your database. This means the search will not be accurate. " @@ -2235,86 +2356,38 @@ msgid "" "matching\">Django Documentation on string matching in SQLite." msgstr "" -#: views/staff.py:843 +#: views/staff.py:910 msgid "Ticket taken off hold" msgstr "" -#: views/staff.py:846 +#: views/staff.py:913 msgid "Ticket placed on hold" msgstr "" -#: views/staff.py:914 -msgid "Jan" -msgstr "" - -#: views/staff.py:915 -msgid "Feb" -msgstr "" - -#: views/staff.py:916 -msgid "Mar" -msgstr "" - -#: views/staff.py:917 -msgid "Apr" -msgstr "" - -#: views/staff.py:918 -msgid "May" -msgstr "" - -#: views/staff.py:919 -msgid "Jun" -msgstr "" - -#: views/staff.py:920 -msgid "Jul" -msgstr "" - -#: views/staff.py:921 -msgid "Aug" -msgstr "" - -#: views/staff.py:922 -msgid "Sep" -msgstr "" - -#: views/staff.py:923 -msgid "Oct" -msgstr "" - -#: views/staff.py:924 -msgid "Nov" -msgstr "" - -#: views/staff.py:925 -msgid "Dec" -msgstr "" - -#: views/staff.py:951 +#: views/staff.py:1007 msgid "User by Priority" msgstr "" -#: views/staff.py:957 +#: views/staff.py:1013 msgid "User by Queue" msgstr "" -#: views/staff.py:963 +#: views/staff.py:1019 msgid "User by Status" msgstr "" -#: views/staff.py:969 +#: views/staff.py:1025 msgid "User by Month" msgstr "" -#: views/staff.py:975 +#: views/staff.py:1031 msgid "Queue by Priority" msgstr "" -#: views/staff.py:981 +#: views/staff.py:1037 msgid "Queue by Status" msgstr "" -#: views/staff.py:987 +#: views/staff.py:1043 msgid "Queue by Month" msgstr "" diff --git a/helpdesk/locale/fr/LC_MESSAGES/django.mo b/helpdesk/locale/fr/LC_MESSAGES/django.mo index abf6211d..f2b70a2f 100644 Binary files a/helpdesk/locale/fr/LC_MESSAGES/django.mo and b/helpdesk/locale/fr/LC_MESSAGES/django.mo differ diff --git a/helpdesk/locale/fr/LC_MESSAGES/django.po b/helpdesk/locale/fr/LC_MESSAGES/django.po index 13abf4b3..8b4ef8bd 100644 --- a/helpdesk/locale/fr/LC_MESSAGES/django.po +++ b/helpdesk/locale/fr/LC_MESSAGES/django.po @@ -3,8 +3,10 @@ # This file is distributed under the same license as the django-helpdesk package. # # Translators: -# Fenkiou , 2013 +# Translators: +# Alexandre Papin , 2013 # Alex Garel , 2012 +# Antoine Nguyen , 2014 # yaap , 2012 # kolin22 , 2011 # Ross Poulton , 2011 @@ -12,9 +14,9 @@ msgid "" msgstr "" "Project-Id-Version: django-helpdesk\n" "Report-Msgid-Bugs-To: http://github.com/RossP/django-helpdesk/issues\n" -"POT-Creation-Date: 2012-08-07 20:40+1000\n" -"PO-Revision-Date: 2013-09-26 14:44+0000\n" -"Last-Translator: Fenkiou \n" +"POT-Creation-Date: 2014-07-26 14:14+0200\n" +"PO-Revision-Date: 2014-09-17 07:12+0000\n" +"Last-Translator: Antoine Nguyen \n" "Language-Team: French (http://www.transifex.com/projects/p/django-helpdesk/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -22,1050 +24,1149 @@ msgstr "" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: forms.py:113 forms.py:360 models.py:262 -#: templates/helpdesk/dashboard.html:11 templates/helpdesk/dashboard.html:37 -#: templates/helpdesk/dashboard.html:57 templates/helpdesk/dashboard.html:77 -#: templates/helpdesk/dashboard.html:99 templates/helpdesk/rss_list.html:23 -#: templates/helpdesk/ticket_list.html:56 -#: templates/helpdesk/ticket_list.html:78 -#: templates/helpdesk/ticket_list.html:199 views/staff.py:976 -#: views/staff.py:982 views/staff.py:988 +#: forms.py:128 forms.py:328 models.py:190 models.py:267 +#: templates/helpdesk/dashboard.html:15 templates/helpdesk/dashboard.html:58 +#: templates/helpdesk/dashboard.html:78 templates/helpdesk/dashboard.html:100 +#: templates/helpdesk/dashboard.html:124 templates/helpdesk/rss_list.html:24 +#: templates/helpdesk/ticket_list.html:69 +#: templates/helpdesk/ticket_list.html:88 +#: templates/helpdesk/ticket_list.html:225 views/staff.py:1032 +#: views/staff.py:1038 views/staff.py:1044 views/staff.py:1050 msgid "Queue" msgstr "File d'attente" -#: forms.py:122 +#: forms.py:137 msgid "Summary of the problem" msgstr "Résumé du problème" -#: forms.py:127 +#: forms.py:142 msgid "Submitter E-Mail Address" msgstr "Adresse e-mail de l'émetteur" -#: forms.py:129 +#: forms.py:144 msgid "" "This e-mail address will receive copies of all public updates to this " "ticket." msgstr "Cette adresse e-mail recevra des copies de toutes les mises à jour publiques de ce ticket." -#: forms.py:135 +#: forms.py:150 msgid "Description of Issue" msgstr "Description du problème" -#: forms.py:142 +#: forms.py:157 msgid "Case owner" msgstr "Propriétaire du cas" -#: forms.py:143 +#: forms.py:158 msgid "" "If you select an owner other than yourself, they'll be e-mailed details of " "this ticket immediately." msgstr "Si vous sélectionnez un autre propriétaire que vous-même, il lui sera immédiatement envoyé par courriel les détails de ce billet." -#: forms.py:151 models.py:322 management/commands/escalate_tickets.py:149 -#: templates/helpdesk/public_view_ticket.html:21 -#: templates/helpdesk/ticket.html:176 -#: templates/helpdesk/ticket_desc_table.html:31 -#: templates/helpdesk/ticket_list.html:84 views/staff.py:355 +#: forms.py:166 models.py:327 management/commands/escalate_tickets.py:154 +#: templates/helpdesk/public_view_ticket.html:23 +#: templates/helpdesk/ticket.html:184 +#: templates/helpdesk/ticket_desc_table.html:47 +#: templates/helpdesk/ticket_list.html:94 views/staff.py:429 msgid "Priority" msgstr "Priorité" -#: forms.py:152 +#: forms.py:167 msgid "Please select a priority carefully. If unsure, leave it as '3'." msgstr "Veuillez choisir une priorité avec attention. En cas de doute, laisser sur '3'." -#: forms.py:159 forms.py:397 models.py:330 templates/helpdesk/ticket.html:178 -#: views/staff.py:365 +#: forms.py:174 forms.py:365 models.py:335 templates/helpdesk/ticket.html:186 +#: views/staff.py:439 msgid "Due on" -msgstr "En raison de" +msgstr "Résolution souhaitée le " -#: forms.py:171 forms.py:402 +#: forms.py:186 forms.py:370 msgid "Attach File" msgstr "Joindre un fichier" -#: forms.py:172 forms.py:403 +#: forms.py:187 forms.py:371 msgid "You can attach a file such as a document or screenshot to this ticket." msgstr "Vous pouvez joindre un fichier tel qu'un document ou une capture d'écran pour ce ticket." -#: forms.py:180 templates/helpdesk/public_view_ticket.html:33 -#: templates/helpdesk/ticket.html:182 -#: templates/helpdesk/ticket_desc_table.html:42 -#: templates/helpdesk/ticket_list.html:61 -#: templates/helpdesk/ticket_list.html:199 views/staff.py:376 -msgid "Tags" -msgstr "Tags" - -#: forms.py:181 -msgid "" -"Words, separated by spaces, or phrases separated by commas. These should " -"communicate significant characteristics of this ticket" -msgstr "Mots, séparés par des espaces, ou des phrases séparées par des virgules. Ceux-ci devraient renseigner les caractéristiques importantes de ce billet." - -#: forms.py:275 +#: forms.py:240 msgid "Ticket Opened" msgstr "Billet ouvert" -#: forms.py:282 +#: forms.py:247 #, python-format msgid "Ticket Opened & Assigned to %(name)s" msgstr "Billet ouvert et assigné à %(name)s" -#: forms.py:369 +#: forms.py:337 msgid "Summary of your query" msgstr "Résumé de votre requête" -#: forms.py:374 +#: forms.py:342 msgid "Your E-Mail Address" msgstr "Votre adresse e-mail" -#: forms.py:375 +#: forms.py:343 msgid "We will e-mail you when your ticket is updated." msgstr "Nous vous enverrons un e-mail dès que votre billet sera mis à jour." -#: forms.py:380 +#: forms.py:348 msgid "Description of your issue" msgstr "Description de votre problème" -#: forms.py:382 +#: forms.py:350 msgid "" "Please be as descriptive as possible, including any details we may need to " "address your query." msgstr "Soyez aussi précis que possible dans votre description, renseignez chaque détails dont nous pourrions avoir besoin pour traiter votre requête." -#: forms.py:390 +#: forms.py:358 msgid "Urgency" msgstr "Urgence" -#: forms.py:391 +#: forms.py:359 msgid "Please select a priority carefully." msgstr "Veuillez choisir une priorité avec attention." -#: forms.py:486 +#: forms.py:419 msgid "Ticket Opened Via Web" msgstr "Billet ouvert via le Web" -#: forms.py:553 +#: forms.py:486 msgid "Show Ticket List on Login?" msgstr "Afficher la liste des billets lors de la connexion?" -#: forms.py:554 +#: forms.py:487 msgid "Display the ticket list upon login? Otherwise, the dashboard is shown." msgstr "Afficher la liste des billets lors de la connexion ? Dans le cas contraire, le tableau de bord sera affiché." -#: forms.py:559 +#: forms.py:492 msgid "E-mail me on ticket change?" msgstr "M'envoyer un e-mail lors de changement pour le ticket?" -#: forms.py:560 +#: forms.py:493 msgid "" "If you're the ticket owner and the ticket is changed via the web by somebody" " else, do you want to receive an e-mail?" msgstr "Si vous êtes le propriétaire d'un ticket et que le ticket est modifié via le web par quelqu'un d'autre, voulez-vous recevoir un courriel?" -#: forms.py:565 +#: forms.py:498 msgid "E-mail me when assigned a ticket?" msgstr "M'envoyer un courriel lorsqu'on m'assigne un ticket?" -#: forms.py:566 +#: forms.py:499 msgid "" "If you are assigned a ticket via the web, do you want to receive an e-mail?" msgstr "Si vous êtes affecté à un ticket via le web, voulez-vous recevoir un courriel?" -#: forms.py:571 +#: forms.py:504 msgid "E-mail me when a ticket is changed via the API?" msgstr "M'envoyer un courriel lorsqu'un ticket est modifié via l'API?" -#: forms.py:572 +#: forms.py:505 msgid "If a ticket is altered by the API, do you want to receive an e-mail?" msgstr "Si un ticket est modifié par l'API, voulez-vous recevoir un courriel?" -#: forms.py:577 +#: forms.py:510 msgid "Number of tickets to show per page" msgstr "Nombre de tickets à afficher par page" -#: forms.py:578 +#: forms.py:511 msgid "How many tickets do you want to see on the Ticket List page?" msgstr "Combien de tickets voulez-vous voir sur la page Liste des Tickets?" -#: forms.py:585 +#: forms.py:518 msgid "Use my e-mail address when submitting tickets?" msgstr "Utiliser mon adresse e-mail lors de la soumission des tickets?" -#: forms.py:586 +#: forms.py:519 msgid "" "When you submit a ticket, do you want to automatically use your e-mail " "address as the submitter address? You can type a different e-mail address " "when entering the ticket if needed, this option only changes the default." msgstr "Quand vous soumettez un ticket, voulez-vous d'utiliser automatiquement votre adresse e-mail comme adresse d'émetteur? Vous pouvez taper une autre adresse e-mail lors de la saisie du ticket en cas de besoin, cette option ne modifie que la valeur par défaut." -#: models.py:32 models.py:256 models.py:490 models.py:787 models.py:821 -#: templates/helpdesk/dashboard.html:37 templates/helpdesk/dashboard.html:57 -#: templates/helpdesk/dashboard.html:77 templates/helpdesk/dashboard.html:99 -#: templates/helpdesk/ticket.html:170 templates/helpdesk/ticket_list.html:75 -#: templates/helpdesk/ticket_list.html:199 views/staff.py:345 +#: models.py:35 models.py:261 models.py:503 models.py:817 models.py:853 +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:100 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket.html:178 templates/helpdesk/ticket_list.html:85 +#: templates/helpdesk/ticket_list.html:225 views/staff.py:419 msgid "Title" msgstr "Titre" -#: models.py:37 models.py:792 models.py:1162 +#: models.py:40 models.py:822 models.py:1206 msgid "Slug" msgstr "Slug" -#: models.py:38 +#: models.py:41 msgid "" "This slug is used when building ticket ID's. Once set, try not to change it " "or e-mailing may get messy." msgstr "Ce slug est utilisé lors de la construction des ID tickets. Une fois définie, éssayez de ne pas le changer ou les email risquent de ne plus fonctionner" -#: models.py:43 models.py:1015 models.py:1085 models.py:1159 +#: models.py:46 models.py:1054 models.py:1129 models.py:1203 #: templates/helpdesk/email_ignore_list.html:13 #: templates/helpdesk/ticket_cc_list.html:15 msgid "E-Mail Address" msgstr "Adresse E-Mail" -#: models.py:46 +#: models.py:49 msgid "" "All outgoing e-mails for this queue will use this e-mail address. If you use" " IMAP or POP3, this should be the e-mail address for that mailbox." msgstr "Tous les e-mails sortants pour cette file d'attente utiliseront cette adresse e-mail. Si vous utilisez IMAP ou POP3, ce doit être l'adresse e-mail pour cette boîte aux lettres." -#: models.py:52 models.py:766 +#: models.py:55 models.py:794 msgid "Locale" msgstr "Localisation" -#: models.py:56 +#: models.py:59 msgid "" "Locale of this queue. All correspondence in this queue will be in this " "language." msgstr "Localisation de cette file d'attente. Toute la correspondance dans cette file sera dans cette langue." -#: models.py:60 +#: models.py:63 msgid "Allow Public Submission?" msgstr "Autoriser la publication publique?" -#: models.py:63 +#: models.py:66 msgid "Should this queue be listed on the public submission form?" msgstr "Cette file d'attente doit-elle être listée dans le formulaire public de soumission ?" -#: models.py:68 +#: models.py:71 msgid "Allow E-Mail Submission?" msgstr "Autoriser la publication E-Mail?" -#: models.py:71 +#: models.py:74 msgid "Do you want to poll the e-mail box below for new tickets?" msgstr "Voulez-vous du relever la boîte e-mail ci-dessous pour la création de nouveaux tickets?" -#: models.py:76 +#: models.py:79 msgid "Escalation Days" msgstr "Jours d'augmentation des priorités." -#: models.py:79 +#: models.py:82 msgid "" "For tickets which are not held, how often do you wish to increase their " "priority? Set to 0 for no escalation." msgstr "Pour les tickets qui ne sont pas affectés, à quelle fréquence souhaitez-vous augmenter leur priorité? Mettre à 0 pour pas d'augmentation." -#: models.py:84 +#: models.py:87 msgid "New Ticket CC Address" msgstr "Nouvelle adresse \"copie à\" pour ce ticket" -#: models.py:88 +#: models.py:91 msgid "" "If an e-mail address is entered here, then it will receive notification of " "all new tickets created for this queue. Enter a comma between multiple " "e-mail addresses." msgstr "Chaque adresse mail saisie ici recevra une notification pour chaque ticket nouvellement créé dans cette file. Entrez une liste d'adresses mails séparées par des virgules." -#: models.py:94 +#: models.py:97 msgid "Updated Ticket CC Address" msgstr "Adresse \"copie à\" du ticket mise à jour" -#: models.py:98 +#: models.py:101 msgid "" "If an e-mail address is entered here, then it will receive notification of " "all activity (new tickets, closed tickets, updates, reassignments, etc) for " "this queue. Separate multiple addresses with a comma." msgstr "Chaque adresse mail saisie ici recevra une notification pour toute activité dans cette file (création de ticket, fermeture de ticket, mise à jour, changement de propriétaire, etc.). Entrez une liste d'adresses mails séparées par des virgules." -#: models.py:105 +#: models.py:108 msgid "E-Mail Box Type" msgstr "Type de boites mail" -#: models.py:107 +#: models.py:110 msgid "POP 3" msgstr "POP 3" -#: models.py:107 +#: models.py:110 msgid "IMAP" msgstr "IMAP" -#: models.py:110 +#: models.py:113 msgid "" "E-Mail server type for creating tickets automatically from a mailbox - both " "POP3 and IMAP are supported." msgstr "Type de serveur mail pour la création automatique de tickets depuis une boîte aux lettres - POP3 et IMAP sont supportés." -#: models.py:115 +#: models.py:118 msgid "E-Mail Hostname" msgstr "E-Mail Hostname" -#: models.py:119 +#: models.py:122 msgid "" "Your e-mail server address - either the domain name or IP address. May be " "\"localhost\"." msgstr "Votre adresse de serveur e-mail - soit le nom de domaine ou adresse IP. Peut être \"localhost\"." -#: models.py:124 +#: models.py:127 msgid "E-Mail Port" msgstr "E-Mail Port" -#: models.py:127 +#: models.py:130 msgid "" "Port number to use for accessing e-mail. Default for POP3 is \"110\", and " "for IMAP is \"143\". This may differ on some servers. Leave it blank to use " "the defaults." msgstr "Numéro de port à utiliser pour accéder aux e-mails. Par défaut, POP3 utilise le \"110\", et IMAP le \"143\". Cela peut différer sur certains serveurs. Laissez le champ vide pour utiliser les paramètres par défaut." -#: models.py:133 +#: models.py:136 msgid "Use SSL for E-Mail?" msgstr "Utiliser SSL pour les E-Mail?" -#: models.py:136 +#: models.py:139 msgid "" "Whether to use SSL for IMAP or POP3 - the default ports when using SSL are " "993 for IMAP and 995 for POP3." msgstr "Que ce soit pour utiliser SSL pour IMAP ou POP3 - les ports par défaut lorsque vous utilisez SSL sont 993 pour IMAP et 995 pour POP3." -#: models.py:141 +#: models.py:144 msgid "E-Mail Username" msgstr "Nom d'utilisateur E-Mail" -#: models.py:145 +#: models.py:148 msgid "Username for accessing this mailbox." msgstr "Nom d'utilisateur pour accéder à cette boîte aux lettres." -#: models.py:149 +#: models.py:152 msgid "E-Mail Password" msgstr "Mot de passe E-Mail" -#: models.py:153 +#: models.py:156 msgid "Password for the above username" msgstr "Mot de passe pour le nom d'utilisateur ci-dessus" -#: models.py:157 +#: models.py:160 msgid "IMAP Folder" msgstr "Dossier IMAP" -#: models.py:161 +#: models.py:164 msgid "" "If using IMAP, what folder do you wish to fetch messages from? This allows " "you to use one IMAP account for multiple queues, by filtering messages on " "your IMAP server into separate folders. Default: INBOX." msgstr "Si vous utilisez IMAP, à partir de quel dossier souhaitez-vous extraire les messages? Cela vous permet d'utiliser un compte IMAP pour plusieurs files d'attente, en filtrant les messages sur votre serveur IMAP dans des dossiers distincts. Par défaut: INBOX." -#: models.py:168 +#: models.py:171 msgid "E-Mail Check Interval" msgstr "Périodicité de la vérification des e-mail." -#: models.py:169 +#: models.py:172 msgid "How often do you wish to check this mailbox? (in Minutes)" msgstr "A quelle fréquence voulez vous vérifier cette boîte aux lettres? (En minutes)" -#: models.py:240 templates/helpdesk/dashboard.html:11 -#: templates/helpdesk/ticket.html:130 +#: models.py:191 templates/helpdesk/email_ignore_list.html:13 +msgid "Queues" +msgstr "Files d'attente" + +#: models.py:245 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:138 msgid "Open" msgstr "Ouvert" -#: models.py:241 templates/helpdesk/ticket.html:136 -#: templates/helpdesk/ticket.html.py:142 templates/helpdesk/ticket.html:147 -#: templates/helpdesk/ticket.html.py:151 +#: models.py:246 templates/helpdesk/ticket.html:144 +#: templates/helpdesk/ticket.html.py:150 templates/helpdesk/ticket.html:155 +#: templates/helpdesk/ticket.html.py:159 msgid "Reopened" msgstr "Réouvert" -#: models.py:242 templates/helpdesk/dashboard.html:11 -#: templates/helpdesk/ticket.html:131 templates/helpdesk/ticket.html.py:137 -#: templates/helpdesk/ticket.html:143 +#: models.py:247 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:139 templates/helpdesk/ticket.html.py:145 +#: templates/helpdesk/ticket.html:151 msgid "Resolved" msgstr "Résolu" -#: models.py:243 templates/helpdesk/dashboard.html:11 -#: templates/helpdesk/ticket.html:132 templates/helpdesk/ticket.html.py:138 -#: templates/helpdesk/ticket.html:144 templates/helpdesk/ticket.html.py:148 +#: models.py:248 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:140 templates/helpdesk/ticket.html.py:146 +#: templates/helpdesk/ticket.html:152 templates/helpdesk/ticket.html.py:156 msgid "Closed" msgstr "Fermé" -#: models.py:244 templates/helpdesk/ticket.html:133 -#: templates/helpdesk/ticket.html.py:139 templates/helpdesk/ticket.html:152 +#: models.py:249 templates/helpdesk/ticket.html:141 +#: templates/helpdesk/ticket.html.py:147 templates/helpdesk/ticket.html:160 msgid "Duplicate" msgstr "Doublon" -#: models.py:248 +#: models.py:253 msgid "1. Critical" msgstr "1. Critique" -#: models.py:249 +#: models.py:254 msgid "2. High" msgstr "2. Haut" -#: models.py:250 +#: models.py:255 msgid "3. Normal" msgstr "3. Normal" -#: models.py:251 +#: models.py:256 msgid "4. Low" msgstr "4. Faible" -#: models.py:252 +#: models.py:257 msgid "5. Very Low" msgstr "5. Très faible" -#: models.py:266 templates/helpdesk/dashboard.html:77 -#: templates/helpdesk/ticket_list.html:72 -#: templates/helpdesk/ticket_list.html:199 +#: models.py:271 templates/helpdesk/dashboard.html:100 +#: templates/helpdesk/ticket_list.html:82 +#: templates/helpdesk/ticket_list.html:225 msgid "Created" msgstr "Créé le" -#: models.py:268 +#: models.py:273 msgid "Date this ticket was first created" msgstr "Date de création du ticket" -#: models.py:272 +#: models.py:277 msgid "Modified" msgstr "Mis à jour" -#: models.py:274 +#: models.py:279 msgid "Date this ticket was most recently changed." msgstr "Dernière date de modification de ce ticket." -#: models.py:278 templates/helpdesk/public_view_ticket.html:16 -#: templates/helpdesk/ticket_desc_table.html:26 +#: models.py:283 templates/helpdesk/public_view_ticket.html:18 +#: templates/helpdesk/ticket_desc_table.html:42 msgid "Submitter E-Mail" msgstr "E-mail de l’Émetteur" -#: models.py:281 +#: models.py:286 msgid "" "The submitter will receive an email for all public follow-ups left for this " "task." msgstr "L'émetteur recevra un e-mail pour tous les suivis pour cette tâche." -#: models.py:290 +#: models.py:295 msgid "Assigned to" msgstr "Assigné à" -#: models.py:294 templates/helpdesk/dashboard.html:37 -#: templates/helpdesk/dashboard.html:57 templates/helpdesk/dashboard.html:99 -#: templates/helpdesk/ticket_list.html:57 -#: templates/helpdesk/ticket_list.html:81 -#: templates/helpdesk/ticket_list.html:199 +#: models.py:299 templates/helpdesk/dashboard.html:58 +#: templates/helpdesk/dashboard.html:78 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket_list.html:70 +#: templates/helpdesk/ticket_list.html:91 +#: templates/helpdesk/ticket_list.html:225 msgid "Status" msgstr "État" -#: models.py:300 +#: models.py:305 msgid "On Hold" msgstr "En attente" -#: models.py:303 +#: models.py:308 msgid "If a ticket is on hold, it will not automatically be escalated." msgstr "Si un ticket est en attente, sa priorité ne sera pas automatiquement augmentée." -#: models.py:308 models.py:796 templates/helpdesk/public_view_ticket.html:39 -#: templates/helpdesk/ticket_desc_table.html:67 +#: models.py:313 models.py:826 templates/helpdesk/public_view_ticket.html:41 +#: templates/helpdesk/ticket_desc_table.html:19 msgid "Description" msgstr "Description" -#: models.py:311 +#: models.py:316 msgid "The content of the customers query." msgstr "Contenu de la requête des clients." -#: models.py:315 templates/helpdesk/public_view_ticket.html:46 -#: templates/helpdesk/ticket_desc_table.html:74 +#: models.py:320 templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 msgid "Resolution" msgstr "Solution" -#: models.py:318 +#: models.py:323 msgid "The resolution provided to the customer by our staff." msgstr "La solution fournies au client par notre personnel." -#: models.py:326 +#: models.py:331 msgid "1 = Highest Priority, 5 = Low Priority" msgstr "1 = Priorité la plus élevée , 5 = faible priorité" -#: models.py:339 +#: models.py:344 msgid "" "The date this ticket was last escalated - updated automatically by " "management/commands/escalate_tickets.py." msgstr "La date à laquelle la priorité de ce ticket à été dernièrement augmentée - mise à jour automatiquement par la direction / commandes / escalate_tickets.py." -#: models.py:348 templates/helpdesk/ticket_desc_table.html:22 -#: views/feeds.py:91 views/feeds.py:117 views/feeds.py:169 views/staff.py:302 +#: models.py:353 templates/helpdesk/ticket_desc_table.html:38 +#: views/feeds.py:95 views/feeds.py:121 views/feeds.py:173 views/staff.py:376 msgid "Unassigned" msgstr "Non assigné" -#: models.py:387 +#: models.py:392 msgid " - On Hold" msgstr " - En attente" -#: models.py:481 models.py:1073 models.py:1231 models.py:1256 -#: templates/helpdesk/public_homepage.html:26 +#: models.py:394 +msgid " - Open dependencies" +msgstr "" + +#: models.py:448 models.py:494 models.py:1117 models.py:1280 models.py:1309 +#: templates/helpdesk/public_homepage.html:78 #: templates/helpdesk/public_view_form.html:12 msgid "Ticket" msgstr "Ticket" -#: models.py:485 models.py:714 models.py:1008 models.py:1156 +#: models.py:449 templates/helpdesk/navigation.html:17 +#: templates/helpdesk/ticket_list.html:2 +#: templates/helpdesk/ticket_list.html:224 +msgid "Tickets" +msgstr "Tickets" + +#: models.py:498 models.py:738 models.py:1047 models.py:1200 msgid "Date" msgstr "Date" -#: models.py:497 views/staff.py:316 +#: models.py:510 views/staff.py:390 msgid "Comment" msgstr "Commentaire" -#: models.py:503 +#: models.py:516 msgid "Public" msgstr "Public" -#: models.py:506 +#: models.py:519 msgid "" "Public tickets are viewable by the submitter and all staff, but non-public " "tickets can only be seen by staff." msgstr "Les tickets publics sont visibles par l'émetteur et l'ensemble du personnel, mais les billets non-public ne peuvent être vus que par le personnel." -#: models.py:514 models.py:888 models.py:1081 views/staff.py:952 -#: views/staff.py:958 views/staff.py:964 views/staff.py:970 +#: models.py:527 models.py:922 models.py:1125 views/staff.py:1008 +#: views/staff.py:1014 views/staff.py:1020 views/staff.py:1026 msgid "User" msgstr "Utilisateur" -#: models.py:518 templates/helpdesk/ticket.html:127 +#: models.py:531 templates/helpdesk/ticket.html:135 msgid "New Status" msgstr "Nouvel état" -#: models.py:522 +#: models.py:535 msgid "If the status was changed, what was it changed to?" msgstr "Si l'état a été modifié, en quoi l'a-t-il été?" -#: models.py:551 models.py:608 +#: models.py:542 models.py:566 models.py:628 msgid "Follow-up" msgstr "Suivi" -#: models.py:555 models.py:1236 +#: models.py:543 +msgid "Follow-ups" +msgstr "" + +#: models.py:570 models.py:1285 msgid "Field" msgstr "Champ" -#: models.py:560 +#: models.py:575 msgid "Old Value" msgstr "Ancienne valeur" -#: models.py:566 +#: models.py:581 msgid "New Value" msgstr "Nouvelle valeur" -#: models.py:574 +#: models.py:589 msgid "removed" msgstr "retiré" -#: models.py:576 +#: models.py:591 #, python-format msgid "set to %s" msgstr "défini à %s" -#: models.py:578 +#: models.py:593 #, python-format msgid "changed from \"%(old_value)s\" to \"%(new_value)s\"" msgstr "changé de \"%(old_value)s\" à \"%(new_value)s\"" -#: models.py:612 +#: models.py:600 +msgid "Ticket change" +msgstr "" + +#: models.py:601 +msgid "Ticket changes" +msgstr "" + +#: models.py:632 msgid "File" msgstr "Fichier" -#: models.py:617 +#: models.py:637 msgid "Filename" msgstr "Nom de fichier" -#: models.py:622 +#: models.py:642 msgid "MIME Type" msgstr "Type MIME" -#: models.py:627 +#: models.py:647 msgid "Size" msgstr "Taille" -#: models.py:628 +#: models.py:648 msgid "Size of this file in bytes" msgstr "Poids de ce fichier en octets" -#: models.py:663 +#: models.py:665 +msgid "Attachment" +msgstr "Pièce jointe" + +#: models.py:666 +msgid "Attachments" +msgstr "Pièces jointes" + +#: models.py:685 msgid "" "Leave blank to allow this reply to be used for all queues, or select those " "queues you wish to limit this reply to." msgstr "Laissez vide pour permettre à cette réponse d'être utilisée pour toutes les files d'attente, ou sélectionner les files d'attente auxquelles vous souhaitez limiter cette réponse." -#: models.py:668 models.py:709 models.py:1003 +#: models.py:690 models.py:733 models.py:1042 #: templates/helpdesk/email_ignore_list.html:13 msgid "Name" msgstr "Nom" -#: models.py:670 +#: models.py:692 msgid "" "Only used to assist users with selecting a reply - not shown to the user." msgstr "Seulement utilisé pour aider les utilisateurs à choisir une réponse - n'est pas afficher pour l'utilisateur." -#: models.py:675 +#: models.py:697 msgid "Body" msgstr "Body" -#: models.py:676 +#: models.py:698 msgid "" "Context available: {{ ticket }} - ticket object (eg {{ ticket.title }}); {{ " "queue }} - The queue; and {{ user }} - the current user." msgstr "Context disponible: {{ ticket }} - objet du ticket (eg {{ ticket.title }}); {{ queue }} - La file d'attente; et {{ user }} - l'utilisateur courant." -#: models.py:703 +#: models.py:705 +msgid "Pre-set reply" +msgstr "" + +#: models.py:706 +msgid "Pre-set replies" +msgstr "" + +#: models.py:727 msgid "" "Leave blank for this exclusion to be applied to all queues, or select those " "queues you wish to exclude with this entry." msgstr "Booléen (case à cocher oui / non)" -#: models.py:715 +#: models.py:739 msgid "Date on which escalation should not happen" msgstr "Jours exclus du processus d'augmentation des priorités" -#: models.py:732 +#: models.py:746 +msgid "Escalation exclusion" +msgstr "" + +#: models.py:747 +msgid "Escalation exclusions" +msgstr "" + +#: models.py:760 msgid "Template Name" msgstr "Nom du template" -#: models.py:737 +#: models.py:765 msgid "Subject" msgstr "Sujet" -#: models.py:739 +#: models.py:767 msgid "" "This will be prefixed with \"[ticket.ticket] ticket.title\". We recommend " "something simple such as \"(Updated\") or \"(Closed)\" - the same context is" " available as in plain_text, below." msgstr "Cela sera préfixé avec \"[ticket.ticket] ticket.title\". Nous vous recommandons quelque chose de simple comme \"(Mis à jour\") ou \"(Fermé)\" - le même contexte est disponible en plain_text, ci-dessous." -#: models.py:745 +#: models.py:773 msgid "Heading" msgstr "Titre" -#: models.py:747 +#: models.py:775 msgid "" "In HTML e-mails, this will be the heading at the top of the email - the same" " context is available as in plain_text, below." msgstr "Dans les e-mails HTML, ce sera le titre en haut de l'email - le même contexte est disponible dans le mode plain_text, ci-dessous." -#: models.py:753 +#: models.py:781 msgid "Plain Text" msgstr "Plain Text" -#: models.py:754 +#: models.py:782 msgid "" "The context available to you includes {{ ticket }}, {{ queue }}, and " "depending on the time of the call: {{ resolution }} or {{ comment }}." msgstr "Le contexte disponible inclue {{ ticket }}, {{ queue }}, et suivant le temps passé: {{ resolution }} ou {{ comment }}." -#: models.py:760 +#: models.py:788 msgid "HTML" msgstr "HTML" -#: models.py:761 +#: models.py:789 msgid "The same context is available here as in plain_text, above." msgstr "Le même contexte est disponible ici comme dans plain_text, ci-dessus." -#: models.py:770 +#: models.py:798 msgid "Locale of this template." msgstr "Langue de ce modèle." -#: models.py:817 templates/helpdesk/kb_index.html:10 -#: templates/helpdesk/public_homepage.html:10 +#: models.py:806 +msgid "e-mail template" +msgstr "" + +#: models.py:807 +msgid "e-mail templates" +msgstr "" + +#: models.py:834 +msgid "Knowledge base category" +msgstr "" + +#: models.py:835 +msgid "Knowledge base categories" +msgstr "" + +#: models.py:849 templates/helpdesk/kb_index.html:11 +#: templates/helpdesk/public_homepage.html:11 msgid "Category" msgstr "Catégorie" -#: models.py:826 +#: models.py:858 msgid "Question" msgstr "Question" -#: models.py:830 +#: models.py:862 msgid "Answer" msgstr "Réponse" -#: models.py:834 +#: models.py:866 msgid "Votes" msgstr "Votes" -#: models.py:835 +#: models.py:867 msgid "Total number of votes cast for this item" msgstr "Nombre total de suffrages exprimés pour cet article" -#: models.py:840 +#: models.py:872 msgid "Positive Votes" msgstr "Votes positifs" -#: models.py:841 +#: models.py:873 msgid "Number of votes for this item which were POSITIVE." msgstr "Nombre de votes pour cet article qui ont été positifs." -#: models.py:846 +#: models.py:878 msgid "Last Updated" msgstr "Dernière mise à jour" -#: models.py:847 +#: models.py:879 msgid "The date on which this question was most recently changed." msgstr "La date à laquelle cette question a été la plus récemment modifiées." -#: models.py:861 +#: models.py:893 msgid "Unrated" msgstr "Non évalué" -#: models.py:892 templates/helpdesk/ticket_list.html:158 +#: models.py:901 +msgid "Knowledge base item" +msgstr "" + +#: models.py:902 +msgid "Knowledge base items" +msgstr "" + +#: models.py:926 templates/helpdesk/ticket_list.html:170 msgid "Query Name" msgstr "Nom de la requête" -#: models.py:894 +#: models.py:928 msgid "User-provided name for this query" msgstr "Nom de requête fournie par l'utilisateur" -#: models.py:898 +#: models.py:932 msgid "Shared With Other Users?" msgstr "Partager avec d'autres utilisateurs?" -#: models.py:901 +#: models.py:935 msgid "Should other users see this query?" msgstr "Les autres utilisateurs peuvent-ils voir cette requête?" -#: models.py:905 +#: models.py:939 msgid "Search Query" msgstr "Requête de recherche" -#: models.py:906 +#: models.py:940 msgid "Pickled query object. Be wary changing this." msgstr "Objets de requête. Changement non recommandé." -#: models.py:927 +#: models.py:950 +msgid "Saved search" +msgstr "Recherche sauvegardée" + +#: models.py:951 +msgid "Saved searches" +msgstr "Recherches sauvegardées" + +#: models.py:966 msgid "Settings Dictionary" msgstr "Préférences de dictionnaire" -#: models.py:928 +#: models.py:967 msgid "" "This is a base64-encoded representation of a pickled Python dictionary. Do " "not change this field via the admin." msgstr "Il s'agit d'une représentation codée en base64 d'un dictionnaire Python. Ne pas modifier ce champ par l'admin." -#: models.py:997 +#: models.py:993 +msgid "User Setting" +msgstr "Paramètre utilisateur" + +#: models.py:994 templates/helpdesk/navigation.html:37 +#: templates/helpdesk/user_settings.html:6 +msgid "User Settings" +msgstr "Paramètres Utilisateurs" + +#: models.py:1036 msgid "" "Leave blank for this e-mail to be ignored on all queues, or select those " "queues you wish to ignore this e-mail for." msgstr "Laissez vide cet e-mail pour qu'il soit ignoré par toutes les files d'attente, ou sélectionner les files d'attente qui doivent ignorer cet e-mail." -#: models.py:1009 +#: models.py:1048 msgid "Date on which this e-mail address was added" msgstr "Date à laquelle cette adresse e-mail a été ajouté" -#: models.py:1017 +#: models.py:1056 msgid "" "Enter a full e-mail address, or portions with wildcards, eg *@domain.com or " "postmaster@*." msgstr "Entrez une adresse e-mail complète, ou des parties avec des caractères génériques, par exemple *@domain.com ou postmaster@*." -#: models.py:1022 +#: models.py:1061 msgid "Save Emails in Mailbox?" msgstr "Sauvegarder les e-mails dans la boîte aux lettres?" -#: models.py:1025 +#: models.py:1064 msgid "" "Do you want to save emails from this address in the mailbox? If this is " "unticked, emails from this address will be deleted." msgstr "Voulez-vous enregistrer les courriels provenant de cette adresse dans la boîte aux lettres? Si ce n'est pas cochée, les e-mails de cette adresse seront supprimés." -#: models.py:1080 +#: models.py:1101 +msgid "Ignored e-mail address" +msgstr "" + +#: models.py:1102 +msgid "Ignored e-mail addresses" +msgstr "" + +#: models.py:1124 msgid "User who wishes to receive updates for this ticket." msgstr "Utilisateurs qui désirent recevoir les mises à jour pour ce ticket." -#: models.py:1088 +#: models.py:1132 msgid "For non-user followers, enter their e-mail address" msgstr "Pour des non-utilisateurs suivant les tickets, entrer leur adresse e-mail." -#: models.py:1092 +#: models.py:1136 msgid "Can View Ticket?" msgstr "Est-il possible de voir le ticket?" -#: models.py:1094 +#: models.py:1138 msgid "Can this CC login to view the ticket details?" msgstr "Le destinataire en copie peut-il se connecter pour voir les détails du ticket?" -#: models.py:1098 +#: models.py:1142 msgid "Can Update Ticket?" msgstr "Est-il possible de mettre à jour le ticket?" -#: models.py:1100 +#: models.py:1144 msgid "Can this CC login and update the ticket?" msgstr "Le destinataire en copie peut-il se connecter et mettre à jour le ticket?" -#: models.py:1131 +#: models.py:1175 msgid "Field Name" msgstr "Nom du champ" -#: models.py:1132 +#: models.py:1176 msgid "" "As used in the database and behind the scenes. Must be unique and consist of" " only lowercase letters with no punctuation." msgstr "Utilisé dans la base de données et dans les coulisses. Doit être unique et se composer de lettres minuscules sans ponctuation." -#: models.py:1137 +#: models.py:1181 msgid "Label" msgstr "Label" -#: models.py:1139 +#: models.py:1183 msgid "The display label for this field" msgstr "Le label affiché pour ce champ" -#: models.py:1143 +#: models.py:1187 msgid "Help Text" msgstr "Texte d'aide" -#: models.py:1144 +#: models.py:1188 msgid "Shown to the user when editing the ticket" msgstr "Montré à l'utilisateur lors de l'édition du ticket" -#: models.py:1150 +#: models.py:1194 msgid "Character (single line)" msgstr "Caractère (une seule ligne)" -#: models.py:1151 +#: models.py:1195 msgid "Text (multi-line)" msgstr "Texte (multi-ligne)" -#: models.py:1152 +#: models.py:1196 msgid "Integer" msgstr "Entier" -#: models.py:1153 +#: models.py:1197 msgid "Decimal" msgstr "Décimal" -#: models.py:1154 +#: models.py:1198 msgid "List" msgstr "Liste" -#: models.py:1155 +#: models.py:1199 msgid "Boolean (checkbox yes/no)" msgstr "Booléen (case à cocher oui / non)" -#: models.py:1157 +#: models.py:1201 msgid "Time" msgstr "Heure" -#: models.py:1158 +#: models.py:1202 msgid "Date & Time" msgstr "Date & Heure" -#: models.py:1160 +#: models.py:1204 msgid "URL" msgstr "URL" -#: models.py:1161 +#: models.py:1205 msgid "IP Address" msgstr "Adresse IP" -#: models.py:1166 +#: models.py:1210 msgid "Data Type" msgstr "Type de données" -#: models.py:1168 +#: models.py:1212 msgid "Allows you to restrict the data entered into this field" msgstr "Permet de restreindre les données saisies dans ce domaine" -#: models.py:1173 +#: models.py:1217 msgid "Maximum Length (characters)" msgstr "Longueur maximale (caractères)" -#: models.py:1179 +#: models.py:1223 msgid "Decimal Places" msgstr "Décimales" -#: models.py:1180 +#: models.py:1224 msgid "Only used for decimal fields" msgstr "Utilisé uniquement pour les champs décimaux" -#: models.py:1186 +#: models.py:1230 msgid "Add empty first choice to List?" msgstr "Ajouter un premier choix à la liste ?" -#: models.py:1187 +#: models.py:1232 msgid "" "Only for List: adds an empty first entry to the choices list, which enforces" " that the user makes an active choice." msgstr "Seulement pour la liste: ajoute une première entrée vide dans la liste des choix, ce qui impose à l'utilisateur de faire un choix actif." -#: models.py:1191 +#: models.py:1236 msgid "List Values" msgstr "Valeurs de la liste" -#: models.py:1192 +#: models.py:1237 msgid "For list fields only. Enter one option per line." msgstr "Pour les champs de la liste seulement. Entrez une option par ligne." -#: models.py:1198 +#: models.py:1243 msgid "Ordering" msgstr "Commande" -#: models.py:1199 +#: models.py:1244 msgid "Lower numbers are displayed first; higher numbers are listed later" msgstr "Les plus petits nombres sont affichés en premiers ; les plus élevés sont listés après." -#: models.py:1213 +#: models.py:1258 msgid "Required?" msgstr "Requis?" -#: models.py:1214 +#: models.py:1259 msgid "Does the user have to enter a value for this field?" msgstr "L'utilisateur doit-il entrer une valeur pour ce champ?" -#: models.py:1218 +#: models.py:1263 msgid "Staff Only?" msgstr "Equipe uniquement?" -#: models.py:1219 +#: models.py:1264 msgid "" "If this is ticked, then the public submission form will NOT show this field" msgstr "Si cette option est cochée, le formulaire de soumission public ne pourra pas afficher ce champs" -#: models.py:1262 +#: models.py:1273 +msgid "Custom field" +msgstr "Champ personnalisé" + +#: models.py:1274 +msgid "Custom fields" +msgstr "Champs personnalisés" + +#: models.py:1297 +msgid "Ticket custom field value" +msgstr "" + +#: models.py:1298 +msgid "Ticket custom field values" +msgstr "" + +#: models.py:1315 msgid "Depends On Ticket" msgstr "Dépend du ticket" -#: management/commands/create_usersettings.py:21 +#: models.py:1324 +msgid "Ticket dependency" +msgstr "" + +#: models.py:1325 +msgid "Ticket dependencies" +msgstr "" + +#: management/commands/create_usersettings.py:25 msgid "" "Check for user without django-helpdesk UserSettings and create settings if " "required. Uses settings.DEFAULT_USER_SETTINGS which can be overridden to " "suit your situation." msgstr "Recherche les utilisateurs sans django-helpdesk UserSettings et crée leur configuration si nécessaire. Utilise settings.DEFAULT_USER_SETTINGS que vous pouvez personnaliser pour s'adapter à vos besoins." -#: management/commands/escalate_tickets.py:143 +#: management/commands/escalate_tickets.py:148 #, python-format msgid "Ticket escalated after %s days" msgstr "Ticket augmenté après %s days" -#: management/commands/get_email.py:151 +#: management/commands/get_email.py:158 msgid "Created from e-mail" msgstr "Créé à partir de l'e-mail" -#: management/commands/get_email.py:155 +#: management/commands/get_email.py:162 msgid "Unknown Sender" msgstr "Expéditeur inconnu" -#: management/commands/get_email.py:209 +#: management/commands/get_email.py:216 msgid "" "No plain-text email body available. Please see attachment " "email_html_body.html." msgstr "Aucun e-mail en plain-text disponible. Veuillez voir la pièce jointe email_html_body.html." -#: management/commands/get_email.py:213 +#: management/commands/get_email.py:220 msgid "email_html_body.html" msgstr "email_html_body.html" -#: management/commands/get_email.py:256 +#: management/commands/get_email.py:263 #, python-format msgid "E-Mail Received from %(sender_email)s" msgstr "E-mail reçu de %(sender_email)s " -#: management/commands/get_email.py:264 +#: management/commands/get_email.py:271 #, python-format msgid "Ticket Re-Opened by E-Mail Received from %(sender_email)s" msgstr "Ticket re-ouvert par E-mail reçu de %(sender_email)s " -#: management/commands/get_email.py:322 +#: management/commands/get_email.py:329 msgid " (Reopened)" msgstr "(Ré-ouvert)" -#: management/commands/get_email.py:324 +#: management/commands/get_email.py:331 msgid " (Updated)" msgstr "(Mis à jour)" #: templates/helpdesk/attribution.html:2 msgid "" -"Powered by django-" -"helpdesk." -msgstr "Propulsé par django-helpdesk." +"django-helpdesk." +msgstr "" -#: templates/helpdesk/attribution.html:4 -msgid "For technical support please contact:" -msgstr "Pour un support technique, veuillez contacter :" - -#: templates/helpdesk/base.html:9 +#: templates/helpdesk/base.html:10 msgid "Powered by django-helpdesk" msgstr "Propulsé par django-helpdesk" -#: templates/helpdesk/base.html:19 templates/helpdesk/rss_list.html:9 -#: templates/helpdesk/rss_list.html:23 templates/helpdesk/rss_list.html:28 +#: templates/helpdesk/base.html:20 templates/helpdesk/rss_list.html:9 +#: templates/helpdesk/rss_list.html:24 templates/helpdesk/rss_list.html:31 msgid "My Open Tickets" msgstr "Mes Tickets Ouverts" -#: templates/helpdesk/base.html:20 +#: templates/helpdesk/base.html:21 msgid "All Recent Activity" msgstr "Toute l'Activité Récente" -#: templates/helpdesk/base.html:21 templates/helpdesk/dashboard.html:76 +#: templates/helpdesk/base.html:22 templates/helpdesk/dashboard.html:99 #: templates/helpdesk/rss_list.html:15 msgid "Unassigned Tickets" msgstr "Tickets non-assignés" -#: templates/helpdesk/base.html:101 templates/helpdesk/public_base.html:6 -#: templates/helpdesk/public_base.html:14 +#: templates/helpdesk/base.html:52 templates/helpdesk/public_base.html:6 +#: templates/helpdesk/public_base.html:18 msgid "Helpdesk" msgstr "Helpdesk" -#: templates/helpdesk/base.html:111 templates/helpdesk/rss_list.html:9 +#: templates/helpdesk/base.html:62 templates/helpdesk/rss_list.html:9 #: templates/helpdesk/rss_list.html:12 templates/helpdesk/rss_list.html:15 -#: templates/helpdesk/rss_list.html:27 templates/helpdesk/rss_list.html:28 +#: templates/helpdesk/rss_list.html:30 templates/helpdesk/rss_list.html:31 msgid "RSS Icon" msgstr "Icône RSS" -#: templates/helpdesk/base.html:111 templates/helpdesk/rss_list.html:2 +#: templates/helpdesk/base.html:62 templates/helpdesk/rss_list.html:2 #: templates/helpdesk/rss_list.html.py:4 msgid "RSS Feeds" msgstr "Flux RSS" -#: templates/helpdesk/base.html:112 +#: templates/helpdesk/base.html:63 msgid "API" msgstr "API" -#: templates/helpdesk/base.html:113 -msgid "User Settings" -msgstr "Paramètres Utilisateurs" - -#: templates/helpdesk/base.html:115 -msgid "Change Language" -msgstr "Changer la Langue" - -#: templates/helpdesk/base.html:117 +#: templates/helpdesk/base.html:64 templates/helpdesk/system_settings.html:6 msgid "System Settings" msgstr "Paramètres Systèmes" #: templates/helpdesk/confirm_delete_saved_query.html:3 -#: templates/helpdesk/ticket_list.html:144 +#: templates/helpdesk/ticket_list.html:146 msgid "Delete Saved Query" msgstr "Supprimer la requête enregistrée" -#: templates/helpdesk/confirm_delete_saved_query.html:5 +#: templates/helpdesk/confirm_delete_saved_query.html:6 +msgid "Delete Query" +msgstr "" + +#: templates/helpdesk/confirm_delete_saved_query.html:8 #, python-format msgid "" -"\n" -"

Delete Query

\n" -"\n" -"

Are you sure you want to delete this saved filter (%(query_title)s)? To re-create it, you will need to manually re-filter your ticket listing.

\n" -msgstr "\n

Supprimer la requête

\n\n

Etes-vous sur de vouloir supprimer ce filtre (%(query_title)s)? Pour le refaire, vous devrez manuellement re-filtrer la liste des tickets.

\n" +"Are you sure you want to delete this saved filter " +"(%(query_title)s)? To re-create it, you will need to manually re-" +"filter your ticket listing." +msgstr "" #: templates/helpdesk/confirm_delete_saved_query.html:11 msgid "" -"\n" -"

You have shared this query, so other users may be using it. If you delete it, they will have to manually create their own query.

\n" -msgstr "\n

Vous avez partagé cette requête, donc les autres utilisateurs peuvent l'utiliser. Si vous la supprimer, ils devront créer la leur manuellement.

\n" +"You have shared this query, so other users may be using it. If you delete " +"it, they will have to manually create their own query." +msgstr "" -#: templates/helpdesk/confirm_delete_saved_query.html:15 -#: templates/helpdesk/delete_ticket.html:11 +#: templates/helpdesk/confirm_delete_saved_query.html:14 +#: templates/helpdesk/delete_ticket.html:10 msgid "No, Don't Delete It" msgstr "Non, ne le supprimez pas." -#: templates/helpdesk/confirm_delete_saved_query.html:17 -#: templates/helpdesk/delete_ticket.html:13 +#: templates/helpdesk/confirm_delete_saved_query.html:16 +#: templates/helpdesk/delete_ticket.html:12 msgid "Yes - Delete It" msgstr "Oui, supprimez le." @@ -1073,21 +1174,25 @@ msgstr "Oui, supprimez le." msgid "Create Ticket" msgstr "Créer un ticket" -#: templates/helpdesk/create_ticket.html:6 -msgid "" -"

Submit a Ticket

\n" -"\n" -"

Unless otherwise stated, all fields are required. Please provide as descriptive a title and description as possible.

" -msgstr "

Soumettre Un Ticket

\n\n

Sauf mention contraire, tous les champs sont obligatoires. Veuillez fournir un titre et une description aussi explicite que possible.

" +#: templates/helpdesk/create_ticket.html:10 +#: templates/helpdesk/navigation.html:65 templates/helpdesk/navigation.html:68 +#: templates/helpdesk/public_homepage.html:27 +msgid "Submit a Ticket" +msgstr "Soumettre un Ticket" -#: templates/helpdesk/create_ticket.html:17 -#: templates/helpdesk/edit_ticket.html:19 -#: templates/helpdesk/public_homepage.html:50 -msgid "(Optional)" -msgstr "(Optionnel)" +#: templates/helpdesk/create_ticket.html:11 +#: templates/helpdesk/edit_ticket.html:11 +msgid "Unless otherwise stated, all fields are required." +msgstr "" -#: templates/helpdesk/create_ticket.html:26 -#: templates/helpdesk/public_homepage.html:59 +#: templates/helpdesk/create_ticket.html:11 +#: templates/helpdesk/edit_ticket.html:11 +#: templates/helpdesk/public_homepage.html:28 +msgid "Please provide as descriptive a title and description as possible." +msgstr "" + +#: templates/helpdesk/create_ticket.html:30 +#: templates/helpdesk/public_homepage.html:55 msgid "Submit Ticket" msgstr "Soumettre un ticket" @@ -1095,136 +1200,176 @@ msgstr "Soumettre un ticket" msgid "Helpdesk Dashboard" msgstr "Tableau de bord Helpdesk" -#: templates/helpdesk/dashboard.html:10 -msgid "Helpdesk Summary" -msgstr "Résumé Helpdesk" - -#: templates/helpdesk/dashboard.html:25 +#: templates/helpdesk/dashboard.html:9 msgid "" "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." -msgstr "" +msgstr "Bienvenue dans votre tableau de bord! D'ici vous pouvez rapidement voir les tickets que vous avez soumis, ceux sur lesquels vous travaillez et ceux sur qui n'ont pas de propriétaire." -#: templates/helpdesk/dashboard.html:27 -msgid "" -"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?" -msgstr "Bienvenue sur votre Dashboard Helpdesk! D'ici, vous pouvez rapidement voir vos propres tickets et les tickets qui n'ont pas de propriétaire. Pourquoi ne pas prendre un ticket orphelin et trouver une solution pour un client?" +#: templates/helpdesk/dashboard.html:14 +msgid "Helpdesk Summary" +msgstr "Résumé Helpdesk" #: templates/helpdesk/dashboard.html:36 +msgid "Current Ticket Stats" +msgstr "" + +#: templates/helpdesk/dashboard.html:37 +msgid "Average number of days until ticket is closed (all tickets): " +msgstr "" + +#: templates/helpdesk/dashboard.html:38 +msgid "" +"Average number of days until ticket is closed (tickets opened in last 60 " +"days): " +msgstr "" + +#: templates/helpdesk/dashboard.html:39 +msgid "Click" +msgstr "" + +#: templates/helpdesk/dashboard.html:39 +msgid "for detailed average by month." +msgstr "" + +#: templates/helpdesk/dashboard.html:40 +msgid "Distribution of open tickets, grouped by time period:" +msgstr "" + +#: templates/helpdesk/dashboard.html:41 +msgid "Days since opened" +msgstr "" + +#: templates/helpdesk/dashboard.html:41 +msgid "Number of open tickets" +msgstr "" + +#: templates/helpdesk/dashboard.html:57 msgid "All Tickets submitted by you" msgstr "Tous les tickets que vous avez soumis" -#: templates/helpdesk/dashboard.html:37 templates/helpdesk/dashboard.html:57 -#: templates/helpdesk/dashboard.html:77 templates/helpdesk/dashboard.html:99 -#: templates/helpdesk/ticket_list.html:199 +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:100 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket_list.html:225 msgid "Pr" msgstr "Pr" -#: templates/helpdesk/dashboard.html:37 templates/helpdesk/dashboard.html:57 -#: templates/helpdesk/dashboard.html:99 +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:124 msgid "Last Update" msgstr "Dernière mise à jour" -#: templates/helpdesk/dashboard.html:56 +#: templates/helpdesk/dashboard.html:77 msgid "Open Tickets assigned to you (you are working on this ticket)" msgstr "Ouvrir les tickets qui vous sont assignés (vous travaillez sur ce ticket)" -#: templates/helpdesk/dashboard.html:69 +#: templates/helpdesk/dashboard.html:92 msgid "You have no tickets assigned to you." msgstr "Vous n'avez aucun ticket qui vous est assigné." -#: templates/helpdesk/dashboard.html:76 +#: templates/helpdesk/dashboard.html:99 msgid "(pick up a ticket if you start to work on it)" msgstr "" -#: templates/helpdesk/dashboard.html:85 -#: templates/helpdesk/ticket_desc_table.html:22 +#: templates/helpdesk/dashboard.html:110 +#: templates/helpdesk/ticket_desc_table.html:38 msgid "Take" msgstr "Prendre" -#: templates/helpdesk/dashboard.html:85 +#: templates/helpdesk/dashboard.html:110 #: templates/helpdesk/email_ignore_list.html:13 #: templates/helpdesk/email_ignore_list.html:23 #: templates/helpdesk/ticket_cc_list.html:15 #: templates/helpdesk/ticket_cc_list.html:23 -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Delete" msgstr "Supprimer" -#: templates/helpdesk/dashboard.html:89 +#: templates/helpdesk/dashboard.html:114 msgid "There are no unassigned tickets." msgstr "Il n'y a aucun ticket non assigné." -#: templates/helpdesk/dashboard.html:98 +#: templates/helpdesk/dashboard.html:123 msgid "Closed & resolved Tickets you used to work on" msgstr "Les tickets fermés et résolus sur lesquels vous avez travaillé." #: templates/helpdesk/delete_ticket.html:3 +#: templates/helpdesk/delete_ticket.html:6 msgid "Delete Ticket" msgstr "Supprimer le ticket" -#: templates/helpdesk/delete_ticket.html:5 +#: templates/helpdesk/delete_ticket.html:8 #, python-format msgid "" -"\n" -"

Delete Ticket

\n" -"\n" -"

Are you sure you want to delete this ticket (%(ticket_title)s)? All traces of the ticket, including followups, attachments, and updates will be irreversably removed.

\n" -msgstr "\n

Supprimer le Ticket

\n\n

Etes-vous sur de vouloir supprimer ce ticket (%(ticket_title)s)? Toute trace de ce ticket, incluant les suivies, pièces jointes, et mises à jour seront irrémédiablement supprimés.

\n" +"Are you sure you want to delete this ticket (%(ticket_title)s)? All" +" traces of the ticket, including followups, attachments, and updates will be" +" irreversibly removed." +msgstr "" #: templates/helpdesk/edit_ticket.html:3 msgid "Edit Ticket" msgstr "Editer le ticket" -#: templates/helpdesk/edit_ticket.html:6 -msgid "" -"

Edit a Ticket

\n" -"\n" -"

Unless otherwise stated, all fields are required. Please provide as descriptive a title and description as possible.

\n" -"\n" -"

Note: Editing a ticket does not send an e-mail to the ticket owner or submitter. No new details should be entered, this form should only be used to fix incorrect details or clean up the submission.

" -msgstr "

Modifier un Ticket

\n\n

Sauf mention contraire, tous les champs sont requis. Veuillez fournir une description et un titre aussi explicite que possible.

\n\n

Note: Modifier un ticket n'envoit pas d'e-mail au propriétaire ou à l'émetteur du ticket. Aucun nouveu détail ne devrait être entré, ce formulaire ne doit être utilisé que pour corriger des informations incorrectes, ou pour nettoyer la soumission.

" +#: templates/helpdesk/edit_ticket.html:9 +msgid "Edit a Ticket" +msgstr "" -#: templates/helpdesk/edit_ticket.html:28 +#: templates/helpdesk/edit_ticket.html:13 +msgid "Note" +msgstr "" + +#: templates/helpdesk/edit_ticket.html:13 +msgid "" +"Editing a ticket does not send an e-mail to the ticket owner or " +"submitter. No new details should be entered, this form should only be used " +"to fix incorrect details or clean up the submission." +msgstr "" + +#: templates/helpdesk/edit_ticket.html:33 msgid "Save Changes" msgstr "Sauvegarder les changements" #: templates/helpdesk/email_ignore_add.html:3 +#: templates/helpdesk/email_ignore_add.html:6 #: templates/helpdesk/email_ignore_add.html:23 msgid "Ignore E-Mail Address" msgstr "Ignorer l'adresse e-mail" -#: templates/helpdesk/email_ignore_add.html:5 +#: templates/helpdesk/email_ignore_add.html:8 msgid "" -"\n" -"

Ignore E-Mail Address

\n" -"\n" -"

To ignore an e-mail address and prevent any emails from that address creating tickets automatically, enter the e-mail address below.

\n" -"\n" -"

You can either enter a whole e-mail address such as email@domain.com or a portion of an e-mail address with a wildcard, such as *@domain.com or user@*.

" -msgstr "\n

Ignorer une adresse E-Mail

\n\n

Pour ignorer une adresse e-mail et empêcher la création automatique de tickets depuis cette adresse, entrer la ci-dessous.

\n\n

Vous pouvez entrer une adresse e-mail complète telle que email@domain.com ou une portion d'adresse avec un caractère de remplacement, comme par exemple *@domain.com ou user@*.

" +"To ignore an e-mail address and prevent any emails from that address " +"creating tickets automatically, enter the e-mail address below." +msgstr "" + +#: templates/helpdesk/email_ignore_add.html:10 +msgid "" +"You can either enter a whole e-mail address such as " +"email@domain.com or a portion of an e-mail address with a wildcard," +" such as *@domain.com or user@*." +msgstr "" #: templates/helpdesk/email_ignore_del.html:3 msgid "Delete Ignored E-Mail Address" msgstr "Supprimer l'adresse e-mail ignorée" -#: templates/helpdesk/email_ignore_del.html:5 +#: templates/helpdesk/email_ignore_del.html:6 +msgid "Un-Ignore E-Mail Address" +msgstr "" + +#: templates/helpdesk/email_ignore_del.html:8 #, python-format msgid "" -"\n" -"

Un-Ignore E-Mail Address

\n" -"\n" -"

Are you sure you wish to stop removing this email address (%(email_address)s) and allow their e-mails to automatically create tickets in your system? You can re-add this e-mail address at any time.

\n" -msgstr "\n

Ne plus ignorer l'adresse e-mail

\n\n

Êtes-vous sûr de vouloir arrêter d'ignorer cette adresse e-mail ( %(email_address)s ) et autoriser leurs e-mails à créer automatiquement des tickets dans votre système? Vous pouvez rajouter cette adresse e-mail à tout moment.

\n" +"Are you sure you wish to stop removing this email address " +"(%(email_address)s) and allow their e-mails to automatically create" +" tickets in your system? You can re-add this e-mail address at any time." +msgstr "" -#: templates/helpdesk/email_ignore_del.html:11 +#: templates/helpdesk/email_ignore_del.html:10 msgid "Keep Ignoring It" msgstr "Continuer à ignorer" -#: templates/helpdesk/email_ignore_del.html:13 +#: templates/helpdesk/email_ignore_del.html:12 msgid "Stop Ignoring It" msgstr "Arrêter de l'ignorer" @@ -1245,16 +1390,12 @@ msgstr "\n

Adresses E-Mail Ignorées

\n\n

Les adresses e-mail suivant msgid "Date Added" msgstr "Date ajoutée" -#: templates/helpdesk/email_ignore_list.html:13 -msgid "Queues" -msgstr "Files d'attente" - #: templates/helpdesk/email_ignore_list.html:13 msgid "Keep in mailbox?" msgstr "Conserver dans la boîte aux lettres?" #: templates/helpdesk/email_ignore_list.html:21 -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "All" msgstr "Tout" @@ -1289,7 +1430,7 @@ msgid "Comment:" msgstr "Commentaire :" #: templates/helpdesk/kb_category.html:4 -#: templates/helpdesk/kb_category.html:11 +#: templates/helpdesk/kb_category.html:12 #, python-format msgid "Knowledgebase Category: %(kbcat)s" msgstr "Catégorie de la Base de connaissances: %(kbcat)s " @@ -1299,12 +1440,12 @@ msgstr "Catégorie de la Base de connaissances: %(kbcat)s " msgid "You are viewing all items in the %(kbcat)s category." msgstr "Vous lisez tous les articles dans la catégorie %(kbcat)s." -#: templates/helpdesk/kb_category.html:12 +#: templates/helpdesk/kb_category.html:13 msgid "Article" msgstr "Article" -#: templates/helpdesk/kb_index.html:4 templates/helpdesk/navigation.html:11 -#: templates/helpdesk/navigation.html:33 +#: templates/helpdesk/kb_index.html:4 templates/helpdesk/navigation.html:21 +#: templates/helpdesk/navigation.html:71 msgid "Knowledgebase" msgstr "Base de connaissance" @@ -1315,8 +1456,8 @@ msgid "" "your problem prior to opening a support ticket." msgstr "Nous avons listé un certain nombre d'articles de la base pour votre lecture dans les catégories suivantes. Veuillez vérifier si l'un de ces articles traite de votre problème avant d'ouvrir un nouveau ticket." -#: templates/helpdesk/kb_index.html:9 -#: templates/helpdesk/public_homepage.html:9 +#: templates/helpdesk/kb_index.html:10 +#: templates/helpdesk/public_homepage.html:10 msgid "Knowledgebase Categories" msgstr "Catégories de la base de connaissance" @@ -1325,7 +1466,7 @@ msgstr "Catégories de la base de connaissance" msgid "Knowledgebase: %(item)s" msgstr "Base de connaissances: %(item)s" -#: templates/helpdesk/kb_item.html:13 +#: templates/helpdesk/kb_item.html:16 #, python-format msgid "" "View other %(category_title)s " @@ -1333,88 +1474,82 @@ msgid "" "articles." msgstr "Voir les autres%(category_title)s articles, ou continuer à lire les articles de la base de connaissances ." -#: templates/helpdesk/kb_item.html:15 +#: templates/helpdesk/kb_item.html:18 msgid "Feedback" msgstr "Commentaires" -#: templates/helpdesk/kb_item.html:17 +#: templates/helpdesk/kb_item.html:20 msgid "" "We give our users an opportunity to vote for items that they believe have " "helped them out, in order for us to better serve future customers. We would " "appreciate your feedback on this article. Did you find it useful?" msgstr "Nous donnons à nos utilisateurs la possibilité de voter pour les articles qu'ils estiment les avoir aidés, afin que nous puissions mieux servir les clients futurs. Nous aimerions recevoir vos commentaires sur cet article. L'avez-vous trouvé utile?" -#: templates/helpdesk/kb_item.html:20 +#: templates/helpdesk/kb_item.html:23 msgid "This article was useful to me" msgstr "Cet article a été utile pour moi" -#: templates/helpdesk/kb_item.html:21 +#: templates/helpdesk/kb_item.html:24 msgid "This article was not useful to me" msgstr "Cet article n'a pas été utile pour moi" -#: templates/helpdesk/kb_item.html:24 +#: templates/helpdesk/kb_item.html:27 msgid "The results of voting by other readers of this article are below:" msgstr "Les résultats du vote par d'autres lecteurs du présent article sont ci-dessous:" -#: templates/helpdesk/kb_item.html:27 +#: templates/helpdesk/kb_item.html:30 #, python-format msgid "Recommendations: %(recommendations)s" msgstr "Recommendations : %(recommendations)s" -#: templates/helpdesk/kb_item.html:28 +#: templates/helpdesk/kb_item.html:31 #, python-format msgid "Votes: %(votes)s" msgstr "Votes : %(votes)s" -#: templates/helpdesk/kb_item.html:29 +#: templates/helpdesk/kb_item.html:32 #, python-format msgid "Overall Rating: %(score)s" msgstr "Note globale: %(score)s " -#: templates/helpdesk/navigation.html:4 +#: templates/helpdesk/navigation.html:16 templates/helpdesk/navigation.html:64 msgid "Dashboard" msgstr "Tableau de bord" -#: templates/helpdesk/navigation.html:5 -#: templates/helpdesk/ticket_list.html:198 -msgid "Tickets" -msgstr "Tickets" - -#: templates/helpdesk/navigation.html:6 +#: templates/helpdesk/navigation.html:18 msgid "New Ticket" msgstr "Nouveau Ticket" -#: templates/helpdesk/navigation.html:8 +#: templates/helpdesk/navigation.html:19 msgid "Stats" msgstr "Statistiques" -#: templates/helpdesk/navigation.html:14 -#: templates/helpdesk/ticket_list.html:46 -msgid "Load Saved Query" -msgstr "Charger la requête enregistrée" +#: templates/helpdesk/navigation.html:24 +msgid "Saved Query" +msgstr "" -#: templates/helpdesk/navigation.html:25 templates/helpdesk/navigation.html:35 -msgid "Logout" -msgstr "Déconnexion" +#: templates/helpdesk/navigation.html:39 +msgid "Change password" +msgstr "" -#: templates/helpdesk/navigation.html:26 +#: templates/helpdesk/navigation.html:50 msgid "Search..." msgstr "Rechercher ..." -#: templates/helpdesk/navigation.html:26 +#: templates/helpdesk/navigation.html:50 msgid "Enter a keyword, or a ticket number to jump straight to that ticket." msgstr "Entrez un mot clé ou un numéro de ticket pour aller directement à ce ticket." -#: templates/helpdesk/navigation.html:31 -msgid "Submit A Ticket" -msgstr "Soumettre un ticket" +#: templates/helpdesk/navigation.html:73 +msgid "Logout" +msgstr "Déconnexion" -#: templates/helpdesk/navigation.html:35 +#: templates/helpdesk/navigation.html:73 msgid "Log In" msgstr "Connexion" #: templates/helpdesk/public_change_language.html:2 -#: templates/helpdesk/public_homepage.html:21 +#: templates/helpdesk/public_homepage.html:73 #: templates/helpdesk/public_view_form.html:4 #: templates/helpdesk/public_view_ticket.html:2 msgid "View a Ticket" @@ -1428,74 +1563,81 @@ msgstr "Changer la langue d'affichage" msgid "Knowledgebase Articles" msgstr "Base de connaissances des articles" -#: templates/helpdesk/public_homepage.html:29 +#: templates/helpdesk/public_homepage.html:28 +msgid "All fields are required." +msgstr "Tous les champs sont obligatoires." + +#: templates/helpdesk/public_homepage.html:66 +msgid "Please use button at upper right to login first." +msgstr "Veuillez utiliser le boutton en haut à droite pour vous connecter." + +#: templates/helpdesk/public_homepage.html:82 #: templates/helpdesk/public_view_form.html:15 msgid "Your E-mail Address" msgstr "Votre adresse e-mail" -#: templates/helpdesk/public_homepage.html:33 +#: templates/helpdesk/public_homepage.html:86 #: templates/helpdesk/public_view_form.html:19 msgid "View Ticket" msgstr "Voir un Ticket" -#: templates/helpdesk/public_homepage.html:39 -msgid "Submit a Ticket" -msgstr "Soumettre un Ticket" - -#: templates/helpdesk/public_homepage.html:41 -msgid "" -"All fields are required. Please provide as descriptive a title and " -"description as possible." -msgstr "Tous les champs sont requis. Veuillez fournir un titre et une description aussi complète que possible." - -#: templates/helpdesk/public_homepage.html:67 -msgid "Please use button at upper right to login first." -msgstr "Veuillez utiliser le boutton en haut à droite pour vous connecter." - #: templates/helpdesk/public_spam.html:4 msgid "Unable To Open Ticket" msgstr "Impossible d'ouvrir le ticket" +#: templates/helpdesk/public_spam.html:5 +msgid "Sorry, but there has been an error trying to submit your ticket." +msgstr "" + #: templates/helpdesk/public_spam.html:6 msgid "" -"

Sorry, but there has been an error trying to submit your ticket.

\n" -"\n" -"

Our system has marked your submission as spam, so we are unable to save it. If this is not spam, please press back and re-type your message. Be careful to avoid sounding 'spammy', and if you have heaps of links please try removing them if possible.

\n" -"\n" -"

We are sorry for any inconvenience, however this check is required to avoid our helpdesk resources being overloaded by spammers.

\n" -msgstr "

Désolé, mais il y a eu une erreur à la soumission de votre ticket

\n\n

Notre système a marqué votre soumission comme spam, nous sommes donc dans l'incapacité de l'enregistrer. Si ce n'est pas du spam, veuillez revenir en arrière et re-tapez votre message. Veillez à éviter toute ressemblance avec du spam, et si vous avez de nombreux liens , essayer de les enlever si possible.

\n\n

Nous sommes désolés pour la gène occasionnée, mais ce contrôle est nécessaire pour éviter nos ressources d'être surchargées par des spams.

\n" +"Our system has marked your submission as spam, so we are " +"unable to save it. If this is not spam, please press back and re-type your " +"message. Be careful to avoid sounding 'spammy', and if you have heaps of " +"links please try removing them if possible." +msgstr "" + +#: templates/helpdesk/public_spam.html:7 +msgid "" +"We are sorry for any inconvenience, however this check is required to avoid " +"our helpdesk resources being overloaded by spammers." +msgstr "" #: templates/helpdesk/public_view_form.html:8 msgid "Error:" msgstr "Erreur :" -#: templates/helpdesk/public_view_ticket.html:8 +#: templates/helpdesk/public_view_ticket.html:9 #, python-format msgid "Queue: %(queue_name)s" msgstr "File d'attente: %(queue_name)s " -#: templates/helpdesk/public_view_ticket.html:11 -#: templates/helpdesk/ticket_desc_table.html:16 +#: templates/helpdesk/public_view_ticket.html:13 +#: templates/helpdesk/ticket_desc_table.html:32 msgid "Submitted On" msgstr "Soumis le" -#: templates/helpdesk/public_view_ticket.html:46 -#: templates/helpdesk/ticket_desc_table.html:74 +#: templates/helpdesk/public_view_ticket.html:35 +msgid "Tags" +msgstr "Tags" + +#: templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 msgid "Accept" msgstr "Accepter" -#: templates/helpdesk/public_view_ticket.html:46 -#: templates/helpdesk/ticket_desc_table.html:74 +#: templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 msgid "Accept and Close" msgstr "Accepter et Fermer" -#: templates/helpdesk/public_view_ticket.html:55 -#: templates/helpdesk/ticket.html:64 +#: templates/helpdesk/public_view_ticket.html:57 +#: templates/helpdesk/ticket.html:66 msgid "Follow-Ups" msgstr "Suivis" -#: templates/helpdesk/public_view_ticket.html:63 -#: templates/helpdesk/ticket.html:92 +#: templates/helpdesk/public_view_ticket.html:65 +#: templates/helpdesk/ticket.html:100 #, python-format msgid "Changed %(field)s from %(old_value)s to %(new_value)s." msgstr "Changé %(field)s de %(old_value)s à %(new_value)s." @@ -1538,6 +1680,10 @@ msgstr "par Mois" msgid "Reports By Queue" msgstr "Rapports par File" +#: templates/helpdesk/report_index.html:27 views/staff.py:1049 +msgid "Days until ticket closed by Month" +msgstr "" + #: templates/helpdesk/report_output.html:19 msgid "" "You can run this query on filtered data by using one of your saved queries." @@ -1595,15 +1741,15 @@ msgid "" "new tickets coming into that queue." msgstr "" -#: templates/helpdesk/rss_list.html:22 +#: templates/helpdesk/rss_list.html:23 msgid "Per-Queue Feeds" msgstr "Flux par File" -#: templates/helpdesk/rss_list.html:23 +#: templates/helpdesk/rss_list.html:24 msgid "All Open Tickets" msgstr "Tous les tickets ouverts" -#: templates/helpdesk/rss_list.html:27 +#: templates/helpdesk/rss_list.html:30 msgid "Open Tickets" msgstr "Tickets Ouverts" @@ -1611,13 +1757,9 @@ msgstr "Tickets Ouverts" msgid "Change System Settings" msgstr "Modifier les paramètres systèmes" -#: templates/helpdesk/system_settings.html:5 -msgid "" -"\n" -"

System Settings

\n" -"\n" -"

The following items can be maintained by you or other superusers:

" -msgstr "\n

Paramètres système

\n\n

Les éléments suivants peuvent être mis à jour par vous-même ou d'autres super-utilisateurs:

" +#: templates/helpdesk/system_settings.html:8 +msgid "The following items can be maintained by you or other superusers:" +msgstr "" #: templates/helpdesk/system_settings.html:11 msgid "E-Mail Ignore list" @@ -1655,77 +1797,81 @@ msgstr "Voir les détails du ticket" msgid "Attach another File" msgstr "Attacher un autre fichier" -#: templates/helpdesk/ticket.html:34 templates/helpdesk/ticket.html.py:197 +#: templates/helpdesk/ticket.html:34 templates/helpdesk/ticket.html.py:200 msgid "Add Another File" msgstr "Ajouter un autre fichier" -#: templates/helpdesk/ticket.html:71 templates/helpdesk/ticket.html.py:81 +#: templates/helpdesk/ticket.html:73 templates/helpdesk/ticket.html.py:86 msgid "Private" msgstr "Privé" -#: templates/helpdesk/ticket.html:111 +#: templates/helpdesk/ticket.html:119 msgid "Respond to this ticket" msgstr "Répondre à ce ticket" -#: templates/helpdesk/ticket.html:118 +#: templates/helpdesk/ticket.html:126 msgid "Use a Pre-set Reply" msgstr "Utiliser une réponse pré-enregistré" -#: templates/helpdesk/ticket.html:120 +#: templates/helpdesk/ticket.html:126 templates/helpdesk/ticket.html.py:166 +msgid "(Optional)" +msgstr "(Optionnel)" + +#: templates/helpdesk/ticket.html:128 msgid "" "Selecting a pre-set reply will over-write your comment below. You can then " "modify the pre-set reply to your liking before saving this update." msgstr "Sélectionner une réponse prédéfinie effacera votre commentaire ci-dessous. Vous pouvez ensuite modifier la réponse prédéfinie à votre guise avant d'enregistrer cette mise à jour." -#: templates/helpdesk/ticket.html:123 +#: templates/helpdesk/ticket.html:131 msgid "Comment / Resolution" msgstr "Commentaire / Solution" -#: templates/helpdesk/ticket.html:125 +#: templates/helpdesk/ticket.html:133 msgid "" "You can insert ticket and queue details in your message. For more " "information, see the context help page." msgstr "Vous pouvez insérer des tickets et des détails dans votre message. Pour plus d'informations, consultez la page d'aide contextuelle ." -#: templates/helpdesk/ticket.html:128 +#: templates/helpdesk/ticket.html:136 msgid "" "This ticket cannot be resolved or closed until the tickets it depends on are" " resolved." msgstr "Ce ticket ne peut être résolu ou fermé tant que les tickets desquels il dépend n'ont pas été résolus." -#: templates/helpdesk/ticket.html:158 +#: templates/helpdesk/ticket.html:166 msgid "Is this update public?" msgstr "Cette mise à jour est-elle publique ?" -#: templates/helpdesk/ticket.html:160 +#: templates/helpdesk/ticket.html:168 msgid "" "If this is public, the submitter will be e-mailed your comment or " "resolution." msgstr "Si elle est public, l'émetteur recevra vos commentaires ou la solution par courriel." -#: templates/helpdesk/ticket.html:164 +#: templates/helpdesk/ticket.html:172 msgid "Change Further Details »" msgstr "Faire d'autres changement »" -#: templates/helpdesk/ticket.html:173 templates/helpdesk/ticket_list.html:55 -#: templates/helpdesk/ticket_list.html:87 -#: templates/helpdesk/ticket_list.html:199 +#: templates/helpdesk/ticket.html:181 templates/helpdesk/ticket_list.html:68 +#: templates/helpdesk/ticket_list.html:97 +#: templates/helpdesk/ticket_list.html:225 msgid "Owner" msgstr "Propriétaire" -#: templates/helpdesk/ticket.html:174 +#: templates/helpdesk/ticket.html:182 msgid "Unassign" msgstr "Non assigné" -#: templates/helpdesk/ticket.html:190 +#: templates/helpdesk/ticket.html:193 msgid "Attach File(s) »" msgstr "Attacher des fichiers »" -#: templates/helpdesk/ticket.html:196 +#: templates/helpdesk/ticket.html:199 msgid "Attach a File" msgstr "Joindre un fichier" -#: templates/helpdesk/ticket.html:204 +#: templates/helpdesk/ticket.html:207 msgid "Update This Ticket" msgstr "Mettre à jour ce Ticket" @@ -1828,263 +1974,256 @@ msgid "" "

Are you sure you wish to remove the dependency on this ticket?

\n" msgstr "\n

Delete Ticket Dependency

\n\n

Are you sure you wish to remove the dependency on this ticket?

\n" -#: templates/helpdesk/ticket_desc_table.html:11 +#: templates/helpdesk/ticket_desc_table.html:7 msgid "Unhold" msgstr "Reprendre" -#: templates/helpdesk/ticket_desc_table.html:11 +#: templates/helpdesk/ticket_desc_table.html:7 msgid "Hold" msgstr "Pause" -#: templates/helpdesk/ticket_desc_table.html:13 +#: templates/helpdesk/ticket_desc_table.html:9 #, python-format msgid "Queue: %(queue)s" msgstr "File d'attente: %(queue)s" -#: templates/helpdesk/ticket_desc_table.html:21 +#: templates/helpdesk/ticket_desc_table.html:37 msgid "Assigned To" msgstr "Assigné à" -#: templates/helpdesk/ticket_desc_table.html:27 +#: templates/helpdesk/ticket_desc_table.html:43 msgid "Ignore" msgstr "Ignorer" -#: templates/helpdesk/ticket_desc_table.html:36 +#: templates/helpdesk/ticket_desc_table.html:52 msgid "Copies To" msgstr "Copies à" -#: templates/helpdesk/ticket_desc_table.html:37 +#: templates/helpdesk/ticket_desc_table.html:53 msgid "Manage" msgstr "Gérer" -#: templates/helpdesk/ticket_desc_table.html:37 +#: templates/helpdesk/ticket_desc_table.html:53 msgid "" "Click here to add / remove people who should receive an e-mail whenever this" " ticket is updated." msgstr "Cliquez ici pour ajouter / supprimer des personnes qui pourrait recevoir un e-mail lorsque ce ticket est mis à jour." -#: templates/helpdesk/ticket_desc_table.html:48 +#: templates/helpdesk/ticket_desc_table.html:53 +msgid "Subscribe" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:53 +msgid "" +"Click here to subscribe yourself to this ticket, if you want to receive an " +"e-mail whenever this ticket is updated." +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:57 msgid "Dependencies" msgstr "Dépendances" -#: templates/helpdesk/ticket_desc_table.html:50 +#: templates/helpdesk/ticket_desc_table.html:59 msgid "" "This ticket cannot be resolved until the following ticket(s) are resolved" msgstr "Ce ticket ne peut être résolu tant que le(s) ticket(s) suivant(s) n'ont pas été résolu(s)" -#: templates/helpdesk/ticket_desc_table.html:51 +#: templates/helpdesk/ticket_desc_table.html:60 msgid "Remove Dependency" msgstr "Supprimer la dépendance" -#: templates/helpdesk/ticket_desc_table.html:54 +#: templates/helpdesk/ticket_desc_table.html:63 msgid "This ticket has no dependencies." msgstr "Ce ticket ne dépend d'aucun autre." -#: templates/helpdesk/ticket_desc_table.html:56 +#: templates/helpdesk/ticket_desc_table.html:65 msgid "Add Dependency" msgstr "Ajouter une dépendance" -#: templates/helpdesk/ticket_desc_table.html:56 +#: templates/helpdesk/ticket_desc_table.html:65 msgid "" "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." msgstr "Cliquez sur 'Ajouter une dépendance' si vous voulez faire dépendre ce ticket d'un autre. Un ticket ne peut être fermé tant que les tickets dont il dépend ne sont pas fermés." -#: templates/helpdesk/ticket_list.html:2 -msgid "Ticket Listing" -msgstr "Liste des Tickets" - -#: templates/helpdesk/ticket_list.html:41 -msgid "Query Options" -msgstr "Options des requêtes" - -#: templates/helpdesk/ticket_list.html:43 -msgid "Save This Query" -msgstr "Enregistrer cette requête" - -#: templates/helpdesk/ticket_list.html:51 +#: templates/helpdesk/ticket_list.html:59 msgid "Change Query" msgstr "Changer la requête" -#: templates/helpdesk/ticket_list.html:54 -#: templates/helpdesk/ticket_list.html:69 +#: templates/helpdesk/ticket_list.html:67 +#: templates/helpdesk/ticket_list.html:79 msgid "Sorting" msgstr "Tri" -#: templates/helpdesk/ticket_list.html:58 -#: templates/helpdesk/ticket_list.html:137 +#: templates/helpdesk/ticket_list.html:71 +#: templates/helpdesk/ticket_list.html:139 msgid "Keywords" msgstr "Mots-clés" -#: templates/helpdesk/ticket_list.html:59 +#: templates/helpdesk/ticket_list.html:72 msgid "Date Range" msgstr "" -#: templates/helpdesk/ticket_list.html:90 +#: templates/helpdesk/ticket_list.html:100 msgid "Reverse" msgstr "" -#: templates/helpdesk/ticket_list.html:92 +#: templates/helpdesk/ticket_list.html:102 msgid "Ordering applied to tickets" msgstr "" -#: templates/helpdesk/ticket_list.html:97 +#: templates/helpdesk/ticket_list.html:107 msgid "Owner(s)" msgstr "Propriétaire(s)" -#: templates/helpdesk/ticket_list.html:101 +#: templates/helpdesk/ticket_list.html:111 msgid "(ME)" msgstr "" -#: templates/helpdesk/ticket_list.html:105 +#: templates/helpdesk/ticket_list.html:115 msgid "Ctrl-Click to select multiple options" msgstr "" -#: templates/helpdesk/ticket_list.html:110 +#: templates/helpdesk/ticket_list.html:120 msgid "Queue(s)" msgstr "File(s) d'attente" -#: templates/helpdesk/ticket_list.html:111 -#: templates/helpdesk/ticket_list.html:117 -#: templates/helpdesk/ticket_list.html:131 +#: templates/helpdesk/ticket_list.html:121 +#: templates/helpdesk/ticket_list.html:127 msgid "Ctrl-click to select multiple options" msgstr "" -#: templates/helpdesk/ticket_list.html:116 +#: templates/helpdesk/ticket_list.html:126 msgid "Status(es)" msgstr "État(s)" -#: templates/helpdesk/ticket_list.html:122 +#: templates/helpdesk/ticket_list.html:132 msgid "Date (From)" msgstr "" -#: templates/helpdesk/ticket_list.html:123 +#: templates/helpdesk/ticket_list.html:133 msgid "Date (To)" msgstr "" -#: templates/helpdesk/ticket_list.html:124 +#: templates/helpdesk/ticket_list.html:134 msgid "Use YYYY-MM-DD date format, eg 2011-05-29" msgstr "" -#: templates/helpdesk/ticket_list.html:130 -msgid "Tag(s)" -msgstr "Tag(s)" - -#: templates/helpdesk/ticket_list.html:138 +#: templates/helpdesk/ticket_list.html:140 msgid "" "Keywords are case-insensitive, and will be looked for in the title, body and" " submitter fields." msgstr "" -#: templates/helpdesk/ticket_list.html:142 +#: templates/helpdesk/ticket_list.html:144 msgid "Apply Filter" msgstr "Appliquer le filtre" -#: templates/helpdesk/ticket_list.html:144 +#: templates/helpdesk/ticket_list.html:146 #, python-format -msgid "You are currently viewing saved query %(query_name)s." -msgstr "Vous visualisez la requête enregistrée %(query_name)s." +msgid "You are currently viewing saved query \"%(query_name)s\"." +msgstr "" -#: templates/helpdesk/ticket_list.html:147 +#: templates/helpdesk/ticket_list.html:149 #, python-format msgid "" "Run a report on this " "query to see stats and charts for the data listed below." msgstr "" -#: templates/helpdesk/ticket_list.html:154 -#: templates/helpdesk/ticket_list.html:169 +#: templates/helpdesk/ticket_list.html:162 +#: templates/helpdesk/ticket_list.html:181 msgid "Save Query" msgstr "Enregistrer la requête" -#: templates/helpdesk/ticket_list.html:160 +#: templates/helpdesk/ticket_list.html:172 msgid "" "This name appears in the drop-down list of saved queries. If you share your " "query, other users will see this name, so choose something clear and " "descriptive!" msgstr "Ce nom apparaît dans la liste déroulante des requêtes enregistrées. Si vous partagez votre requête, les autres utilisateurs verront ce nom, choisissez alors quelque chose de clair et représentatif!" -#: templates/helpdesk/ticket_list.html:162 +#: templates/helpdesk/ticket_list.html:174 msgid "Shared?" msgstr "Partagée ?" -#: templates/helpdesk/ticket_list.html:163 +#: templates/helpdesk/ticket_list.html:175 msgid "Yes, share this query with other users." msgstr "Oui, partager cette requête avec les autres utilisateurs." -#: templates/helpdesk/ticket_list.html:164 +#: templates/helpdesk/ticket_list.html:176 msgid "" "If you share this query, it will be visible by all other logged-in " "users." msgstr "Si vous partagez cette requête, elle sera visible par tous les autres utilisateurs connectés." -#: templates/helpdesk/ticket_list.html:176 +#: templates/helpdesk/ticket_list.html:195 msgid "Use Saved Query" msgstr "Utiliser la requête enregistrée" -#: templates/helpdesk/ticket_list.html:178 +#: templates/helpdesk/ticket_list.html:202 msgid "Query" msgstr "Requête" -#: templates/helpdesk/ticket_list.html:183 +#: templates/helpdesk/ticket_list.html:207 msgid "Run Query" msgstr "Exécuter la requête" -#: templates/helpdesk/ticket_list.html:213 +#: templates/helpdesk/ticket_list.html:240 msgid "No Tickets Match Your Selection" msgstr "Aucun ticket correspondant à votre sélection" -#: templates/helpdesk/ticket_list.html:219 +#: templates/helpdesk/ticket_list.html:247 msgid "Previous" msgstr "Précédent" -#: templates/helpdesk/ticket_list.html:223 +#: templates/helpdesk/ticket_list.html:251 #, python-format msgid "Page %(ticket_num)s of %(num_pages)s." msgstr "Page %(ticket_num)s sur %(num_pages)s." -#: templates/helpdesk/ticket_list.html:227 +#: templates/helpdesk/ticket_list.html:255 msgid "Next" msgstr "Suivant" -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "Select:" msgstr "Sélectionner" -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "None" msgstr "Aucune" -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "Inverse" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "With Selected Tickets:" msgstr "Avec les tickets sélectionnés" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Take (Assign to me)" msgstr "Prendre (assigné ce ticket à mon compte)" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Close" msgstr "Fermé" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Close (Don't Send E-Mail)" msgstr "Fermé (ne pas envoyer l'e-mail)" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Close (Send E-Mail)" msgstr "Fermé (envoyer l'e-mail)" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Assign To" msgstr "Assigné à" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Nobody (Unassign)" msgstr "Nul (non assigné)" @@ -2092,15 +2231,13 @@ msgstr "Nul (non assigné)" msgid "Change User Settings" msgstr "Modifier les paramètres de l'utilisateur" -#: templates/helpdesk/user_settings.html:14 +#: templates/helpdesk/user_settings.html:8 msgid "" -"\n" -"

User Settings

\n" -"\n" -"

Use the following options to change the way your helpdesk system works for you. These settings do not impact any other user.

\n" -msgstr "\n

Préférences de l'utilisateur

\n\n

Utilisez les options suivantes pour changer la façon dont votre helpdesk fonctionne. Ces paramètres n'ont aucune incidence sur les autres utilisateurs.

\n" +"Use the following options to change the way your helpdesk system works for " +"you. These settings do not impact any other user." +msgstr "" -#: templates/helpdesk/user_settings.html:29 +#: templates/helpdesk/user_settings.html:14 msgid "Save Options" msgstr "Enregistrer les options" @@ -2121,116 +2258,101 @@ msgstr "\n

Déconnecté

\n\n

Merci d'être passé. J'espère que vou msgid "Helpdesk Login" msgstr "Identifiant Helpdesk" -#: templates/helpdesk/registration/login.html:9 -#: templates/helpdesk/registration/login.html:21 -msgid "Login" -msgstr "Identifiant" - -#: templates/helpdesk/registration/login.html:11 -msgid "" -"To log in and begin responding to cases, simply enter your username and " -"password below." -msgstr "Pour vous connecter et commencer à répondre à des cas, il suffit d'entrer votre nom d'utilisateur et mot de passe ci-dessous." - #: templates/helpdesk/registration/login.html:14 +msgid "To log in simply enter your username and password below." +msgstr "" + +#: templates/helpdesk/registration/login.html:17 msgid "Your username and password didn't match. Please try again." msgstr "Votre nom d'utilisateur et mot de passe ne correspondent pas. Veuillez essayer de nouveau." -#: templates/helpdesk/registration/login.html:16 -msgid "Username" -msgstr "Nom d'utilisateur" +#: templates/helpdesk/registration/login.html:20 +msgid "Login" +msgstr "Identifiant" -#: templates/helpdesk/registration/login.html:18 -msgid "Password" -msgstr "Mot de passe" - -#: views/feeds.py:35 +#: views/feeds.py:39 #, python-format msgid "Helpdesk: Open Tickets in queue %(queue)s for %(username)s" msgstr "Helpdesk: Ticket ouvert pour %(username)s dans la file d'attente %(queue)s " -#: views/feeds.py:40 +#: views/feeds.py:44 #, python-format msgid "Helpdesk: Open Tickets for %(username)s" msgstr "Helpdesk: Tickets ouverts pour %(username)s " -#: views/feeds.py:46 +#: views/feeds.py:50 #, python-format msgid "Open and Reopened Tickets in queue %(queue)s for %(username)s" msgstr "Tickets Ouverts et Ré-ouverts pour %(username)s dans la file d'attente %(queue)s " -#: views/feeds.py:51 +#: views/feeds.py:55 #, python-format msgid "Open and Reopened Tickets for %(username)s" msgstr "Tickets Ouverts et Ré-ouverts pour %(username)s" -#: views/feeds.py:98 +#: views/feeds.py:102 msgid "Helpdesk: Unassigned Tickets" msgstr "Helpdesk: Tickets Non assignés" -#: views/feeds.py:99 +#: views/feeds.py:103 msgid "Unassigned Open and Reopened tickets" msgstr "Tickets Ouverts et Ré-ouverts Non-assignés" -#: views/feeds.py:124 +#: views/feeds.py:128 msgid "Helpdesk: Recent Followups" msgstr "Helpdesk: Suivis Récents" -#: views/feeds.py:125 +#: views/feeds.py:129 msgid "" "Recent FollowUps, such as e-mail replies, comments, attachments and " "resolutions" msgstr "Suivis récents, tels que réponses e-mail, commentaires, pièces-jointes et solutions" -#: views/feeds.py:140 +#: views/feeds.py:144 #, python-format msgid "Helpdesk: Open Tickets in queue %(queue)s" msgstr "Helpdesk: Tickets Ouverts dans la file d'attente %(queue)s" -#: views/feeds.py:145 +#: views/feeds.py:149 #, python-format msgid "Open and Reopened Tickets in queue %(queue)s" msgstr "Tickets Ouverts et Ré-ouverts dans la file d'attente %(queue)s" -#: views/public.py:91 +#: views/public.py:89 msgid "Invalid ticket ID or e-mail address. Please try again." msgstr "Ticket ID ou adresse e-mail invalide. Veuillez essayer de nouveau." -#: views/public.py:109 +#: views/public.py:107 msgid "Submitter accepted resolution and closed ticket" msgstr "L'émetteur a accepté la solution et fermé le ticket." -#: views/staff.py:218 +#: views/staff.py:235 msgid "Accepted resolution and closed ticket" msgstr "Solution acceptée et ticket fermé" -#: views/staff.py:246 -msgid "Sorry, you need to login to do that." -msgstr "Désolé, vous devez vous identifier pour cette action." - -#: views/staff.py:295 +#: views/staff.py:369 #, python-format msgid "Assigned to %(username)s" msgstr "Assigné à %(username)s " -#: views/staff.py:318 +#: views/staff.py:392 msgid "Updated" msgstr "Mis à jour" -#: views/staff.py:496 +#: views/staff.py:577 #, python-format msgid "Assigned to %(username)s in bulk update" msgstr "Assigné à %(username)s en mise à jour en masse" -#: views/staff.py:501 +#: views/staff.py:582 msgid "Unassigned in bulk update" msgstr "Non assigné en mise à jour en masse" -#: views/staff.py:506 views/staff.py:511 +#: views/staff.py:587 views/staff.py:592 msgid "Closed in bulk update" msgstr "Fermé pendant mise à jour en masse" -#: views/staff.py:732 +#: views/staff.py:806 msgid "" "

Note: Your keyword search is case sensitive because of " "your database. This means the search will not be accurate. " @@ -2240,86 +2362,38 @@ msgid "" "matching\">Django Documentation on string matching in SQLite." msgstr "

Note: Votre recherche par mot clé est sensible à la casse à cause de votre base de données. Cela signifie que la recherche ne sera pas exacte. En passant à un système de base de données différents, la recherche sera plus efficace! Pour plus d'informations, lisez la documentation de Django sur la recherche de chaîne avec SQLite ." -#: views/staff.py:843 +#: views/staff.py:910 msgid "Ticket taken off hold" msgstr "Ticket repris" -#: views/staff.py:846 +#: views/staff.py:913 msgid "Ticket placed on hold" msgstr "Ticket mis en pause" -#: views/staff.py:914 -msgid "Jan" -msgstr "Jan" - -#: views/staff.py:915 -msgid "Feb" -msgstr "Fév" - -#: views/staff.py:916 -msgid "Mar" -msgstr "Mars" - -#: views/staff.py:917 -msgid "Apr" -msgstr "Avr" - -#: views/staff.py:918 -msgid "May" -msgstr "Mai" - -#: views/staff.py:919 -msgid "Jun" -msgstr "Juin" - -#: views/staff.py:920 -msgid "Jul" -msgstr "Juil" - -#: views/staff.py:921 -msgid "Aug" -msgstr "Août" - -#: views/staff.py:922 -msgid "Sep" -msgstr "Sept" - -#: views/staff.py:923 -msgid "Oct" -msgstr "Oct" - -#: views/staff.py:924 -msgid "Nov" -msgstr "Nov" - -#: views/staff.py:925 -msgid "Dec" -msgstr "Déc" - -#: views/staff.py:951 +#: views/staff.py:1007 msgid "User by Priority" msgstr "Utilisateur par Priorité" -#: views/staff.py:957 +#: views/staff.py:1013 msgid "User by Queue" msgstr "Utilisateur par File" -#: views/staff.py:963 +#: views/staff.py:1019 msgid "User by Status" msgstr "Utilisateur par État" -#: views/staff.py:969 +#: views/staff.py:1025 msgid "User by Month" msgstr "Utilisateurs par Mois" -#: views/staff.py:975 +#: views/staff.py:1031 msgid "Queue by Priority" msgstr "File par Priorité" -#: views/staff.py:981 +#: views/staff.py:1037 msgid "Queue by Status" msgstr "File par État" -#: views/staff.py:987 +#: views/staff.py:1043 msgid "Queue by Month" msgstr "File par Mois" diff --git a/helpdesk/locale/hr/LC_MESSAGES/django.mo b/helpdesk/locale/hr/LC_MESSAGES/django.mo new file mode 100644 index 00000000..7b412fd7 Binary files /dev/null and b/helpdesk/locale/hr/LC_MESSAGES/django.mo differ diff --git a/helpdesk/locale/hr/LC_MESSAGES/django.po b/helpdesk/locale/hr/LC_MESSAGES/django.po new file mode 100644 index 00000000..a45c4ddb --- /dev/null +++ b/helpdesk/locale/hr/LC_MESSAGES/django.po @@ -0,0 +1,2393 @@ +# django-helpdesk English language translation +# Copyright (C) 2011 Ross Poulton +# This file is distributed under the same license as the django-helpdesk package. +# +# Translators: +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: django-helpdesk\n" +"Report-Msgid-Bugs-To: http://github.com/RossP/django-helpdesk/issues\n" +"POT-Creation-Date: 2014-07-26 14:14+0200\n" +"PO-Revision-Date: 2014-08-01 09:58+0000\n" +"Last-Translator: Ross Poulton \n" +"Language-Team: Croatian (http://www.transifex.com/projects/p/django-helpdesk/language/hr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hr\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#: forms.py:128 forms.py:328 models.py:190 models.py:267 +#: templates/helpdesk/dashboard.html:15 templates/helpdesk/dashboard.html:58 +#: templates/helpdesk/dashboard.html:78 templates/helpdesk/dashboard.html:100 +#: templates/helpdesk/dashboard.html:124 templates/helpdesk/rss_list.html:24 +#: templates/helpdesk/ticket_list.html:69 +#: templates/helpdesk/ticket_list.html:88 +#: templates/helpdesk/ticket_list.html:225 views/staff.py:1032 +#: views/staff.py:1038 views/staff.py:1044 views/staff.py:1050 +msgid "Queue" +msgstr "" + +#: forms.py:137 +msgid "Summary of the problem" +msgstr "" + +#: forms.py:142 +msgid "Submitter E-Mail Address" +msgstr "" + +#: forms.py:144 +msgid "" +"This e-mail address will receive copies of all public updates to this " +"ticket." +msgstr "" + +#: forms.py:150 +msgid "Description of Issue" +msgstr "" + +#: forms.py:157 +msgid "Case owner" +msgstr "" + +#: forms.py:158 +msgid "" +"If you select an owner other than yourself, they'll be e-mailed details of " +"this ticket immediately." +msgstr "" + +#: forms.py:166 models.py:327 management/commands/escalate_tickets.py:154 +#: templates/helpdesk/public_view_ticket.html:23 +#: templates/helpdesk/ticket.html:184 +#: templates/helpdesk/ticket_desc_table.html:47 +#: templates/helpdesk/ticket_list.html:94 views/staff.py:429 +msgid "Priority" +msgstr "" + +#: forms.py:167 +msgid "Please select a priority carefully. If unsure, leave it as '3'." +msgstr "" + +#: forms.py:174 forms.py:365 models.py:335 templates/helpdesk/ticket.html:186 +#: views/staff.py:439 +msgid "Due on" +msgstr "" + +#: forms.py:186 forms.py:370 +msgid "Attach File" +msgstr "" + +#: forms.py:187 forms.py:371 +msgid "You can attach a file such as a document or screenshot to this ticket." +msgstr "" + +#: forms.py:240 +msgid "Ticket Opened" +msgstr "" + +#: forms.py:247 +#, python-format +msgid "Ticket Opened & Assigned to %(name)s" +msgstr "" + +#: forms.py:337 +msgid "Summary of your query" +msgstr "" + +#: forms.py:342 +msgid "Your E-Mail Address" +msgstr "" + +#: forms.py:343 +msgid "We will e-mail you when your ticket is updated." +msgstr "" + +#: forms.py:348 +msgid "Description of your issue" +msgstr "" + +#: forms.py:350 +msgid "" +"Please be as descriptive as possible, including any details we may need to " +"address your query." +msgstr "" + +#: forms.py:358 +msgid "Urgency" +msgstr "" + +#: forms.py:359 +msgid "Please select a priority carefully." +msgstr "" + +#: forms.py:419 +msgid "Ticket Opened Via Web" +msgstr "" + +#: forms.py:486 +msgid "Show Ticket List on Login?" +msgstr "" + +#: forms.py:487 +msgid "Display the ticket list upon login? Otherwise, the dashboard is shown." +msgstr "" + +#: forms.py:492 +msgid "E-mail me on ticket change?" +msgstr "" + +#: forms.py:493 +msgid "" +"If you're the ticket owner and the ticket is changed via the web by somebody" +" else, do you want to receive an e-mail?" +msgstr "" + +#: forms.py:498 +msgid "E-mail me when assigned a ticket?" +msgstr "" + +#: forms.py:499 +msgid "" +"If you are assigned a ticket via the web, do you want to receive an e-mail?" +msgstr "" + +#: forms.py:504 +msgid "E-mail me when a ticket is changed via the API?" +msgstr "" + +#: forms.py:505 +msgid "If a ticket is altered by the API, do you want to receive an e-mail?" +msgstr "" + +#: forms.py:510 +msgid "Number of tickets to show per page" +msgstr "" + +#: forms.py:511 +msgid "How many tickets do you want to see on the Ticket List page?" +msgstr "" + +#: forms.py:518 +msgid "Use my e-mail address when submitting tickets?" +msgstr "" + +#: forms.py:519 +msgid "" +"When you submit a ticket, do you want to automatically use your e-mail " +"address as the submitter address? You can type a different e-mail address " +"when entering the ticket if needed, this option only changes the default." +msgstr "" + +#: models.py:35 models.py:261 models.py:503 models.py:817 models.py:853 +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:100 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket.html:178 templates/helpdesk/ticket_list.html:85 +#: templates/helpdesk/ticket_list.html:225 views/staff.py:419 +msgid "Title" +msgstr "" + +#: models.py:40 models.py:822 models.py:1206 +msgid "Slug" +msgstr "" + +#: models.py:41 +msgid "" +"This slug is used when building ticket ID's. Once set, try not to change it " +"or e-mailing may get messy." +msgstr "" + +#: models.py:46 models.py:1054 models.py:1129 models.py:1203 +#: templates/helpdesk/email_ignore_list.html:13 +#: templates/helpdesk/ticket_cc_list.html:15 +msgid "E-Mail Address" +msgstr "" + +#: models.py:49 +msgid "" +"All outgoing e-mails for this queue will use this e-mail address. If you use" +" IMAP or POP3, this should be the e-mail address for that mailbox." +msgstr "" + +#: models.py:55 models.py:794 +msgid "Locale" +msgstr "" + +#: models.py:59 +msgid "" +"Locale of this queue. All correspondence in this queue will be in this " +"language." +msgstr "" + +#: models.py:63 +msgid "Allow Public Submission?" +msgstr "" + +#: models.py:66 +msgid "Should this queue be listed on the public submission form?" +msgstr "" + +#: models.py:71 +msgid "Allow E-Mail Submission?" +msgstr "" + +#: models.py:74 +msgid "Do you want to poll the e-mail box below for new tickets?" +msgstr "" + +#: models.py:79 +msgid "Escalation Days" +msgstr "" + +#: models.py:82 +msgid "" +"For tickets which are not held, how often do you wish to increase their " +"priority? Set to 0 for no escalation." +msgstr "" + +#: models.py:87 +msgid "New Ticket CC Address" +msgstr "" + +#: models.py:91 +msgid "" +"If an e-mail address is entered here, then it will receive notification of " +"all new tickets created for this queue. Enter a comma between multiple " +"e-mail addresses." +msgstr "" + +#: models.py:97 +msgid "Updated Ticket CC Address" +msgstr "" + +#: models.py:101 +msgid "" +"If an e-mail address is entered here, then it will receive notification of " +"all activity (new tickets, closed tickets, updates, reassignments, etc) for " +"this queue. Separate multiple addresses with a comma." +msgstr "" + +#: models.py:108 +msgid "E-Mail Box Type" +msgstr "" + +#: models.py:110 +msgid "POP 3" +msgstr "" + +#: models.py:110 +msgid "IMAP" +msgstr "" + +#: models.py:113 +msgid "" +"E-Mail server type for creating tickets automatically from a mailbox - both " +"POP3 and IMAP are supported." +msgstr "" + +#: models.py:118 +msgid "E-Mail Hostname" +msgstr "" + +#: models.py:122 +msgid "" +"Your e-mail server address - either the domain name or IP address. May be " +"\"localhost\"." +msgstr "" + +#: models.py:127 +msgid "E-Mail Port" +msgstr "" + +#: models.py:130 +msgid "" +"Port number to use for accessing e-mail. Default for POP3 is \"110\", and " +"for IMAP is \"143\". This may differ on some servers. Leave it blank to use " +"the defaults." +msgstr "" + +#: models.py:136 +msgid "Use SSL for E-Mail?" +msgstr "" + +#: models.py:139 +msgid "" +"Whether to use SSL for IMAP or POP3 - the default ports when using SSL are " +"993 for IMAP and 995 for POP3." +msgstr "" + +#: models.py:144 +msgid "E-Mail Username" +msgstr "" + +#: models.py:148 +msgid "Username for accessing this mailbox." +msgstr "" + +#: models.py:152 +msgid "E-Mail Password" +msgstr "" + +#: models.py:156 +msgid "Password for the above username" +msgstr "" + +#: models.py:160 +msgid "IMAP Folder" +msgstr "" + +#: models.py:164 +msgid "" +"If using IMAP, what folder do you wish to fetch messages from? This allows " +"you to use one IMAP account for multiple queues, by filtering messages on " +"your IMAP server into separate folders. Default: INBOX." +msgstr "" + +#: models.py:171 +msgid "E-Mail Check Interval" +msgstr "" + +#: models.py:172 +msgid "How often do you wish to check this mailbox? (in Minutes)" +msgstr "" + +#: models.py:191 templates/helpdesk/email_ignore_list.html:13 +msgid "Queues" +msgstr "" + +#: models.py:245 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:138 +msgid "Open" +msgstr "" + +#: models.py:246 templates/helpdesk/ticket.html:144 +#: templates/helpdesk/ticket.html.py:150 templates/helpdesk/ticket.html:155 +#: templates/helpdesk/ticket.html.py:159 +msgid "Reopened" +msgstr "" + +#: models.py:247 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:139 templates/helpdesk/ticket.html.py:145 +#: templates/helpdesk/ticket.html:151 +msgid "Resolved" +msgstr "" + +#: models.py:248 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:140 templates/helpdesk/ticket.html.py:146 +#: templates/helpdesk/ticket.html:152 templates/helpdesk/ticket.html.py:156 +msgid "Closed" +msgstr "" + +#: models.py:249 templates/helpdesk/ticket.html:141 +#: templates/helpdesk/ticket.html.py:147 templates/helpdesk/ticket.html:160 +msgid "Duplicate" +msgstr "" + +#: models.py:253 +msgid "1. Critical" +msgstr "" + +#: models.py:254 +msgid "2. High" +msgstr "" + +#: models.py:255 +msgid "3. Normal" +msgstr "" + +#: models.py:256 +msgid "4. Low" +msgstr "" + +#: models.py:257 +msgid "5. Very Low" +msgstr "" + +#: models.py:271 templates/helpdesk/dashboard.html:100 +#: templates/helpdesk/ticket_list.html:82 +#: templates/helpdesk/ticket_list.html:225 +msgid "Created" +msgstr "" + +#: models.py:273 +msgid "Date this ticket was first created" +msgstr "" + +#: models.py:277 +msgid "Modified" +msgstr "" + +#: models.py:279 +msgid "Date this ticket was most recently changed." +msgstr "" + +#: models.py:283 templates/helpdesk/public_view_ticket.html:18 +#: templates/helpdesk/ticket_desc_table.html:42 +msgid "Submitter E-Mail" +msgstr "" + +#: models.py:286 +msgid "" +"The submitter will receive an email for all public follow-ups left for this " +"task." +msgstr "" + +#: models.py:295 +msgid "Assigned to" +msgstr "" + +#: models.py:299 templates/helpdesk/dashboard.html:58 +#: templates/helpdesk/dashboard.html:78 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket_list.html:70 +#: templates/helpdesk/ticket_list.html:91 +#: templates/helpdesk/ticket_list.html:225 +msgid "Status" +msgstr "" + +#: models.py:305 +msgid "On Hold" +msgstr "" + +#: models.py:308 +msgid "If a ticket is on hold, it will not automatically be escalated." +msgstr "" + +#: models.py:313 models.py:826 templates/helpdesk/public_view_ticket.html:41 +#: templates/helpdesk/ticket_desc_table.html:19 +msgid "Description" +msgstr "" + +#: models.py:316 +msgid "The content of the customers query." +msgstr "" + +#: models.py:320 templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 +msgid "Resolution" +msgstr "" + +#: models.py:323 +msgid "The resolution provided to the customer by our staff." +msgstr "" + +#: models.py:331 +msgid "1 = Highest Priority, 5 = Low Priority" +msgstr "" + +#: models.py:344 +msgid "" +"The date this ticket was last escalated - updated automatically by " +"management/commands/escalate_tickets.py." +msgstr "" + +#: models.py:353 templates/helpdesk/ticket_desc_table.html:38 +#: views/feeds.py:95 views/feeds.py:121 views/feeds.py:173 views/staff.py:376 +msgid "Unassigned" +msgstr "" + +#: models.py:392 +msgid " - On Hold" +msgstr "" + +#: models.py:394 +msgid " - Open dependencies" +msgstr "" + +#: models.py:448 models.py:494 models.py:1117 models.py:1280 models.py:1309 +#: templates/helpdesk/public_homepage.html:78 +#: templates/helpdesk/public_view_form.html:12 +msgid "Ticket" +msgstr "" + +#: models.py:449 templates/helpdesk/navigation.html:17 +#: templates/helpdesk/ticket_list.html:2 +#: templates/helpdesk/ticket_list.html:224 +msgid "Tickets" +msgstr "" + +#: models.py:498 models.py:738 models.py:1047 models.py:1200 +msgid "Date" +msgstr "" + +#: models.py:510 views/staff.py:390 +msgid "Comment" +msgstr "" + +#: models.py:516 +msgid "Public" +msgstr "" + +#: models.py:519 +msgid "" +"Public tickets are viewable by the submitter and all staff, but non-public " +"tickets can only be seen by staff." +msgstr "" + +#: models.py:527 models.py:922 models.py:1125 views/staff.py:1008 +#: views/staff.py:1014 views/staff.py:1020 views/staff.py:1026 +msgid "User" +msgstr "" + +#: models.py:531 templates/helpdesk/ticket.html:135 +msgid "New Status" +msgstr "" + +#: models.py:535 +msgid "If the status was changed, what was it changed to?" +msgstr "" + +#: models.py:542 models.py:566 models.py:628 +msgid "Follow-up" +msgstr "" + +#: models.py:543 +msgid "Follow-ups" +msgstr "" + +#: models.py:570 models.py:1285 +msgid "Field" +msgstr "" + +#: models.py:575 +msgid "Old Value" +msgstr "" + +#: models.py:581 +msgid "New Value" +msgstr "" + +#: models.py:589 +msgid "removed" +msgstr "" + +#: models.py:591 +#, python-format +msgid "set to %s" +msgstr "" + +#: models.py:593 +#, python-format +msgid "changed from \"%(old_value)s\" to \"%(new_value)s\"" +msgstr "" + +#: models.py:600 +msgid "Ticket change" +msgstr "" + +#: models.py:601 +msgid "Ticket changes" +msgstr "" + +#: models.py:632 +msgid "File" +msgstr "" + +#: models.py:637 +msgid "Filename" +msgstr "" + +#: models.py:642 +msgid "MIME Type" +msgstr "" + +#: models.py:647 +msgid "Size" +msgstr "" + +#: models.py:648 +msgid "Size of this file in bytes" +msgstr "" + +#: models.py:665 +msgid "Attachment" +msgstr "" + +#: models.py:666 +msgid "Attachments" +msgstr "" + +#: models.py:685 +msgid "" +"Leave blank to allow this reply to be used for all queues, or select those " +"queues you wish to limit this reply to." +msgstr "" + +#: models.py:690 models.py:733 models.py:1042 +#: templates/helpdesk/email_ignore_list.html:13 +msgid "Name" +msgstr "" + +#: models.py:692 +msgid "" +"Only used to assist users with selecting a reply - not shown to the user." +msgstr "" + +#: models.py:697 +msgid "Body" +msgstr "" + +#: models.py:698 +msgid "" +"Context available: {{ ticket }} - ticket object (eg {{ ticket.title }}); {{ " +"queue }} - The queue; and {{ user }} - the current user." +msgstr "" + +#: models.py:705 +msgid "Pre-set reply" +msgstr "" + +#: models.py:706 +msgid "Pre-set replies" +msgstr "" + +#: models.py:727 +msgid "" +"Leave blank for this exclusion to be applied to all queues, or select those " +"queues you wish to exclude with this entry." +msgstr "" + +#: models.py:739 +msgid "Date on which escalation should not happen" +msgstr "" + +#: models.py:746 +msgid "Escalation exclusion" +msgstr "" + +#: models.py:747 +msgid "Escalation exclusions" +msgstr "" + +#: models.py:760 +msgid "Template Name" +msgstr "" + +#: models.py:765 +msgid "Subject" +msgstr "" + +#: models.py:767 +msgid "" +"This will be prefixed with \"[ticket.ticket] ticket.title\". We recommend " +"something simple such as \"(Updated\") or \"(Closed)\" - the same context is" +" available as in plain_text, below." +msgstr "" + +#: models.py:773 +msgid "Heading" +msgstr "" + +#: models.py:775 +msgid "" +"In HTML e-mails, this will be the heading at the top of the email - the same" +" context is available as in plain_text, below." +msgstr "" + +#: models.py:781 +msgid "Plain Text" +msgstr "" + +#: models.py:782 +msgid "" +"The context available to you includes {{ ticket }}, {{ queue }}, and " +"depending on the time of the call: {{ resolution }} or {{ comment }}." +msgstr "" + +#: models.py:788 +msgid "HTML" +msgstr "" + +#: models.py:789 +msgid "The same context is available here as in plain_text, above." +msgstr "" + +#: models.py:798 +msgid "Locale of this template." +msgstr "" + +#: models.py:806 +msgid "e-mail template" +msgstr "" + +#: models.py:807 +msgid "e-mail templates" +msgstr "" + +#: models.py:834 +msgid "Knowledge base category" +msgstr "" + +#: models.py:835 +msgid "Knowledge base categories" +msgstr "" + +#: models.py:849 templates/helpdesk/kb_index.html:11 +#: templates/helpdesk/public_homepage.html:11 +msgid "Category" +msgstr "" + +#: models.py:858 +msgid "Question" +msgstr "" + +#: models.py:862 +msgid "Answer" +msgstr "" + +#: models.py:866 +msgid "Votes" +msgstr "" + +#: models.py:867 +msgid "Total number of votes cast for this item" +msgstr "" + +#: models.py:872 +msgid "Positive Votes" +msgstr "" + +#: models.py:873 +msgid "Number of votes for this item which were POSITIVE." +msgstr "" + +#: models.py:878 +msgid "Last Updated" +msgstr "" + +#: models.py:879 +msgid "The date on which this question was most recently changed." +msgstr "" + +#: models.py:893 +msgid "Unrated" +msgstr "" + +#: models.py:901 +msgid "Knowledge base item" +msgstr "" + +#: models.py:902 +msgid "Knowledge base items" +msgstr "" + +#: models.py:926 templates/helpdesk/ticket_list.html:170 +msgid "Query Name" +msgstr "" + +#: models.py:928 +msgid "User-provided name for this query" +msgstr "" + +#: models.py:932 +msgid "Shared With Other Users?" +msgstr "" + +#: models.py:935 +msgid "Should other users see this query?" +msgstr "" + +#: models.py:939 +msgid "Search Query" +msgstr "" + +#: models.py:940 +msgid "Pickled query object. Be wary changing this." +msgstr "" + +#: models.py:950 +msgid "Saved search" +msgstr "" + +#: models.py:951 +msgid "Saved searches" +msgstr "" + +#: models.py:966 +msgid "Settings Dictionary" +msgstr "" + +#: models.py:967 +msgid "" +"This is a base64-encoded representation of a pickled Python dictionary. Do " +"not change this field via the admin." +msgstr "" + +#: models.py:993 +msgid "User Setting" +msgstr "" + +#: models.py:994 templates/helpdesk/navigation.html:37 +#: templates/helpdesk/user_settings.html:6 +msgid "User Settings" +msgstr "" + +#: models.py:1036 +msgid "" +"Leave blank for this e-mail to be ignored on all queues, or select those " +"queues you wish to ignore this e-mail for." +msgstr "" + +#: models.py:1048 +msgid "Date on which this e-mail address was added" +msgstr "" + +#: models.py:1056 +msgid "" +"Enter a full e-mail address, or portions with wildcards, eg *@domain.com or " +"postmaster@*." +msgstr "" + +#: models.py:1061 +msgid "Save Emails in Mailbox?" +msgstr "" + +#: models.py:1064 +msgid "" +"Do you want to save emails from this address in the mailbox? If this is " +"unticked, emails from this address will be deleted." +msgstr "" + +#: models.py:1101 +msgid "Ignored e-mail address" +msgstr "" + +#: models.py:1102 +msgid "Ignored e-mail addresses" +msgstr "" + +#: models.py:1124 +msgid "User who wishes to receive updates for this ticket." +msgstr "" + +#: models.py:1132 +msgid "For non-user followers, enter their e-mail address" +msgstr "" + +#: models.py:1136 +msgid "Can View Ticket?" +msgstr "" + +#: models.py:1138 +msgid "Can this CC login to view the ticket details?" +msgstr "" + +#: models.py:1142 +msgid "Can Update Ticket?" +msgstr "" + +#: models.py:1144 +msgid "Can this CC login and update the ticket?" +msgstr "" + +#: models.py:1175 +msgid "Field Name" +msgstr "" + +#: models.py:1176 +msgid "" +"As used in the database and behind the scenes. Must be unique and consist of" +" only lowercase letters with no punctuation." +msgstr "" + +#: models.py:1181 +msgid "Label" +msgstr "" + +#: models.py:1183 +msgid "The display label for this field" +msgstr "" + +#: models.py:1187 +msgid "Help Text" +msgstr "" + +#: models.py:1188 +msgid "Shown to the user when editing the ticket" +msgstr "" + +#: models.py:1194 +msgid "Character (single line)" +msgstr "" + +#: models.py:1195 +msgid "Text (multi-line)" +msgstr "" + +#: models.py:1196 +msgid "Integer" +msgstr "" + +#: models.py:1197 +msgid "Decimal" +msgstr "" + +#: models.py:1198 +msgid "List" +msgstr "" + +#: models.py:1199 +msgid "Boolean (checkbox yes/no)" +msgstr "" + +#: models.py:1201 +msgid "Time" +msgstr "" + +#: models.py:1202 +msgid "Date & Time" +msgstr "" + +#: models.py:1204 +msgid "URL" +msgstr "" + +#: models.py:1205 +msgid "IP Address" +msgstr "" + +#: models.py:1210 +msgid "Data Type" +msgstr "" + +#: models.py:1212 +msgid "Allows you to restrict the data entered into this field" +msgstr "" + +#: models.py:1217 +msgid "Maximum Length (characters)" +msgstr "" + +#: models.py:1223 +msgid "Decimal Places" +msgstr "" + +#: models.py:1224 +msgid "Only used for decimal fields" +msgstr "" + +#: models.py:1230 +msgid "Add empty first choice to List?" +msgstr "" + +#: models.py:1232 +msgid "" +"Only for List: adds an empty first entry to the choices list, which enforces" +" that the user makes an active choice." +msgstr "" + +#: models.py:1236 +msgid "List Values" +msgstr "" + +#: models.py:1237 +msgid "For list fields only. Enter one option per line." +msgstr "" + +#: models.py:1243 +msgid "Ordering" +msgstr "" + +#: models.py:1244 +msgid "Lower numbers are displayed first; higher numbers are listed later" +msgstr "" + +#: models.py:1258 +msgid "Required?" +msgstr "" + +#: models.py:1259 +msgid "Does the user have to enter a value for this field?" +msgstr "" + +#: models.py:1263 +msgid "Staff Only?" +msgstr "" + +#: models.py:1264 +msgid "" +"If this is ticked, then the public submission form will NOT show this field" +msgstr "" + +#: models.py:1273 +msgid "Custom field" +msgstr "" + +#: models.py:1274 +msgid "Custom fields" +msgstr "" + +#: models.py:1297 +msgid "Ticket custom field value" +msgstr "" + +#: models.py:1298 +msgid "Ticket custom field values" +msgstr "" + +#: models.py:1315 +msgid "Depends On Ticket" +msgstr "" + +#: models.py:1324 +msgid "Ticket dependency" +msgstr "" + +#: models.py:1325 +msgid "Ticket dependencies" +msgstr "" + +#: management/commands/create_usersettings.py:25 +msgid "" +"Check for user without django-helpdesk UserSettings and create settings if " +"required. Uses settings.DEFAULT_USER_SETTINGS which can be overridden to " +"suit your situation." +msgstr "" + +#: management/commands/escalate_tickets.py:148 +#, python-format +msgid "Ticket escalated after %s days" +msgstr "" + +#: management/commands/get_email.py:158 +msgid "Created from e-mail" +msgstr "" + +#: management/commands/get_email.py:162 +msgid "Unknown Sender" +msgstr "" + +#: management/commands/get_email.py:216 +msgid "" +"No plain-text email body available. Please see attachment " +"email_html_body.html." +msgstr "" + +#: management/commands/get_email.py:220 +msgid "email_html_body.html" +msgstr "" + +#: management/commands/get_email.py:263 +#, python-format +msgid "E-Mail Received from %(sender_email)s" +msgstr "" + +#: management/commands/get_email.py:271 +#, python-format +msgid "Ticket Re-Opened by E-Mail Received from %(sender_email)s" +msgstr "" + +#: management/commands/get_email.py:329 +msgid " (Reopened)" +msgstr "" + +#: management/commands/get_email.py:331 +msgid " (Updated)" +msgstr "" + +#: templates/helpdesk/attribution.html:2 +msgid "" +"django-helpdesk." +msgstr "" + +#: templates/helpdesk/base.html:10 +msgid "Powered by django-helpdesk" +msgstr "" + +#: templates/helpdesk/base.html:20 templates/helpdesk/rss_list.html:9 +#: templates/helpdesk/rss_list.html:24 templates/helpdesk/rss_list.html:31 +msgid "My Open Tickets" +msgstr "" + +#: templates/helpdesk/base.html:21 +msgid "All Recent Activity" +msgstr "" + +#: templates/helpdesk/base.html:22 templates/helpdesk/dashboard.html:99 +#: templates/helpdesk/rss_list.html:15 +msgid "Unassigned Tickets" +msgstr "" + +#: templates/helpdesk/base.html:52 templates/helpdesk/public_base.html:6 +#: templates/helpdesk/public_base.html:18 +msgid "Helpdesk" +msgstr "" + +#: templates/helpdesk/base.html:62 templates/helpdesk/rss_list.html:9 +#: templates/helpdesk/rss_list.html:12 templates/helpdesk/rss_list.html:15 +#: templates/helpdesk/rss_list.html:30 templates/helpdesk/rss_list.html:31 +msgid "RSS Icon" +msgstr "" + +#: templates/helpdesk/base.html:62 templates/helpdesk/rss_list.html:2 +#: templates/helpdesk/rss_list.html.py:4 +msgid "RSS Feeds" +msgstr "" + +#: templates/helpdesk/base.html:63 +msgid "API" +msgstr "" + +#: templates/helpdesk/base.html:64 templates/helpdesk/system_settings.html:6 +msgid "System Settings" +msgstr "" + +#: templates/helpdesk/confirm_delete_saved_query.html:3 +#: templates/helpdesk/ticket_list.html:146 +msgid "Delete Saved Query" +msgstr "" + +#: templates/helpdesk/confirm_delete_saved_query.html:6 +msgid "Delete Query" +msgstr "" + +#: templates/helpdesk/confirm_delete_saved_query.html:8 +#, python-format +msgid "" +"Are you sure you want to delete this saved filter " +"(%(query_title)s)? To re-create it, you will need to manually re-" +"filter your ticket listing." +msgstr "" + +#: templates/helpdesk/confirm_delete_saved_query.html:11 +msgid "" +"You have shared this query, so other users may be using it. If you delete " +"it, they will have to manually create their own query." +msgstr "" + +#: templates/helpdesk/confirm_delete_saved_query.html:14 +#: templates/helpdesk/delete_ticket.html:10 +msgid "No, Don't Delete It" +msgstr "" + +#: templates/helpdesk/confirm_delete_saved_query.html:16 +#: templates/helpdesk/delete_ticket.html:12 +msgid "Yes - Delete It" +msgstr "" + +#: templates/helpdesk/create_ticket.html:3 +msgid "Create Ticket" +msgstr "" + +#: templates/helpdesk/create_ticket.html:10 +#: templates/helpdesk/navigation.html:65 templates/helpdesk/navigation.html:68 +#: templates/helpdesk/public_homepage.html:27 +msgid "Submit a Ticket" +msgstr "" + +#: templates/helpdesk/create_ticket.html:11 +#: templates/helpdesk/edit_ticket.html:11 +msgid "Unless otherwise stated, all fields are required." +msgstr "" + +#: templates/helpdesk/create_ticket.html:11 +#: templates/helpdesk/edit_ticket.html:11 +#: templates/helpdesk/public_homepage.html:28 +msgid "Please provide as descriptive a title and description as possible." +msgstr "" + +#: templates/helpdesk/create_ticket.html:30 +#: templates/helpdesk/public_homepage.html:55 +msgid "Submit Ticket" +msgstr "" + +#: templates/helpdesk/dashboard.html:2 +msgid "Helpdesk Dashboard" +msgstr "" + +#: templates/helpdesk/dashboard.html:9 +msgid "" +"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." +msgstr "" + +#: templates/helpdesk/dashboard.html:14 +msgid "Helpdesk Summary" +msgstr "" + +#: templates/helpdesk/dashboard.html:36 +msgid "Current Ticket Stats" +msgstr "" + +#: templates/helpdesk/dashboard.html:37 +msgid "Average number of days until ticket is closed (all tickets): " +msgstr "" + +#: templates/helpdesk/dashboard.html:38 +msgid "" +"Average number of days until ticket is closed (tickets opened in last 60 " +"days): " +msgstr "" + +#: templates/helpdesk/dashboard.html:39 +msgid "Click" +msgstr "" + +#: templates/helpdesk/dashboard.html:39 +msgid "for detailed average by month." +msgstr "" + +#: templates/helpdesk/dashboard.html:40 +msgid "Distribution of open tickets, grouped by time period:" +msgstr "" + +#: templates/helpdesk/dashboard.html:41 +msgid "Days since opened" +msgstr "" + +#: templates/helpdesk/dashboard.html:41 +msgid "Number of open tickets" +msgstr "" + +#: templates/helpdesk/dashboard.html:57 +msgid "All Tickets submitted by you" +msgstr "" + +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:100 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket_list.html:225 +msgid "Pr" +msgstr "" + +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:124 +msgid "Last Update" +msgstr "" + +#: templates/helpdesk/dashboard.html:77 +msgid "Open Tickets assigned to you (you are working on this ticket)" +msgstr "" + +#: templates/helpdesk/dashboard.html:92 +msgid "You have no tickets assigned to you." +msgstr "" + +#: templates/helpdesk/dashboard.html:99 +msgid "(pick up a ticket if you start to work on it)" +msgstr "" + +#: templates/helpdesk/dashboard.html:110 +#: templates/helpdesk/ticket_desc_table.html:38 +msgid "Take" +msgstr "" + +#: templates/helpdesk/dashboard.html:110 +#: templates/helpdesk/email_ignore_list.html:13 +#: templates/helpdesk/email_ignore_list.html:23 +#: templates/helpdesk/ticket_cc_list.html:15 +#: templates/helpdesk/ticket_cc_list.html:23 +#: templates/helpdesk/ticket_list.html:262 +msgid "Delete" +msgstr "" + +#: templates/helpdesk/dashboard.html:114 +msgid "There are no unassigned tickets." +msgstr "" + +#: templates/helpdesk/dashboard.html:123 +msgid "Closed & resolved Tickets you used to work on" +msgstr "" + +#: templates/helpdesk/delete_ticket.html:3 +#: templates/helpdesk/delete_ticket.html:6 +msgid "Delete Ticket" +msgstr "" + +#: templates/helpdesk/delete_ticket.html:8 +#, python-format +msgid "" +"Are you sure you want to delete this ticket (%(ticket_title)s)? All" +" traces of the ticket, including followups, attachments, and updates will be" +" irreversibly removed." +msgstr "" + +#: templates/helpdesk/edit_ticket.html:3 +msgid "Edit Ticket" +msgstr "" + +#: templates/helpdesk/edit_ticket.html:9 +msgid "Edit a Ticket" +msgstr "" + +#: templates/helpdesk/edit_ticket.html:13 +msgid "Note" +msgstr "" + +#: templates/helpdesk/edit_ticket.html:13 +msgid "" +"Editing a ticket does not send an e-mail to the ticket owner or " +"submitter. No new details should be entered, this form should only be used " +"to fix incorrect details or clean up the submission." +msgstr "" + +#: templates/helpdesk/edit_ticket.html:33 +msgid "Save Changes" +msgstr "" + +#: templates/helpdesk/email_ignore_add.html:3 +#: templates/helpdesk/email_ignore_add.html:6 +#: templates/helpdesk/email_ignore_add.html:23 +msgid "Ignore E-Mail Address" +msgstr "" + +#: templates/helpdesk/email_ignore_add.html:8 +msgid "" +"To ignore an e-mail address and prevent any emails from that address " +"creating tickets automatically, enter the e-mail address below." +msgstr "" + +#: templates/helpdesk/email_ignore_add.html:10 +msgid "" +"You can either enter a whole e-mail address such as " +"email@domain.com or a portion of an e-mail address with a wildcard," +" such as *@domain.com or user@*." +msgstr "" + +#: templates/helpdesk/email_ignore_del.html:3 +msgid "Delete Ignored E-Mail Address" +msgstr "" + +#: templates/helpdesk/email_ignore_del.html:6 +msgid "Un-Ignore E-Mail Address" +msgstr "" + +#: templates/helpdesk/email_ignore_del.html:8 +#, python-format +msgid "" +"Are you sure you wish to stop removing this email address " +"(%(email_address)s) and allow their e-mails to automatically create" +" tickets in your system? You can re-add this e-mail address at any time." +msgstr "" + +#: templates/helpdesk/email_ignore_del.html:10 +msgid "Keep Ignoring It" +msgstr "" + +#: templates/helpdesk/email_ignore_del.html:12 +msgid "Stop Ignoring It" +msgstr "" + +#: templates/helpdesk/email_ignore_list.html:3 +#: templates/helpdesk/email_ignore_list.html:12 +msgid "Ignored E-Mail Addresses" +msgstr "" + +#: templates/helpdesk/email_ignore_list.html:5 +msgid "" +"\n" +"

Ignored E-Mail Addresses

\n" +"\n" +"

The following e-mail addresses are currently being ignored by the incoming e-mail processor. You can add a new e-mail address to the list or delete any of the items below as required.

" +msgstr "" + +#: templates/helpdesk/email_ignore_list.html:13 +msgid "Date Added" +msgstr "" + +#: templates/helpdesk/email_ignore_list.html:13 +msgid "Keep in mailbox?" +msgstr "" + +#: templates/helpdesk/email_ignore_list.html:21 +#: templates/helpdesk/ticket_list.html:260 +msgid "All" +msgstr "" + +#: templates/helpdesk/email_ignore_list.html:22 +msgid "Keep" +msgstr "" + +#: templates/helpdesk/email_ignore_list.html:29 +msgid "" +"Note: If the 'Keep' option is not selected, emails sent " +"from that address will be deleted permanently." +msgstr "" + +#: templates/helpdesk/followup_edit.html:2 +msgid "Edit followup" +msgstr "" + +#: templates/helpdesk/followup_edit.html:9 +msgid "Edit FollowUp" +msgstr "" + +#: templates/helpdesk/followup_edit.html:14 +msgid "Reassign ticket:" +msgstr "" + +#: templates/helpdesk/followup_edit.html:16 +msgid "Title:" +msgstr "" + +#: templates/helpdesk/followup_edit.html:18 +msgid "Comment:" +msgstr "" + +#: templates/helpdesk/kb_category.html:4 +#: templates/helpdesk/kb_category.html:12 +#, python-format +msgid "Knowledgebase Category: %(kbcat)s" +msgstr "" + +#: templates/helpdesk/kb_category.html:6 +#, python-format +msgid "You are viewing all items in the %(kbcat)s category." +msgstr "" + +#: templates/helpdesk/kb_category.html:13 +msgid "Article" +msgstr "" + +#: templates/helpdesk/kb_index.html:4 templates/helpdesk/navigation.html:21 +#: templates/helpdesk/navigation.html:71 +msgid "Knowledgebase" +msgstr "" + +#: templates/helpdesk/kb_index.html:6 +msgid "" +"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." +msgstr "" + +#: templates/helpdesk/kb_index.html:10 +#: templates/helpdesk/public_homepage.html:10 +msgid "Knowledgebase Categories" +msgstr "" + +#: templates/helpdesk/kb_item.html:4 +#, python-format +msgid "Knowledgebase: %(item)s" +msgstr "" + +#: templates/helpdesk/kb_item.html:16 +#, python-format +msgid "" +"View other %(category_title)s " +"articles, or continue viewing other knowledgebase " +"articles." +msgstr "" + +#: templates/helpdesk/kb_item.html:18 +msgid "Feedback" +msgstr "" + +#: templates/helpdesk/kb_item.html:20 +msgid "" +"We give our users an opportunity to vote for items that they believe have " +"helped them out, in order for us to better serve future customers. We would " +"appreciate your feedback on this article. Did you find it useful?" +msgstr "" + +#: templates/helpdesk/kb_item.html:23 +msgid "This article was useful to me" +msgstr "" + +#: templates/helpdesk/kb_item.html:24 +msgid "This article was not useful to me" +msgstr "" + +#: templates/helpdesk/kb_item.html:27 +msgid "The results of voting by other readers of this article are below:" +msgstr "" + +#: templates/helpdesk/kb_item.html:30 +#, python-format +msgid "Recommendations: %(recommendations)s" +msgstr "" + +#: templates/helpdesk/kb_item.html:31 +#, python-format +msgid "Votes: %(votes)s" +msgstr "" + +#: templates/helpdesk/kb_item.html:32 +#, python-format +msgid "Overall Rating: %(score)s" +msgstr "" + +#: templates/helpdesk/navigation.html:16 templates/helpdesk/navigation.html:64 +msgid "Dashboard" +msgstr "" + +#: templates/helpdesk/navigation.html:18 +msgid "New Ticket" +msgstr "" + +#: templates/helpdesk/navigation.html:19 +msgid "Stats" +msgstr "" + +#: templates/helpdesk/navigation.html:24 +msgid "Saved Query" +msgstr "" + +#: templates/helpdesk/navigation.html:39 +msgid "Change password" +msgstr "" + +#: templates/helpdesk/navigation.html:50 +msgid "Search..." +msgstr "" + +#: templates/helpdesk/navigation.html:50 +msgid "Enter a keyword, or a ticket number to jump straight to that ticket." +msgstr "" + +#: templates/helpdesk/navigation.html:73 +msgid "Logout" +msgstr "" + +#: templates/helpdesk/navigation.html:73 +msgid "Log In" +msgstr "" + +#: templates/helpdesk/public_change_language.html:2 +#: templates/helpdesk/public_homepage.html:73 +#: templates/helpdesk/public_view_form.html:4 +#: templates/helpdesk/public_view_ticket.html:2 +msgid "View a Ticket" +msgstr "" + +#: templates/helpdesk/public_change_language.html:5 +msgid "Change the display language" +msgstr "" + +#: templates/helpdesk/public_homepage.html:6 +msgid "Knowledgebase Articles" +msgstr "" + +#: templates/helpdesk/public_homepage.html:28 +msgid "All fields are required." +msgstr "" + +#: templates/helpdesk/public_homepage.html:66 +msgid "Please use button at upper right to login first." +msgstr "" + +#: templates/helpdesk/public_homepage.html:82 +#: templates/helpdesk/public_view_form.html:15 +msgid "Your E-mail Address" +msgstr "" + +#: templates/helpdesk/public_homepage.html:86 +#: templates/helpdesk/public_view_form.html:19 +msgid "View Ticket" +msgstr "" + +#: templates/helpdesk/public_spam.html:4 +msgid "Unable To Open Ticket" +msgstr "" + +#: templates/helpdesk/public_spam.html:5 +msgid "Sorry, but there has been an error trying to submit your ticket." +msgstr "" + +#: templates/helpdesk/public_spam.html:6 +msgid "" +"Our system has marked your submission as spam, so we are " +"unable to save it. If this is not spam, please press back and re-type your " +"message. Be careful to avoid sounding 'spammy', and if you have heaps of " +"links please try removing them if possible." +msgstr "" + +#: templates/helpdesk/public_spam.html:7 +msgid "" +"We are sorry for any inconvenience, however this check is required to avoid " +"our helpdesk resources being overloaded by spammers." +msgstr "" + +#: templates/helpdesk/public_view_form.html:8 +msgid "Error:" +msgstr "" + +#: templates/helpdesk/public_view_ticket.html:9 +#, python-format +msgid "Queue: %(queue_name)s" +msgstr "" + +#: templates/helpdesk/public_view_ticket.html:13 +#: templates/helpdesk/ticket_desc_table.html:32 +msgid "Submitted On" +msgstr "" + +#: templates/helpdesk/public_view_ticket.html:35 +msgid "Tags" +msgstr "" + +#: templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 +msgid "Accept" +msgstr "" + +#: templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 +msgid "Accept and Close" +msgstr "" + +#: templates/helpdesk/public_view_ticket.html:57 +#: templates/helpdesk/ticket.html:66 +msgid "Follow-Ups" +msgstr "" + +#: templates/helpdesk/public_view_ticket.html:65 +#: templates/helpdesk/ticket.html:100 +#, python-format +msgid "Changed %(field)s from %(old_value)s to %(new_value)s." +msgstr "" + +#: templates/helpdesk/report_index.html:3 +#: templates/helpdesk/report_index.html:6 +#: templates/helpdesk/report_output.html:3 +#: templates/helpdesk/report_output.html:16 +msgid "Reports & Statistics" +msgstr "" + +#: templates/helpdesk/report_index.html:9 +msgid "You haven't created any tickets yet, so you cannot run any reports." +msgstr "" + +#: templates/helpdesk/report_index.html:13 +msgid "Reports By User" +msgstr "" + +#: templates/helpdesk/report_index.html:15 +#: templates/helpdesk/report_index.html:24 +msgid "by Priority" +msgstr "" + +#: templates/helpdesk/report_index.html:16 +msgid "by Queue" +msgstr "" + +#: templates/helpdesk/report_index.html:17 +#: templates/helpdesk/report_index.html:25 +msgid "by Status" +msgstr "" + +#: templates/helpdesk/report_index.html:18 +#: templates/helpdesk/report_index.html:26 +msgid "by Month" +msgstr "" + +#: templates/helpdesk/report_index.html:22 +msgid "Reports By Queue" +msgstr "" + +#: templates/helpdesk/report_index.html:27 views/staff.py:1049 +msgid "Days until ticket closed by Month" +msgstr "" + +#: templates/helpdesk/report_output.html:19 +msgid "" +"You can run this query on filtered data by using one of your saved queries." +msgstr "" + +#: templates/helpdesk/report_output.html:21 +msgid "Select Query:" +msgstr "" + +#: templates/helpdesk/report_output.html:26 +msgid "Filter Report" +msgstr "" + +#: templates/helpdesk/report_output.html:29 +msgid "" +"Want to filter this report to just show a subset of data? Go to the Ticket " +"List, filter your query, and save your query." +msgstr "" + +#: templates/helpdesk/rss_list.html:6 +msgid "" +"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." +msgstr "" + +#: templates/helpdesk/rss_list.html:10 +msgid "" +"A summary of your open tickets - useful for getting alerted to new tickets " +"opened for you" +msgstr "" + +#: templates/helpdesk/rss_list.html:12 +msgid "Latest Activity" +msgstr "" + +#: templates/helpdesk/rss_list.html:13 +msgid "" +"A summary of all helpdesk activity - including comments, emails, " +"attachments, and more" +msgstr "" + +#: templates/helpdesk/rss_list.html:16 +msgid "" +"All unassigned tickets - useful for being alerted to new tickets opened by " +"the public via the web or via e-mail" +msgstr "" + +#: templates/helpdesk/rss_list.html:19 +msgid "" +"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." +msgstr "" + +#: templates/helpdesk/rss_list.html:23 +msgid "Per-Queue Feeds" +msgstr "" + +#: templates/helpdesk/rss_list.html:24 +msgid "All Open Tickets" +msgstr "" + +#: templates/helpdesk/rss_list.html:30 +msgid "Open Tickets" +msgstr "" + +#: templates/helpdesk/system_settings.html:3 +msgid "Change System Settings" +msgstr "" + +#: templates/helpdesk/system_settings.html:8 +msgid "The following items can be maintained by you or other superusers:" +msgstr "" + +#: templates/helpdesk/system_settings.html:11 +msgid "E-Mail Ignore list" +msgstr "" + +#: templates/helpdesk/system_settings.html:12 +msgid "Maintain Queues" +msgstr "" + +#: templates/helpdesk/system_settings.html:13 +msgid "Maintain Pre-Set Replies" +msgstr "" + +#: templates/helpdesk/system_settings.html:14 +msgid "Maintain Knowledgebase Categories" +msgstr "" + +#: templates/helpdesk/system_settings.html:15 +msgid "Maintain Knowledgebase Items" +msgstr "" + +#: templates/helpdesk/system_settings.html:16 +msgid "Maintain E-Mail Templates" +msgstr "" + +#: templates/helpdesk/system_settings.html:17 +msgid "Maintain Users" +msgstr "" + +#: templates/helpdesk/ticket.html:2 +msgid "View Ticket Details" +msgstr "" + +#: templates/helpdesk/ticket.html:34 +msgid "Attach another File" +msgstr "" + +#: templates/helpdesk/ticket.html:34 templates/helpdesk/ticket.html.py:200 +msgid "Add Another File" +msgstr "" + +#: templates/helpdesk/ticket.html:73 templates/helpdesk/ticket.html.py:86 +msgid "Private" +msgstr "" + +#: templates/helpdesk/ticket.html:119 +msgid "Respond to this ticket" +msgstr "" + +#: templates/helpdesk/ticket.html:126 +msgid "Use a Pre-set Reply" +msgstr "" + +#: templates/helpdesk/ticket.html:126 templates/helpdesk/ticket.html.py:166 +msgid "(Optional)" +msgstr "" + +#: templates/helpdesk/ticket.html:128 +msgid "" +"Selecting a pre-set reply will over-write your comment below. You can then " +"modify the pre-set reply to your liking before saving this update." +msgstr "" + +#: templates/helpdesk/ticket.html:131 +msgid "Comment / Resolution" +msgstr "" + +#: templates/helpdesk/ticket.html:133 +msgid "" +"You can insert ticket and queue details in your message. For more " +"information, see the context help page." +msgstr "" + +#: templates/helpdesk/ticket.html:136 +msgid "" +"This ticket cannot be resolved or closed until the tickets it depends on are" +" resolved." +msgstr "" + +#: templates/helpdesk/ticket.html:166 +msgid "Is this update public?" +msgstr "" + +#: templates/helpdesk/ticket.html:168 +msgid "" +"If this is public, the submitter will be e-mailed your comment or " +"resolution." +msgstr "" + +#: templates/helpdesk/ticket.html:172 +msgid "Change Further Details »" +msgstr "" + +#: templates/helpdesk/ticket.html:181 templates/helpdesk/ticket_list.html:68 +#: templates/helpdesk/ticket_list.html:97 +#: templates/helpdesk/ticket_list.html:225 +msgid "Owner" +msgstr "" + +#: templates/helpdesk/ticket.html:182 +msgid "Unassign" +msgstr "" + +#: templates/helpdesk/ticket.html:193 +msgid "Attach File(s) »" +msgstr "" + +#: templates/helpdesk/ticket.html:199 +msgid "Attach a File" +msgstr "" + +#: templates/helpdesk/ticket.html:207 +msgid "Update This Ticket" +msgstr "" + +#: templates/helpdesk/ticket_cc_add.html:3 +msgid "Add Ticket CC" +msgstr "" + +#: templates/helpdesk/ticket_cc_add.html:5 +msgid "" +"\n" +"

Add Ticket CC

\n" +"\n" +"

To automatically send an email to a user or e-mail address when this ticket is updated, select the user or enter an e-mail address below.

" +msgstr "" + +#: templates/helpdesk/ticket_cc_add.html:21 +msgid "Save Ticket CC" +msgstr "" + +#: templates/helpdesk/ticket_cc_del.html:3 +msgid "Delete Ticket CC" +msgstr "" + +#: templates/helpdesk/ticket_cc_del.html:5 +#, python-format +msgid "" +"\n" +"

Delete Ticket CC

\n" +"\n" +"

Are you sure you wish to delete this email address (%(email_address)s) from the CC list for this ticket? They will stop receiving updates.

\n" +msgstr "" + +#: templates/helpdesk/ticket_cc_del.html:11 +#: templates/helpdesk/ticket_dependency_del.html:11 +msgid "Don't Delete" +msgstr "" + +#: templates/helpdesk/ticket_cc_del.html:13 +#: templates/helpdesk/ticket_dependency_del.html:13 +msgid "Yes, Delete" +msgstr "" + +#: templates/helpdesk/ticket_cc_list.html:3 +msgid "Ticket CC Settings" +msgstr "" + +#: templates/helpdesk/ticket_cc_list.html:5 +#, python-format +msgid "" +"\n" +"

Ticket CC Settings

\n" +"\n" +"

The following people will receive an e-mail whenever %(ticket_title)s is updated. Some people can also view or edit the ticket via the public ticket views.

\n" +"\n" +"

You can add a new e-mail address to the list or delete any of the items below as required.

" +msgstr "" + +#: templates/helpdesk/ticket_cc_list.html:14 +msgid "Ticket CC List" +msgstr "" + +#: templates/helpdesk/ticket_cc_list.html:15 +msgid "View?" +msgstr "" + +#: templates/helpdesk/ticket_cc_list.html:15 +msgid "Update?" +msgstr "" + +#: templates/helpdesk/ticket_cc_list.html:29 +#, python-format +msgid "Return to %(ticket_title)s" +msgstr "" + +#: templates/helpdesk/ticket_dependency_add.html:3 +msgid "Add Ticket Dependency" +msgstr "" + +#: templates/helpdesk/ticket_dependency_add.html:5 +msgid "" +"\n" +"

Add Ticket Dependency

\n" +"\n" +"

Adding a dependency will stop you resolving this ticket until the dependent ticket has been resolved or closed.

" +msgstr "" + +#: templates/helpdesk/ticket_dependency_add.html:21 +msgid "Save Ticket Dependency" +msgstr "" + +#: templates/helpdesk/ticket_dependency_del.html:3 +msgid "Delete Ticket Dependency" +msgstr "" + +#: templates/helpdesk/ticket_dependency_del.html:5 +msgid "" +"\n" +"

Delete Ticket Dependency

\n" +"\n" +"

Are you sure you wish to remove the dependency on this ticket?

\n" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:7 +msgid "Unhold" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:7 +msgid "Hold" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:9 +#, python-format +msgid "Queue: %(queue)s" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:37 +msgid "Assigned To" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:43 +msgid "Ignore" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:52 +msgid "Copies To" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:53 +msgid "Manage" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:53 +msgid "" +"Click here to add / remove people who should receive an e-mail whenever this" +" ticket is updated." +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:53 +msgid "Subscribe" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:53 +msgid "" +"Click here to subscribe yourself to this ticket, if you want to receive an " +"e-mail whenever this ticket is updated." +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:57 +msgid "Dependencies" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:59 +msgid "" +"This ticket cannot be resolved until the following ticket(s) are resolved" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:60 +msgid "Remove Dependency" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:63 +msgid "This ticket has no dependencies." +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:65 +msgid "Add Dependency" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:65 +msgid "" +"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." +msgstr "" + +#: templates/helpdesk/ticket_list.html:59 +msgid "Change Query" +msgstr "" + +#: templates/helpdesk/ticket_list.html:67 +#: templates/helpdesk/ticket_list.html:79 +msgid "Sorting" +msgstr "" + +#: templates/helpdesk/ticket_list.html:71 +#: templates/helpdesk/ticket_list.html:139 +msgid "Keywords" +msgstr "" + +#: templates/helpdesk/ticket_list.html:72 +msgid "Date Range" +msgstr "" + +#: templates/helpdesk/ticket_list.html:100 +msgid "Reverse" +msgstr "" + +#: templates/helpdesk/ticket_list.html:102 +msgid "Ordering applied to tickets" +msgstr "" + +#: templates/helpdesk/ticket_list.html:107 +msgid "Owner(s)" +msgstr "" + +#: templates/helpdesk/ticket_list.html:111 +msgid "(ME)" +msgstr "" + +#: templates/helpdesk/ticket_list.html:115 +msgid "Ctrl-Click to select multiple options" +msgstr "" + +#: templates/helpdesk/ticket_list.html:120 +msgid "Queue(s)" +msgstr "" + +#: templates/helpdesk/ticket_list.html:121 +#: templates/helpdesk/ticket_list.html:127 +msgid "Ctrl-click to select multiple options" +msgstr "" + +#: templates/helpdesk/ticket_list.html:126 +msgid "Status(es)" +msgstr "" + +#: templates/helpdesk/ticket_list.html:132 +msgid "Date (From)" +msgstr "" + +#: templates/helpdesk/ticket_list.html:133 +msgid "Date (To)" +msgstr "" + +#: templates/helpdesk/ticket_list.html:134 +msgid "Use YYYY-MM-DD date format, eg 2011-05-29" +msgstr "" + +#: templates/helpdesk/ticket_list.html:140 +msgid "" +"Keywords are case-insensitive, and will be looked for in the title, body and" +" submitter fields." +msgstr "" + +#: templates/helpdesk/ticket_list.html:144 +msgid "Apply Filter" +msgstr "" + +#: templates/helpdesk/ticket_list.html:146 +#, python-format +msgid "You are currently viewing saved query \"%(query_name)s\"." +msgstr "" + +#: templates/helpdesk/ticket_list.html:149 +#, python-format +msgid "" +"Run a report on this " +"query to see stats and charts for the data listed below." +msgstr "" + +#: templates/helpdesk/ticket_list.html:162 +#: templates/helpdesk/ticket_list.html:181 +msgid "Save Query" +msgstr "" + +#: templates/helpdesk/ticket_list.html:172 +msgid "" +"This name appears in the drop-down list of saved queries. If you share your " +"query, other users will see this name, so choose something clear and " +"descriptive!" +msgstr "" + +#: templates/helpdesk/ticket_list.html:174 +msgid "Shared?" +msgstr "" + +#: templates/helpdesk/ticket_list.html:175 +msgid "Yes, share this query with other users." +msgstr "" + +#: templates/helpdesk/ticket_list.html:176 +msgid "" +"If you share this query, it will be visible by all other logged-in " +"users." +msgstr "" + +#: templates/helpdesk/ticket_list.html:195 +msgid "Use Saved Query" +msgstr "" + +#: templates/helpdesk/ticket_list.html:202 +msgid "Query" +msgstr "" + +#: templates/helpdesk/ticket_list.html:207 +msgid "Run Query" +msgstr "" + +#: templates/helpdesk/ticket_list.html:240 +msgid "No Tickets Match Your Selection" +msgstr "" + +#: templates/helpdesk/ticket_list.html:247 +msgid "Previous" +msgstr "" + +#: templates/helpdesk/ticket_list.html:251 +#, python-format +msgid "Page %(ticket_num)s of %(num_pages)s." +msgstr "" + +#: templates/helpdesk/ticket_list.html:255 +msgid "Next" +msgstr "" + +#: templates/helpdesk/ticket_list.html:260 +msgid "Select:" +msgstr "" + +#: templates/helpdesk/ticket_list.html:260 +msgid "None" +msgstr "" + +#: templates/helpdesk/ticket_list.html:260 +msgid "Inverse" +msgstr "" + +#: templates/helpdesk/ticket_list.html:262 +msgid "With Selected Tickets:" +msgstr "" + +#: templates/helpdesk/ticket_list.html:262 +msgid "Take (Assign to me)" +msgstr "" + +#: templates/helpdesk/ticket_list.html:262 +msgid "Close" +msgstr "" + +#: templates/helpdesk/ticket_list.html:262 +msgid "Close (Don't Send E-Mail)" +msgstr "" + +#: templates/helpdesk/ticket_list.html:262 +msgid "Close (Send E-Mail)" +msgstr "" + +#: templates/helpdesk/ticket_list.html:262 +msgid "Assign To" +msgstr "" + +#: templates/helpdesk/ticket_list.html:262 +msgid "Nobody (Unassign)" +msgstr "" + +#: templates/helpdesk/user_settings.html:3 +msgid "Change User Settings" +msgstr "" + +#: templates/helpdesk/user_settings.html:8 +msgid "" +"Use the following options to change the way your helpdesk system works for " +"you. These settings do not impact any other user." +msgstr "" + +#: templates/helpdesk/user_settings.html:14 +msgid "Save Options" +msgstr "" + +#: templates/helpdesk/registration/logged_out.html:2 +msgid "Logged Out" +msgstr "" + +#: templates/helpdesk/registration/logged_out.html:4 +msgid "" +"\n" +"

Logged Out

\n" +"\n" +"

Thanks for being here. Hopefully you've helped resolve a few tickets and make the world a better place.

\n" +"\n" +msgstr "" + +#: templates/helpdesk/registration/login.html:2 +msgid "Helpdesk Login" +msgstr "" + +#: templates/helpdesk/registration/login.html:14 +msgid "To log in simply enter your username and password below." +msgstr "" + +#: templates/helpdesk/registration/login.html:17 +msgid "Your username and password didn't match. Please try again." +msgstr "" + +#: templates/helpdesk/registration/login.html:20 +msgid "Login" +msgstr "" + +#: views/feeds.py:39 +#, python-format +msgid "Helpdesk: Open Tickets in queue %(queue)s for %(username)s" +msgstr "" + +#: views/feeds.py:44 +#, python-format +msgid "Helpdesk: Open Tickets for %(username)s" +msgstr "" + +#: views/feeds.py:50 +#, python-format +msgid "Open and Reopened Tickets in queue %(queue)s for %(username)s" +msgstr "" + +#: views/feeds.py:55 +#, python-format +msgid "Open and Reopened Tickets for %(username)s" +msgstr "" + +#: views/feeds.py:102 +msgid "Helpdesk: Unassigned Tickets" +msgstr "" + +#: views/feeds.py:103 +msgid "Unassigned Open and Reopened tickets" +msgstr "" + +#: views/feeds.py:128 +msgid "Helpdesk: Recent Followups" +msgstr "" + +#: views/feeds.py:129 +msgid "" +"Recent FollowUps, such as e-mail replies, comments, attachments and " +"resolutions" +msgstr "" + +#: views/feeds.py:144 +#, python-format +msgid "Helpdesk: Open Tickets in queue %(queue)s" +msgstr "" + +#: views/feeds.py:149 +#, python-format +msgid "Open and Reopened Tickets in queue %(queue)s" +msgstr "" + +#: views/public.py:89 +msgid "Invalid ticket ID or e-mail address. Please try again." +msgstr "" + +#: views/public.py:107 +msgid "Submitter accepted resolution and closed ticket" +msgstr "" + +#: views/staff.py:235 +msgid "Accepted resolution and closed ticket" +msgstr "" + +#: views/staff.py:369 +#, python-format +msgid "Assigned to %(username)s" +msgstr "" + +#: views/staff.py:392 +msgid "Updated" +msgstr "" + +#: views/staff.py:577 +#, python-format +msgid "Assigned to %(username)s in bulk update" +msgstr "" + +#: views/staff.py:582 +msgid "Unassigned in bulk update" +msgstr "" + +#: views/staff.py:587 views/staff.py:592 +msgid "Closed in bulk update" +msgstr "" + +#: views/staff.py:806 +msgid "" +"

Note: Your keyword search is case sensitive because of " +"your database. This means the search will not be accurate. " +"By switching to a different database system you will gain better searching! " +"For more information, read the Django Documentation on string matching in SQLite." +msgstr "" + +#: views/staff.py:910 +msgid "Ticket taken off hold" +msgstr "" + +#: views/staff.py:913 +msgid "Ticket placed on hold" +msgstr "" + +#: views/staff.py:1007 +msgid "User by Priority" +msgstr "" + +#: views/staff.py:1013 +msgid "User by Queue" +msgstr "" + +#: views/staff.py:1019 +msgid "User by Status" +msgstr "" + +#: views/staff.py:1025 +msgid "User by Month" +msgstr "" + +#: views/staff.py:1031 +msgid "Queue by Priority" +msgstr "" + +#: views/staff.py:1037 +msgid "Queue by Status" +msgstr "" + +#: views/staff.py:1043 +msgid "Queue by Month" +msgstr "" diff --git a/helpdesk/locale/hu/LC_MESSAGES/django.mo b/helpdesk/locale/hu/LC_MESSAGES/django.mo index 2631048d..6e437ffc 100644 Binary files a/helpdesk/locale/hu/LC_MESSAGES/django.mo and b/helpdesk/locale/hu/LC_MESSAGES/django.mo differ diff --git a/helpdesk/locale/hu/LC_MESSAGES/django.po b/helpdesk/locale/hu/LC_MESSAGES/django.po index 4dc30f05..a3cca752 100644 --- a/helpdesk/locale/hu/LC_MESSAGES/django.po +++ b/helpdesk/locale/hu/LC_MESSAGES/django.po @@ -3,12 +3,13 @@ # This file is distributed under the same license as the django-helpdesk package. # # Translators: +# Translators: msgid "" msgstr "" "Project-Id-Version: django-helpdesk\n" "Report-Msgid-Bugs-To: http://github.com/RossP/django-helpdesk/issues\n" -"POT-Creation-Date: 2012-08-07 20:40+1000\n" -"PO-Revision-Date: 2013-04-29 09:18+0000\n" +"POT-Creation-Date: 2014-07-26 14:14+0200\n" +"PO-Revision-Date: 2014-08-01 09:58+0000\n" "Last-Translator: Ross Poulton \n" "Language-Team: Hungarian (http://www.transifex.com/projects/p/django-helpdesk/language/hu/)\n" "MIME-Version: 1.0\n" @@ -17,1050 +18,1149 @@ msgstr "" "Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: forms.py:113 forms.py:360 models.py:262 -#: templates/helpdesk/dashboard.html:11 templates/helpdesk/dashboard.html:37 -#: templates/helpdesk/dashboard.html:57 templates/helpdesk/dashboard.html:77 -#: templates/helpdesk/dashboard.html:99 templates/helpdesk/rss_list.html:23 -#: templates/helpdesk/ticket_list.html:56 -#: templates/helpdesk/ticket_list.html:78 -#: templates/helpdesk/ticket_list.html:199 views/staff.py:976 -#: views/staff.py:982 views/staff.py:988 +#: forms.py:128 forms.py:328 models.py:190 models.py:267 +#: templates/helpdesk/dashboard.html:15 templates/helpdesk/dashboard.html:58 +#: templates/helpdesk/dashboard.html:78 templates/helpdesk/dashboard.html:100 +#: templates/helpdesk/dashboard.html:124 templates/helpdesk/rss_list.html:24 +#: templates/helpdesk/ticket_list.html:69 +#: templates/helpdesk/ticket_list.html:88 +#: templates/helpdesk/ticket_list.html:225 views/staff.py:1032 +#: views/staff.py:1038 views/staff.py:1044 views/staff.py:1050 msgid "Queue" msgstr "" -#: forms.py:122 +#: forms.py:137 msgid "Summary of the problem" msgstr "" -#: forms.py:127 +#: forms.py:142 msgid "Submitter E-Mail Address" msgstr "" -#: forms.py:129 +#: forms.py:144 msgid "" "This e-mail address will receive copies of all public updates to this " "ticket." msgstr "" -#: forms.py:135 +#: forms.py:150 msgid "Description of Issue" msgstr "" -#: forms.py:142 +#: forms.py:157 msgid "Case owner" msgstr "" -#: forms.py:143 +#: forms.py:158 msgid "" "If you select an owner other than yourself, they'll be e-mailed details of " "this ticket immediately." msgstr "" -#: forms.py:151 models.py:322 management/commands/escalate_tickets.py:149 -#: templates/helpdesk/public_view_ticket.html:21 -#: templates/helpdesk/ticket.html:176 -#: templates/helpdesk/ticket_desc_table.html:31 -#: templates/helpdesk/ticket_list.html:84 views/staff.py:355 +#: forms.py:166 models.py:327 management/commands/escalate_tickets.py:154 +#: templates/helpdesk/public_view_ticket.html:23 +#: templates/helpdesk/ticket.html:184 +#: templates/helpdesk/ticket_desc_table.html:47 +#: templates/helpdesk/ticket_list.html:94 views/staff.py:429 msgid "Priority" msgstr "" -#: forms.py:152 +#: forms.py:167 msgid "Please select a priority carefully. If unsure, leave it as '3'." msgstr "" -#: forms.py:159 forms.py:397 models.py:330 templates/helpdesk/ticket.html:178 -#: views/staff.py:365 +#: forms.py:174 forms.py:365 models.py:335 templates/helpdesk/ticket.html:186 +#: views/staff.py:439 msgid "Due on" msgstr "" -#: forms.py:171 forms.py:402 +#: forms.py:186 forms.py:370 msgid "Attach File" msgstr "" -#: forms.py:172 forms.py:403 +#: forms.py:187 forms.py:371 msgid "You can attach a file such as a document or screenshot to this ticket." msgstr "" -#: forms.py:180 templates/helpdesk/public_view_ticket.html:33 -#: templates/helpdesk/ticket.html:182 -#: templates/helpdesk/ticket_desc_table.html:42 -#: templates/helpdesk/ticket_list.html:61 -#: templates/helpdesk/ticket_list.html:199 views/staff.py:376 -msgid "Tags" -msgstr "" - -#: forms.py:181 -msgid "" -"Words, separated by spaces, or phrases separated by commas. These should " -"communicate significant characteristics of this ticket" -msgstr "" - -#: forms.py:275 +#: forms.py:240 msgid "Ticket Opened" msgstr "" -#: forms.py:282 +#: forms.py:247 #, python-format msgid "Ticket Opened & Assigned to %(name)s" msgstr "" -#: forms.py:369 +#: forms.py:337 msgid "Summary of your query" msgstr "" -#: forms.py:374 +#: forms.py:342 msgid "Your E-Mail Address" msgstr "" -#: forms.py:375 +#: forms.py:343 msgid "We will e-mail you when your ticket is updated." msgstr "" -#: forms.py:380 +#: forms.py:348 msgid "Description of your issue" msgstr "" -#: forms.py:382 +#: forms.py:350 msgid "" "Please be as descriptive as possible, including any details we may need to " "address your query." msgstr "" -#: forms.py:390 +#: forms.py:358 msgid "Urgency" msgstr "" -#: forms.py:391 +#: forms.py:359 msgid "Please select a priority carefully." msgstr "" -#: forms.py:486 +#: forms.py:419 msgid "Ticket Opened Via Web" msgstr "" -#: forms.py:553 +#: forms.py:486 msgid "Show Ticket List on Login?" msgstr "" -#: forms.py:554 +#: forms.py:487 msgid "Display the ticket list upon login? Otherwise, the dashboard is shown." msgstr "" -#: forms.py:559 +#: forms.py:492 msgid "E-mail me on ticket change?" msgstr "" -#: forms.py:560 +#: forms.py:493 msgid "" "If you're the ticket owner and the ticket is changed via the web by somebody" " else, do you want to receive an e-mail?" msgstr "" -#: forms.py:565 +#: forms.py:498 msgid "E-mail me when assigned a ticket?" msgstr "" -#: forms.py:566 +#: forms.py:499 msgid "" "If you are assigned a ticket via the web, do you want to receive an e-mail?" msgstr "" -#: forms.py:571 +#: forms.py:504 msgid "E-mail me when a ticket is changed via the API?" msgstr "" -#: forms.py:572 +#: forms.py:505 msgid "If a ticket is altered by the API, do you want to receive an e-mail?" msgstr "" -#: forms.py:577 +#: forms.py:510 msgid "Number of tickets to show per page" msgstr "" -#: forms.py:578 +#: forms.py:511 msgid "How many tickets do you want to see on the Ticket List page?" msgstr "" -#: forms.py:585 +#: forms.py:518 msgid "Use my e-mail address when submitting tickets?" msgstr "" -#: forms.py:586 +#: forms.py:519 msgid "" "When you submit a ticket, do you want to automatically use your e-mail " "address as the submitter address? You can type a different e-mail address " "when entering the ticket if needed, this option only changes the default." msgstr "" -#: models.py:32 models.py:256 models.py:490 models.py:787 models.py:821 -#: templates/helpdesk/dashboard.html:37 templates/helpdesk/dashboard.html:57 -#: templates/helpdesk/dashboard.html:77 templates/helpdesk/dashboard.html:99 -#: templates/helpdesk/ticket.html:170 templates/helpdesk/ticket_list.html:75 -#: templates/helpdesk/ticket_list.html:199 views/staff.py:345 +#: models.py:35 models.py:261 models.py:503 models.py:817 models.py:853 +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:100 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket.html:178 templates/helpdesk/ticket_list.html:85 +#: templates/helpdesk/ticket_list.html:225 views/staff.py:419 msgid "Title" msgstr "" -#: models.py:37 models.py:792 models.py:1162 +#: models.py:40 models.py:822 models.py:1206 msgid "Slug" msgstr "" -#: models.py:38 +#: models.py:41 msgid "" "This slug is used when building ticket ID's. Once set, try not to change it " "or e-mailing may get messy." msgstr "" -#: models.py:43 models.py:1015 models.py:1085 models.py:1159 +#: models.py:46 models.py:1054 models.py:1129 models.py:1203 #: templates/helpdesk/email_ignore_list.html:13 #: templates/helpdesk/ticket_cc_list.html:15 msgid "E-Mail Address" msgstr "" -#: models.py:46 +#: models.py:49 msgid "" "All outgoing e-mails for this queue will use this e-mail address. If you use" " IMAP or POP3, this should be the e-mail address for that mailbox." msgstr "" -#: models.py:52 models.py:766 +#: models.py:55 models.py:794 msgid "Locale" msgstr "" -#: models.py:56 +#: models.py:59 msgid "" "Locale of this queue. All correspondence in this queue will be in this " "language." msgstr "" -#: models.py:60 +#: models.py:63 msgid "Allow Public Submission?" msgstr "" -#: models.py:63 +#: models.py:66 msgid "Should this queue be listed on the public submission form?" msgstr "" -#: models.py:68 +#: models.py:71 msgid "Allow E-Mail Submission?" msgstr "" -#: models.py:71 +#: models.py:74 msgid "Do you want to poll the e-mail box below for new tickets?" msgstr "" -#: models.py:76 +#: models.py:79 msgid "Escalation Days" msgstr "" -#: models.py:79 +#: models.py:82 msgid "" "For tickets which are not held, how often do you wish to increase their " "priority? Set to 0 for no escalation." msgstr "" -#: models.py:84 +#: models.py:87 msgid "New Ticket CC Address" msgstr "" -#: models.py:88 +#: models.py:91 msgid "" "If an e-mail address is entered here, then it will receive notification of " "all new tickets created for this queue. Enter a comma between multiple " "e-mail addresses." msgstr "" -#: models.py:94 +#: models.py:97 msgid "Updated Ticket CC Address" msgstr "" -#: models.py:98 +#: models.py:101 msgid "" "If an e-mail address is entered here, then it will receive notification of " "all activity (new tickets, closed tickets, updates, reassignments, etc) for " "this queue. Separate multiple addresses with a comma." msgstr "" -#: models.py:105 +#: models.py:108 msgid "E-Mail Box Type" msgstr "" -#: models.py:107 +#: models.py:110 msgid "POP 3" msgstr "" -#: models.py:107 +#: models.py:110 msgid "IMAP" msgstr "" -#: models.py:110 +#: models.py:113 msgid "" "E-Mail server type for creating tickets automatically from a mailbox - both " "POP3 and IMAP are supported." msgstr "" -#: models.py:115 +#: models.py:118 msgid "E-Mail Hostname" msgstr "" -#: models.py:119 +#: models.py:122 msgid "" "Your e-mail server address - either the domain name or IP address. May be " "\"localhost\"." msgstr "" -#: models.py:124 +#: models.py:127 msgid "E-Mail Port" msgstr "" -#: models.py:127 +#: models.py:130 msgid "" "Port number to use for accessing e-mail. Default for POP3 is \"110\", and " "for IMAP is \"143\". This may differ on some servers. Leave it blank to use " "the defaults." msgstr "" -#: models.py:133 +#: models.py:136 msgid "Use SSL for E-Mail?" msgstr "" -#: models.py:136 +#: models.py:139 msgid "" "Whether to use SSL for IMAP or POP3 - the default ports when using SSL are " "993 for IMAP and 995 for POP3." msgstr "" -#: models.py:141 +#: models.py:144 msgid "E-Mail Username" msgstr "" -#: models.py:145 +#: models.py:148 msgid "Username for accessing this mailbox." msgstr "" -#: models.py:149 +#: models.py:152 msgid "E-Mail Password" msgstr "" -#: models.py:153 +#: models.py:156 msgid "Password for the above username" msgstr "" -#: models.py:157 +#: models.py:160 msgid "IMAP Folder" msgstr "" -#: models.py:161 +#: models.py:164 msgid "" "If using IMAP, what folder do you wish to fetch messages from? This allows " "you to use one IMAP account for multiple queues, by filtering messages on " "your IMAP server into separate folders. Default: INBOX." msgstr "" -#: models.py:168 +#: models.py:171 msgid "E-Mail Check Interval" msgstr "" -#: models.py:169 +#: models.py:172 msgid "How often do you wish to check this mailbox? (in Minutes)" msgstr "" -#: models.py:240 templates/helpdesk/dashboard.html:11 -#: templates/helpdesk/ticket.html:130 +#: models.py:191 templates/helpdesk/email_ignore_list.html:13 +msgid "Queues" +msgstr "" + +#: models.py:245 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:138 msgid "Open" msgstr "" -#: models.py:241 templates/helpdesk/ticket.html:136 -#: templates/helpdesk/ticket.html.py:142 templates/helpdesk/ticket.html:147 -#: templates/helpdesk/ticket.html.py:151 +#: models.py:246 templates/helpdesk/ticket.html:144 +#: templates/helpdesk/ticket.html.py:150 templates/helpdesk/ticket.html:155 +#: templates/helpdesk/ticket.html.py:159 msgid "Reopened" msgstr "" -#: models.py:242 templates/helpdesk/dashboard.html:11 -#: templates/helpdesk/ticket.html:131 templates/helpdesk/ticket.html.py:137 -#: templates/helpdesk/ticket.html:143 +#: models.py:247 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:139 templates/helpdesk/ticket.html.py:145 +#: templates/helpdesk/ticket.html:151 msgid "Resolved" msgstr "" -#: models.py:243 templates/helpdesk/dashboard.html:11 -#: templates/helpdesk/ticket.html:132 templates/helpdesk/ticket.html.py:138 -#: templates/helpdesk/ticket.html:144 templates/helpdesk/ticket.html.py:148 +#: models.py:248 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:140 templates/helpdesk/ticket.html.py:146 +#: templates/helpdesk/ticket.html:152 templates/helpdesk/ticket.html.py:156 msgid "Closed" msgstr "" -#: models.py:244 templates/helpdesk/ticket.html:133 -#: templates/helpdesk/ticket.html.py:139 templates/helpdesk/ticket.html:152 +#: models.py:249 templates/helpdesk/ticket.html:141 +#: templates/helpdesk/ticket.html.py:147 templates/helpdesk/ticket.html:160 msgid "Duplicate" msgstr "" -#: models.py:248 +#: models.py:253 msgid "1. Critical" msgstr "" -#: models.py:249 +#: models.py:254 msgid "2. High" msgstr "" -#: models.py:250 +#: models.py:255 msgid "3. Normal" msgstr "" -#: models.py:251 +#: models.py:256 msgid "4. Low" msgstr "" -#: models.py:252 +#: models.py:257 msgid "5. Very Low" msgstr "" -#: models.py:266 templates/helpdesk/dashboard.html:77 -#: templates/helpdesk/ticket_list.html:72 -#: templates/helpdesk/ticket_list.html:199 +#: models.py:271 templates/helpdesk/dashboard.html:100 +#: templates/helpdesk/ticket_list.html:82 +#: templates/helpdesk/ticket_list.html:225 msgid "Created" msgstr "" -#: models.py:268 +#: models.py:273 msgid "Date this ticket was first created" msgstr "" -#: models.py:272 +#: models.py:277 msgid "Modified" msgstr "" -#: models.py:274 +#: models.py:279 msgid "Date this ticket was most recently changed." msgstr "" -#: models.py:278 templates/helpdesk/public_view_ticket.html:16 -#: templates/helpdesk/ticket_desc_table.html:26 +#: models.py:283 templates/helpdesk/public_view_ticket.html:18 +#: templates/helpdesk/ticket_desc_table.html:42 msgid "Submitter E-Mail" msgstr "" -#: models.py:281 +#: models.py:286 msgid "" "The submitter will receive an email for all public follow-ups left for this " "task." msgstr "" -#: models.py:290 +#: models.py:295 msgid "Assigned to" msgstr "" -#: models.py:294 templates/helpdesk/dashboard.html:37 -#: templates/helpdesk/dashboard.html:57 templates/helpdesk/dashboard.html:99 -#: templates/helpdesk/ticket_list.html:57 -#: templates/helpdesk/ticket_list.html:81 -#: templates/helpdesk/ticket_list.html:199 +#: models.py:299 templates/helpdesk/dashboard.html:58 +#: templates/helpdesk/dashboard.html:78 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket_list.html:70 +#: templates/helpdesk/ticket_list.html:91 +#: templates/helpdesk/ticket_list.html:225 msgid "Status" msgstr "" -#: models.py:300 +#: models.py:305 msgid "On Hold" msgstr "" -#: models.py:303 +#: models.py:308 msgid "If a ticket is on hold, it will not automatically be escalated." msgstr "" -#: models.py:308 models.py:796 templates/helpdesk/public_view_ticket.html:39 -#: templates/helpdesk/ticket_desc_table.html:67 +#: models.py:313 models.py:826 templates/helpdesk/public_view_ticket.html:41 +#: templates/helpdesk/ticket_desc_table.html:19 msgid "Description" msgstr "" -#: models.py:311 +#: models.py:316 msgid "The content of the customers query." msgstr "" -#: models.py:315 templates/helpdesk/public_view_ticket.html:46 -#: templates/helpdesk/ticket_desc_table.html:74 +#: models.py:320 templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 msgid "Resolution" msgstr "" -#: models.py:318 +#: models.py:323 msgid "The resolution provided to the customer by our staff." msgstr "" -#: models.py:326 +#: models.py:331 msgid "1 = Highest Priority, 5 = Low Priority" msgstr "" -#: models.py:339 +#: models.py:344 msgid "" "The date this ticket was last escalated - updated automatically by " "management/commands/escalate_tickets.py." msgstr "" -#: models.py:348 templates/helpdesk/ticket_desc_table.html:22 -#: views/feeds.py:91 views/feeds.py:117 views/feeds.py:169 views/staff.py:302 +#: models.py:353 templates/helpdesk/ticket_desc_table.html:38 +#: views/feeds.py:95 views/feeds.py:121 views/feeds.py:173 views/staff.py:376 msgid "Unassigned" msgstr "" -#: models.py:387 +#: models.py:392 msgid " - On Hold" msgstr "" -#: models.py:481 models.py:1073 models.py:1231 models.py:1256 -#: templates/helpdesk/public_homepage.html:26 +#: models.py:394 +msgid " - Open dependencies" +msgstr "" + +#: models.py:448 models.py:494 models.py:1117 models.py:1280 models.py:1309 +#: templates/helpdesk/public_homepage.html:78 #: templates/helpdesk/public_view_form.html:12 msgid "Ticket" msgstr "" -#: models.py:485 models.py:714 models.py:1008 models.py:1156 +#: models.py:449 templates/helpdesk/navigation.html:17 +#: templates/helpdesk/ticket_list.html:2 +#: templates/helpdesk/ticket_list.html:224 +msgid "Tickets" +msgstr "" + +#: models.py:498 models.py:738 models.py:1047 models.py:1200 msgid "Date" msgstr "" -#: models.py:497 views/staff.py:316 +#: models.py:510 views/staff.py:390 msgid "Comment" msgstr "" -#: models.py:503 +#: models.py:516 msgid "Public" msgstr "" -#: models.py:506 +#: models.py:519 msgid "" "Public tickets are viewable by the submitter and all staff, but non-public " "tickets can only be seen by staff." msgstr "" -#: models.py:514 models.py:888 models.py:1081 views/staff.py:952 -#: views/staff.py:958 views/staff.py:964 views/staff.py:970 +#: models.py:527 models.py:922 models.py:1125 views/staff.py:1008 +#: views/staff.py:1014 views/staff.py:1020 views/staff.py:1026 msgid "User" msgstr "" -#: models.py:518 templates/helpdesk/ticket.html:127 +#: models.py:531 templates/helpdesk/ticket.html:135 msgid "New Status" msgstr "" -#: models.py:522 +#: models.py:535 msgid "If the status was changed, what was it changed to?" msgstr "" -#: models.py:551 models.py:608 +#: models.py:542 models.py:566 models.py:628 msgid "Follow-up" msgstr "" -#: models.py:555 models.py:1236 +#: models.py:543 +msgid "Follow-ups" +msgstr "" + +#: models.py:570 models.py:1285 msgid "Field" msgstr "" -#: models.py:560 +#: models.py:575 msgid "Old Value" msgstr "" -#: models.py:566 +#: models.py:581 msgid "New Value" msgstr "" -#: models.py:574 +#: models.py:589 msgid "removed" msgstr "" -#: models.py:576 +#: models.py:591 #, python-format msgid "set to %s" msgstr "" -#: models.py:578 +#: models.py:593 #, python-format msgid "changed from \"%(old_value)s\" to \"%(new_value)s\"" msgstr "" -#: models.py:612 +#: models.py:600 +msgid "Ticket change" +msgstr "" + +#: models.py:601 +msgid "Ticket changes" +msgstr "" + +#: models.py:632 msgid "File" msgstr "" -#: models.py:617 +#: models.py:637 msgid "Filename" msgstr "" -#: models.py:622 +#: models.py:642 msgid "MIME Type" msgstr "" -#: models.py:627 +#: models.py:647 msgid "Size" msgstr "" -#: models.py:628 +#: models.py:648 msgid "Size of this file in bytes" msgstr "" -#: models.py:663 +#: models.py:665 +msgid "Attachment" +msgstr "" + +#: models.py:666 +msgid "Attachments" +msgstr "" + +#: models.py:685 msgid "" "Leave blank to allow this reply to be used for all queues, or select those " "queues you wish to limit this reply to." msgstr "" -#: models.py:668 models.py:709 models.py:1003 +#: models.py:690 models.py:733 models.py:1042 #: templates/helpdesk/email_ignore_list.html:13 msgid "Name" msgstr "" -#: models.py:670 +#: models.py:692 msgid "" "Only used to assist users with selecting a reply - not shown to the user." msgstr "" -#: models.py:675 +#: models.py:697 msgid "Body" msgstr "" -#: models.py:676 +#: models.py:698 msgid "" "Context available: {{ ticket }} - ticket object (eg {{ ticket.title }}); {{ " "queue }} - The queue; and {{ user }} - the current user." msgstr "" -#: models.py:703 +#: models.py:705 +msgid "Pre-set reply" +msgstr "" + +#: models.py:706 +msgid "Pre-set replies" +msgstr "" + +#: models.py:727 msgid "" "Leave blank for this exclusion to be applied to all queues, or select those " "queues you wish to exclude with this entry." msgstr "" -#: models.py:715 +#: models.py:739 msgid "Date on which escalation should not happen" msgstr "" -#: models.py:732 +#: models.py:746 +msgid "Escalation exclusion" +msgstr "" + +#: models.py:747 +msgid "Escalation exclusions" +msgstr "" + +#: models.py:760 msgid "Template Name" msgstr "" -#: models.py:737 +#: models.py:765 msgid "Subject" msgstr "" -#: models.py:739 +#: models.py:767 msgid "" "This will be prefixed with \"[ticket.ticket] ticket.title\". We recommend " "something simple such as \"(Updated\") or \"(Closed)\" - the same context is" " available as in plain_text, below." msgstr "" -#: models.py:745 +#: models.py:773 msgid "Heading" msgstr "" -#: models.py:747 +#: models.py:775 msgid "" "In HTML e-mails, this will be the heading at the top of the email - the same" " context is available as in plain_text, below." msgstr "" -#: models.py:753 +#: models.py:781 msgid "Plain Text" msgstr "" -#: models.py:754 +#: models.py:782 msgid "" "The context available to you includes {{ ticket }}, {{ queue }}, and " "depending on the time of the call: {{ resolution }} or {{ comment }}." msgstr "" -#: models.py:760 +#: models.py:788 msgid "HTML" msgstr "" -#: models.py:761 +#: models.py:789 msgid "The same context is available here as in plain_text, above." msgstr "" -#: models.py:770 +#: models.py:798 msgid "Locale of this template." msgstr "" -#: models.py:817 templates/helpdesk/kb_index.html:10 -#: templates/helpdesk/public_homepage.html:10 -msgid "Category" +#: models.py:806 +msgid "e-mail template" msgstr "" -#: models.py:826 -msgid "Question" -msgstr "" - -#: models.py:830 -msgid "Answer" +#: models.py:807 +msgid "e-mail templates" msgstr "" #: models.py:834 -msgid "Votes" +msgid "Knowledge base category" msgstr "" #: models.py:835 +msgid "Knowledge base categories" +msgstr "" + +#: models.py:849 templates/helpdesk/kb_index.html:11 +#: templates/helpdesk/public_homepage.html:11 +msgid "Category" +msgstr "" + +#: models.py:858 +msgid "Question" +msgstr "" + +#: models.py:862 +msgid "Answer" +msgstr "" + +#: models.py:866 +msgid "Votes" +msgstr "" + +#: models.py:867 msgid "Total number of votes cast for this item" msgstr "" -#: models.py:840 +#: models.py:872 msgid "Positive Votes" msgstr "" -#: models.py:841 +#: models.py:873 msgid "Number of votes for this item which were POSITIVE." msgstr "" -#: models.py:846 +#: models.py:878 msgid "Last Updated" msgstr "" -#: models.py:847 +#: models.py:879 msgid "The date on which this question was most recently changed." msgstr "" -#: models.py:861 +#: models.py:893 msgid "Unrated" msgstr "" -#: models.py:892 templates/helpdesk/ticket_list.html:158 +#: models.py:901 +msgid "Knowledge base item" +msgstr "" + +#: models.py:902 +msgid "Knowledge base items" +msgstr "" + +#: models.py:926 templates/helpdesk/ticket_list.html:170 msgid "Query Name" msgstr "" -#: models.py:894 +#: models.py:928 msgid "User-provided name for this query" msgstr "" -#: models.py:898 +#: models.py:932 msgid "Shared With Other Users?" msgstr "" -#: models.py:901 +#: models.py:935 msgid "Should other users see this query?" msgstr "" -#: models.py:905 +#: models.py:939 msgid "Search Query" msgstr "" -#: models.py:906 +#: models.py:940 msgid "Pickled query object. Be wary changing this." msgstr "" -#: models.py:927 +#: models.py:950 +msgid "Saved search" +msgstr "" + +#: models.py:951 +msgid "Saved searches" +msgstr "" + +#: models.py:966 msgid "Settings Dictionary" msgstr "" -#: models.py:928 +#: models.py:967 msgid "" "This is a base64-encoded representation of a pickled Python dictionary. Do " "not change this field via the admin." msgstr "" -#: models.py:997 +#: models.py:993 +msgid "User Setting" +msgstr "" + +#: models.py:994 templates/helpdesk/navigation.html:37 +#: templates/helpdesk/user_settings.html:6 +msgid "User Settings" +msgstr "" + +#: models.py:1036 msgid "" "Leave blank for this e-mail to be ignored on all queues, or select those " "queues you wish to ignore this e-mail for." msgstr "" -#: models.py:1009 +#: models.py:1048 msgid "Date on which this e-mail address was added" msgstr "" -#: models.py:1017 +#: models.py:1056 msgid "" "Enter a full e-mail address, or portions with wildcards, eg *@domain.com or " "postmaster@*." msgstr "" -#: models.py:1022 +#: models.py:1061 msgid "Save Emails in Mailbox?" msgstr "" -#: models.py:1025 +#: models.py:1064 msgid "" "Do you want to save emails from this address in the mailbox? If this is " "unticked, emails from this address will be deleted." msgstr "" -#: models.py:1080 +#: models.py:1101 +msgid "Ignored e-mail address" +msgstr "" + +#: models.py:1102 +msgid "Ignored e-mail addresses" +msgstr "" + +#: models.py:1124 msgid "User who wishes to receive updates for this ticket." msgstr "" -#: models.py:1088 +#: models.py:1132 msgid "For non-user followers, enter their e-mail address" msgstr "" -#: models.py:1092 +#: models.py:1136 msgid "Can View Ticket?" msgstr "" -#: models.py:1094 +#: models.py:1138 msgid "Can this CC login to view the ticket details?" msgstr "" -#: models.py:1098 +#: models.py:1142 msgid "Can Update Ticket?" msgstr "" -#: models.py:1100 +#: models.py:1144 msgid "Can this CC login and update the ticket?" msgstr "" -#: models.py:1131 +#: models.py:1175 msgid "Field Name" msgstr "" -#: models.py:1132 +#: models.py:1176 msgid "" "As used in the database and behind the scenes. Must be unique and consist of" " only lowercase letters with no punctuation." msgstr "" -#: models.py:1137 +#: models.py:1181 msgid "Label" msgstr "" -#: models.py:1139 +#: models.py:1183 msgid "The display label for this field" msgstr "" -#: models.py:1143 +#: models.py:1187 msgid "Help Text" msgstr "" -#: models.py:1144 +#: models.py:1188 msgid "Shown to the user when editing the ticket" msgstr "" -#: models.py:1150 +#: models.py:1194 msgid "Character (single line)" msgstr "" -#: models.py:1151 +#: models.py:1195 msgid "Text (multi-line)" msgstr "" -#: models.py:1152 +#: models.py:1196 msgid "Integer" msgstr "" -#: models.py:1153 +#: models.py:1197 msgid "Decimal" msgstr "" -#: models.py:1154 +#: models.py:1198 msgid "List" msgstr "" -#: models.py:1155 +#: models.py:1199 msgid "Boolean (checkbox yes/no)" msgstr "" -#: models.py:1157 +#: models.py:1201 msgid "Time" msgstr "" -#: models.py:1158 +#: models.py:1202 msgid "Date & Time" msgstr "" -#: models.py:1160 +#: models.py:1204 msgid "URL" msgstr "" -#: models.py:1161 +#: models.py:1205 msgid "IP Address" msgstr "" -#: models.py:1166 +#: models.py:1210 msgid "Data Type" msgstr "" -#: models.py:1168 +#: models.py:1212 msgid "Allows you to restrict the data entered into this field" msgstr "" -#: models.py:1173 +#: models.py:1217 msgid "Maximum Length (characters)" msgstr "" -#: models.py:1179 +#: models.py:1223 msgid "Decimal Places" msgstr "" -#: models.py:1180 +#: models.py:1224 msgid "Only used for decimal fields" msgstr "" -#: models.py:1186 +#: models.py:1230 msgid "Add empty first choice to List?" msgstr "" -#: models.py:1187 +#: models.py:1232 msgid "" "Only for List: adds an empty first entry to the choices list, which enforces" " that the user makes an active choice." msgstr "" -#: models.py:1191 +#: models.py:1236 msgid "List Values" msgstr "" -#: models.py:1192 +#: models.py:1237 msgid "For list fields only. Enter one option per line." msgstr "" -#: models.py:1198 +#: models.py:1243 msgid "Ordering" msgstr "" -#: models.py:1199 +#: models.py:1244 msgid "Lower numbers are displayed first; higher numbers are listed later" msgstr "" -#: models.py:1213 +#: models.py:1258 msgid "Required?" msgstr "" -#: models.py:1214 +#: models.py:1259 msgid "Does the user have to enter a value for this field?" msgstr "" -#: models.py:1218 +#: models.py:1263 msgid "Staff Only?" msgstr "" -#: models.py:1219 +#: models.py:1264 msgid "" "If this is ticked, then the public submission form will NOT show this field" msgstr "" -#: models.py:1262 +#: models.py:1273 +msgid "Custom field" +msgstr "" + +#: models.py:1274 +msgid "Custom fields" +msgstr "" + +#: models.py:1297 +msgid "Ticket custom field value" +msgstr "" + +#: models.py:1298 +msgid "Ticket custom field values" +msgstr "" + +#: models.py:1315 msgid "Depends On Ticket" msgstr "" -#: management/commands/create_usersettings.py:21 +#: models.py:1324 +msgid "Ticket dependency" +msgstr "" + +#: models.py:1325 +msgid "Ticket dependencies" +msgstr "" + +#: management/commands/create_usersettings.py:25 msgid "" "Check for user without django-helpdesk UserSettings and create settings if " "required. Uses settings.DEFAULT_USER_SETTINGS which can be overridden to " "suit your situation." msgstr "" -#: management/commands/escalate_tickets.py:143 +#: management/commands/escalate_tickets.py:148 #, python-format msgid "Ticket escalated after %s days" msgstr "" -#: management/commands/get_email.py:151 +#: management/commands/get_email.py:158 msgid "Created from e-mail" msgstr "" -#: management/commands/get_email.py:155 +#: management/commands/get_email.py:162 msgid "Unknown Sender" msgstr "" -#: management/commands/get_email.py:209 +#: management/commands/get_email.py:216 msgid "" "No plain-text email body available. Please see attachment " "email_html_body.html." msgstr "" -#: management/commands/get_email.py:213 +#: management/commands/get_email.py:220 msgid "email_html_body.html" msgstr "" -#: management/commands/get_email.py:256 +#: management/commands/get_email.py:263 #, python-format msgid "E-Mail Received from %(sender_email)s" msgstr "" -#: management/commands/get_email.py:264 +#: management/commands/get_email.py:271 #, python-format msgid "Ticket Re-Opened by E-Mail Received from %(sender_email)s" msgstr "" -#: management/commands/get_email.py:322 +#: management/commands/get_email.py:329 msgid " (Reopened)" msgstr "" -#: management/commands/get_email.py:324 +#: management/commands/get_email.py:331 msgid " (Updated)" msgstr "" #: templates/helpdesk/attribution.html:2 msgid "" -"Powered by django-" -"helpdesk." +"django-helpdesk." msgstr "" -#: templates/helpdesk/attribution.html:4 -msgid "For technical support please contact:" -msgstr "" - -#: templates/helpdesk/base.html:9 +#: templates/helpdesk/base.html:10 msgid "Powered by django-helpdesk" msgstr "" -#: templates/helpdesk/base.html:19 templates/helpdesk/rss_list.html:9 -#: templates/helpdesk/rss_list.html:23 templates/helpdesk/rss_list.html:28 +#: templates/helpdesk/base.html:20 templates/helpdesk/rss_list.html:9 +#: templates/helpdesk/rss_list.html:24 templates/helpdesk/rss_list.html:31 msgid "My Open Tickets" msgstr "" -#: templates/helpdesk/base.html:20 +#: templates/helpdesk/base.html:21 msgid "All Recent Activity" msgstr "" -#: templates/helpdesk/base.html:21 templates/helpdesk/dashboard.html:76 +#: templates/helpdesk/base.html:22 templates/helpdesk/dashboard.html:99 #: templates/helpdesk/rss_list.html:15 msgid "Unassigned Tickets" msgstr "" -#: templates/helpdesk/base.html:101 templates/helpdesk/public_base.html:6 -#: templates/helpdesk/public_base.html:14 +#: templates/helpdesk/base.html:52 templates/helpdesk/public_base.html:6 +#: templates/helpdesk/public_base.html:18 msgid "Helpdesk" msgstr "" -#: templates/helpdesk/base.html:111 templates/helpdesk/rss_list.html:9 +#: templates/helpdesk/base.html:62 templates/helpdesk/rss_list.html:9 #: templates/helpdesk/rss_list.html:12 templates/helpdesk/rss_list.html:15 -#: templates/helpdesk/rss_list.html:27 templates/helpdesk/rss_list.html:28 +#: templates/helpdesk/rss_list.html:30 templates/helpdesk/rss_list.html:31 msgid "RSS Icon" msgstr "" -#: templates/helpdesk/base.html:111 templates/helpdesk/rss_list.html:2 +#: templates/helpdesk/base.html:62 templates/helpdesk/rss_list.html:2 #: templates/helpdesk/rss_list.html.py:4 msgid "RSS Feeds" msgstr "" -#: templates/helpdesk/base.html:112 +#: templates/helpdesk/base.html:63 msgid "API" msgstr "" -#: templates/helpdesk/base.html:113 -msgid "User Settings" -msgstr "" - -#: templates/helpdesk/base.html:115 -msgid "Change Language" -msgstr "" - -#: templates/helpdesk/base.html:117 +#: templates/helpdesk/base.html:64 templates/helpdesk/system_settings.html:6 msgid "System Settings" msgstr "" #: templates/helpdesk/confirm_delete_saved_query.html:3 -#: templates/helpdesk/ticket_list.html:144 +#: templates/helpdesk/ticket_list.html:146 msgid "Delete Saved Query" msgstr "" -#: templates/helpdesk/confirm_delete_saved_query.html:5 +#: templates/helpdesk/confirm_delete_saved_query.html:6 +msgid "Delete Query" +msgstr "" + +#: templates/helpdesk/confirm_delete_saved_query.html:8 #, python-format msgid "" -"\n" -"

Delete Query

\n" -"\n" -"

Are you sure you want to delete this saved filter (%(query_title)s)? To re-create it, you will need to manually re-filter your ticket listing.

\n" +"Are you sure you want to delete this saved filter " +"(%(query_title)s)? To re-create it, you will need to manually re-" +"filter your ticket listing." msgstr "" #: templates/helpdesk/confirm_delete_saved_query.html:11 msgid "" -"\n" -"

You have shared this query, so other users may be using it. If you delete it, they will have to manually create their own query.

\n" +"You have shared this query, so other users may be using it. If you delete " +"it, they will have to manually create their own query." msgstr "" -#: templates/helpdesk/confirm_delete_saved_query.html:15 -#: templates/helpdesk/delete_ticket.html:11 +#: templates/helpdesk/confirm_delete_saved_query.html:14 +#: templates/helpdesk/delete_ticket.html:10 msgid "No, Don't Delete It" msgstr "" -#: templates/helpdesk/confirm_delete_saved_query.html:17 -#: templates/helpdesk/delete_ticket.html:13 +#: templates/helpdesk/confirm_delete_saved_query.html:16 +#: templates/helpdesk/delete_ticket.html:12 msgid "Yes - Delete It" msgstr "" @@ -1068,21 +1168,25 @@ msgstr "" msgid "Create Ticket" msgstr "" -#: templates/helpdesk/create_ticket.html:6 -msgid "" -"

Submit a Ticket

\n" -"\n" -"

Unless otherwise stated, all fields are required. Please provide as descriptive a title and description as possible.

" +#: templates/helpdesk/create_ticket.html:10 +#: templates/helpdesk/navigation.html:65 templates/helpdesk/navigation.html:68 +#: templates/helpdesk/public_homepage.html:27 +msgid "Submit a Ticket" msgstr "" -#: templates/helpdesk/create_ticket.html:17 -#: templates/helpdesk/edit_ticket.html:19 -#: templates/helpdesk/public_homepage.html:50 -msgid "(Optional)" +#: templates/helpdesk/create_ticket.html:11 +#: templates/helpdesk/edit_ticket.html:11 +msgid "Unless otherwise stated, all fields are required." msgstr "" -#: templates/helpdesk/create_ticket.html:26 -#: templates/helpdesk/public_homepage.html:59 +#: templates/helpdesk/create_ticket.html:11 +#: templates/helpdesk/edit_ticket.html:11 +#: templates/helpdesk/public_homepage.html:28 +msgid "Please provide as descriptive a title and description as possible." +msgstr "" + +#: templates/helpdesk/create_ticket.html:30 +#: templates/helpdesk/public_homepage.html:55 msgid "Submit Ticket" msgstr "" @@ -1090,136 +1194,176 @@ msgstr "" msgid "Helpdesk Dashboard" msgstr "" -#: templates/helpdesk/dashboard.html:10 -msgid "Helpdesk Summary" -msgstr "" - -#: templates/helpdesk/dashboard.html:25 +#: templates/helpdesk/dashboard.html:9 msgid "" "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." msgstr "" -#: templates/helpdesk/dashboard.html:27 -msgid "" -"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?" +#: templates/helpdesk/dashboard.html:14 +msgid "Helpdesk Summary" msgstr "" #: templates/helpdesk/dashboard.html:36 +msgid "Current Ticket Stats" +msgstr "" + +#: templates/helpdesk/dashboard.html:37 +msgid "Average number of days until ticket is closed (all tickets): " +msgstr "" + +#: templates/helpdesk/dashboard.html:38 +msgid "" +"Average number of days until ticket is closed (tickets opened in last 60 " +"days): " +msgstr "" + +#: templates/helpdesk/dashboard.html:39 +msgid "Click" +msgstr "" + +#: templates/helpdesk/dashboard.html:39 +msgid "for detailed average by month." +msgstr "" + +#: templates/helpdesk/dashboard.html:40 +msgid "Distribution of open tickets, grouped by time period:" +msgstr "" + +#: templates/helpdesk/dashboard.html:41 +msgid "Days since opened" +msgstr "" + +#: templates/helpdesk/dashboard.html:41 +msgid "Number of open tickets" +msgstr "" + +#: templates/helpdesk/dashboard.html:57 msgid "All Tickets submitted by you" msgstr "" -#: templates/helpdesk/dashboard.html:37 templates/helpdesk/dashboard.html:57 -#: templates/helpdesk/dashboard.html:77 templates/helpdesk/dashboard.html:99 -#: templates/helpdesk/ticket_list.html:199 +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:100 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket_list.html:225 msgid "Pr" msgstr "" -#: templates/helpdesk/dashboard.html:37 templates/helpdesk/dashboard.html:57 -#: templates/helpdesk/dashboard.html:99 +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:124 msgid "Last Update" msgstr "" -#: templates/helpdesk/dashboard.html:56 +#: templates/helpdesk/dashboard.html:77 msgid "Open Tickets assigned to you (you are working on this ticket)" msgstr "" -#: templates/helpdesk/dashboard.html:69 +#: templates/helpdesk/dashboard.html:92 msgid "You have no tickets assigned to you." msgstr "" -#: templates/helpdesk/dashboard.html:76 +#: templates/helpdesk/dashboard.html:99 msgid "(pick up a ticket if you start to work on it)" msgstr "" -#: templates/helpdesk/dashboard.html:85 -#: templates/helpdesk/ticket_desc_table.html:22 +#: templates/helpdesk/dashboard.html:110 +#: templates/helpdesk/ticket_desc_table.html:38 msgid "Take" msgstr "" -#: templates/helpdesk/dashboard.html:85 +#: templates/helpdesk/dashboard.html:110 #: templates/helpdesk/email_ignore_list.html:13 #: templates/helpdesk/email_ignore_list.html:23 #: templates/helpdesk/ticket_cc_list.html:15 #: templates/helpdesk/ticket_cc_list.html:23 -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Delete" msgstr "" -#: templates/helpdesk/dashboard.html:89 +#: templates/helpdesk/dashboard.html:114 msgid "There are no unassigned tickets." msgstr "" -#: templates/helpdesk/dashboard.html:98 +#: templates/helpdesk/dashboard.html:123 msgid "Closed & resolved Tickets you used to work on" msgstr "" #: templates/helpdesk/delete_ticket.html:3 +#: templates/helpdesk/delete_ticket.html:6 msgid "Delete Ticket" msgstr "" -#: templates/helpdesk/delete_ticket.html:5 +#: templates/helpdesk/delete_ticket.html:8 #, python-format msgid "" -"\n" -"

Delete Ticket

\n" -"\n" -"

Are you sure you want to delete this ticket (%(ticket_title)s)? All traces of the ticket, including followups, attachments, and updates will be irreversably removed.

\n" +"Are you sure you want to delete this ticket (%(ticket_title)s)? All" +" traces of the ticket, including followups, attachments, and updates will be" +" irreversibly removed." msgstr "" #: templates/helpdesk/edit_ticket.html:3 msgid "Edit Ticket" msgstr "" -#: templates/helpdesk/edit_ticket.html:6 -msgid "" -"

Edit a Ticket

\n" -"\n" -"

Unless otherwise stated, all fields are required. Please provide as descriptive a title and description as possible.

\n" -"\n" -"

Note: Editing a ticket does not send an e-mail to the ticket owner or submitter. No new details should be entered, this form should only be used to fix incorrect details or clean up the submission.

" +#: templates/helpdesk/edit_ticket.html:9 +msgid "Edit a Ticket" msgstr "" -#: templates/helpdesk/edit_ticket.html:28 +#: templates/helpdesk/edit_ticket.html:13 +msgid "Note" +msgstr "" + +#: templates/helpdesk/edit_ticket.html:13 +msgid "" +"Editing a ticket does not send an e-mail to the ticket owner or " +"submitter. No new details should be entered, this form should only be used " +"to fix incorrect details or clean up the submission." +msgstr "" + +#: templates/helpdesk/edit_ticket.html:33 msgid "Save Changes" msgstr "" #: templates/helpdesk/email_ignore_add.html:3 +#: templates/helpdesk/email_ignore_add.html:6 #: templates/helpdesk/email_ignore_add.html:23 msgid "Ignore E-Mail Address" msgstr "" -#: templates/helpdesk/email_ignore_add.html:5 +#: templates/helpdesk/email_ignore_add.html:8 msgid "" -"\n" -"

Ignore E-Mail Address

\n" -"\n" -"

To ignore an e-mail address and prevent any emails from that address creating tickets automatically, enter the e-mail address below.

\n" -"\n" -"

You can either enter a whole e-mail address such as email@domain.com or a portion of an e-mail address with a wildcard, such as *@domain.com or user@*.

" +"To ignore an e-mail address and prevent any emails from that address " +"creating tickets automatically, enter the e-mail address below." +msgstr "" + +#: templates/helpdesk/email_ignore_add.html:10 +msgid "" +"You can either enter a whole e-mail address such as " +"email@domain.com or a portion of an e-mail address with a wildcard," +" such as *@domain.com or user@*." msgstr "" #: templates/helpdesk/email_ignore_del.html:3 msgid "Delete Ignored E-Mail Address" msgstr "" -#: templates/helpdesk/email_ignore_del.html:5 -#, python-format -msgid "" -"\n" -"

Un-Ignore E-Mail Address

\n" -"\n" -"

Are you sure you wish to stop removing this email address (%(email_address)s) and allow their e-mails to automatically create tickets in your system? You can re-add this e-mail address at any time.

\n" +#: templates/helpdesk/email_ignore_del.html:6 +msgid "Un-Ignore E-Mail Address" msgstr "" -#: templates/helpdesk/email_ignore_del.html:11 +#: templates/helpdesk/email_ignore_del.html:8 +#, python-format +msgid "" +"Are you sure you wish to stop removing this email address " +"(%(email_address)s) and allow their e-mails to automatically create" +" tickets in your system? You can re-add this e-mail address at any time." +msgstr "" + +#: templates/helpdesk/email_ignore_del.html:10 msgid "Keep Ignoring It" msgstr "" -#: templates/helpdesk/email_ignore_del.html:13 +#: templates/helpdesk/email_ignore_del.html:12 msgid "Stop Ignoring It" msgstr "" @@ -1240,16 +1384,12 @@ msgstr "" msgid "Date Added" msgstr "" -#: templates/helpdesk/email_ignore_list.html:13 -msgid "Queues" -msgstr "" - #: templates/helpdesk/email_ignore_list.html:13 msgid "Keep in mailbox?" msgstr "" #: templates/helpdesk/email_ignore_list.html:21 -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "All" msgstr "" @@ -1284,7 +1424,7 @@ msgid "Comment:" msgstr "" #: templates/helpdesk/kb_category.html:4 -#: templates/helpdesk/kb_category.html:11 +#: templates/helpdesk/kb_category.html:12 #, python-format msgid "Knowledgebase Category: %(kbcat)s" msgstr "" @@ -1294,12 +1434,12 @@ msgstr "" msgid "You are viewing all items in the %(kbcat)s category." msgstr "" -#: templates/helpdesk/kb_category.html:12 +#: templates/helpdesk/kb_category.html:13 msgid "Article" msgstr "" -#: templates/helpdesk/kb_index.html:4 templates/helpdesk/navigation.html:11 -#: templates/helpdesk/navigation.html:33 +#: templates/helpdesk/kb_index.html:4 templates/helpdesk/navigation.html:21 +#: templates/helpdesk/navigation.html:71 msgid "Knowledgebase" msgstr "" @@ -1310,8 +1450,8 @@ msgid "" "your problem prior to opening a support ticket." msgstr "" -#: templates/helpdesk/kb_index.html:9 -#: templates/helpdesk/public_homepage.html:9 +#: templates/helpdesk/kb_index.html:10 +#: templates/helpdesk/public_homepage.html:10 msgid "Knowledgebase Categories" msgstr "" @@ -1320,7 +1460,7 @@ msgstr "" msgid "Knowledgebase: %(item)s" msgstr "" -#: templates/helpdesk/kb_item.html:13 +#: templates/helpdesk/kb_item.html:16 #, python-format msgid "" "View other %(category_title)s " @@ -1328,88 +1468,82 @@ msgid "" "articles." msgstr "" -#: templates/helpdesk/kb_item.html:15 +#: templates/helpdesk/kb_item.html:18 msgid "Feedback" msgstr "" -#: templates/helpdesk/kb_item.html:17 +#: templates/helpdesk/kb_item.html:20 msgid "" "We give our users an opportunity to vote for items that they believe have " "helped them out, in order for us to better serve future customers. We would " "appreciate your feedback on this article. Did you find it useful?" msgstr "" -#: templates/helpdesk/kb_item.html:20 +#: templates/helpdesk/kb_item.html:23 msgid "This article was useful to me" msgstr "" -#: templates/helpdesk/kb_item.html:21 +#: templates/helpdesk/kb_item.html:24 msgid "This article was not useful to me" msgstr "" -#: templates/helpdesk/kb_item.html:24 +#: templates/helpdesk/kb_item.html:27 msgid "The results of voting by other readers of this article are below:" msgstr "" -#: templates/helpdesk/kb_item.html:27 +#: templates/helpdesk/kb_item.html:30 #, python-format msgid "Recommendations: %(recommendations)s" msgstr "" -#: templates/helpdesk/kb_item.html:28 +#: templates/helpdesk/kb_item.html:31 #, python-format msgid "Votes: %(votes)s" msgstr "" -#: templates/helpdesk/kb_item.html:29 +#: templates/helpdesk/kb_item.html:32 #, python-format msgid "Overall Rating: %(score)s" msgstr "" -#: templates/helpdesk/navigation.html:4 +#: templates/helpdesk/navigation.html:16 templates/helpdesk/navigation.html:64 msgid "Dashboard" msgstr "" -#: templates/helpdesk/navigation.html:5 -#: templates/helpdesk/ticket_list.html:198 -msgid "Tickets" -msgstr "" - -#: templates/helpdesk/navigation.html:6 +#: templates/helpdesk/navigation.html:18 msgid "New Ticket" msgstr "" -#: templates/helpdesk/navigation.html:8 +#: templates/helpdesk/navigation.html:19 msgid "Stats" msgstr "" -#: templates/helpdesk/navigation.html:14 -#: templates/helpdesk/ticket_list.html:46 -msgid "Load Saved Query" +#: templates/helpdesk/navigation.html:24 +msgid "Saved Query" msgstr "" -#: templates/helpdesk/navigation.html:25 templates/helpdesk/navigation.html:35 -msgid "Logout" +#: templates/helpdesk/navigation.html:39 +msgid "Change password" msgstr "" -#: templates/helpdesk/navigation.html:26 +#: templates/helpdesk/navigation.html:50 msgid "Search..." msgstr "" -#: templates/helpdesk/navigation.html:26 +#: templates/helpdesk/navigation.html:50 msgid "Enter a keyword, or a ticket number to jump straight to that ticket." msgstr "" -#: templates/helpdesk/navigation.html:31 -msgid "Submit A Ticket" +#: templates/helpdesk/navigation.html:73 +msgid "Logout" msgstr "" -#: templates/helpdesk/navigation.html:35 +#: templates/helpdesk/navigation.html:73 msgid "Log In" msgstr "" #: templates/helpdesk/public_change_language.html:2 -#: templates/helpdesk/public_homepage.html:21 +#: templates/helpdesk/public_homepage.html:73 #: templates/helpdesk/public_view_form.html:4 #: templates/helpdesk/public_view_ticket.html:2 msgid "View a Ticket" @@ -1423,74 +1557,81 @@ msgstr "" msgid "Knowledgebase Articles" msgstr "" -#: templates/helpdesk/public_homepage.html:29 +#: templates/helpdesk/public_homepage.html:28 +msgid "All fields are required." +msgstr "" + +#: templates/helpdesk/public_homepage.html:66 +msgid "Please use button at upper right to login first." +msgstr "" + +#: templates/helpdesk/public_homepage.html:82 #: templates/helpdesk/public_view_form.html:15 msgid "Your E-mail Address" msgstr "" -#: templates/helpdesk/public_homepage.html:33 +#: templates/helpdesk/public_homepage.html:86 #: templates/helpdesk/public_view_form.html:19 msgid "View Ticket" msgstr "" -#: templates/helpdesk/public_homepage.html:39 -msgid "Submit a Ticket" -msgstr "" - -#: templates/helpdesk/public_homepage.html:41 -msgid "" -"All fields are required. Please provide as descriptive a title and " -"description as possible." -msgstr "" - -#: templates/helpdesk/public_homepage.html:67 -msgid "Please use button at upper right to login first." -msgstr "" - #: templates/helpdesk/public_spam.html:4 msgid "Unable To Open Ticket" msgstr "" +#: templates/helpdesk/public_spam.html:5 +msgid "Sorry, but there has been an error trying to submit your ticket." +msgstr "" + #: templates/helpdesk/public_spam.html:6 msgid "" -"

Sorry, but there has been an error trying to submit your ticket.

\n" -"\n" -"

Our system has marked your submission as spam, so we are unable to save it. If this is not spam, please press back and re-type your message. Be careful to avoid sounding 'spammy', and if you have heaps of links please try removing them if possible.

\n" -"\n" -"

We are sorry for any inconvenience, however this check is required to avoid our helpdesk resources being overloaded by spammers.

\n" +"Our system has marked your submission as spam, so we are " +"unable to save it. If this is not spam, please press back and re-type your " +"message. Be careful to avoid sounding 'spammy', and if you have heaps of " +"links please try removing them if possible." +msgstr "" + +#: templates/helpdesk/public_spam.html:7 +msgid "" +"We are sorry for any inconvenience, however this check is required to avoid " +"our helpdesk resources being overloaded by spammers." msgstr "" #: templates/helpdesk/public_view_form.html:8 msgid "Error:" msgstr "" -#: templates/helpdesk/public_view_ticket.html:8 +#: templates/helpdesk/public_view_ticket.html:9 #, python-format msgid "Queue: %(queue_name)s" msgstr "" -#: templates/helpdesk/public_view_ticket.html:11 -#: templates/helpdesk/ticket_desc_table.html:16 +#: templates/helpdesk/public_view_ticket.html:13 +#: templates/helpdesk/ticket_desc_table.html:32 msgid "Submitted On" msgstr "" -#: templates/helpdesk/public_view_ticket.html:46 -#: templates/helpdesk/ticket_desc_table.html:74 +#: templates/helpdesk/public_view_ticket.html:35 +msgid "Tags" +msgstr "" + +#: templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 msgid "Accept" msgstr "" -#: templates/helpdesk/public_view_ticket.html:46 -#: templates/helpdesk/ticket_desc_table.html:74 +#: templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 msgid "Accept and Close" msgstr "" -#: templates/helpdesk/public_view_ticket.html:55 -#: templates/helpdesk/ticket.html:64 +#: templates/helpdesk/public_view_ticket.html:57 +#: templates/helpdesk/ticket.html:66 msgid "Follow-Ups" msgstr "" -#: templates/helpdesk/public_view_ticket.html:63 -#: templates/helpdesk/ticket.html:92 +#: templates/helpdesk/public_view_ticket.html:65 +#: templates/helpdesk/ticket.html:100 #, python-format msgid "Changed %(field)s from %(old_value)s to %(new_value)s." msgstr "" @@ -1533,6 +1674,10 @@ msgstr "" msgid "Reports By Queue" msgstr "" +#: templates/helpdesk/report_index.html:27 views/staff.py:1049 +msgid "Days until ticket closed by Month" +msgstr "" + #: templates/helpdesk/report_output.html:19 msgid "" "You can run this query on filtered data by using one of your saved queries." @@ -1590,15 +1735,15 @@ msgid "" "new tickets coming into that queue." msgstr "" -#: templates/helpdesk/rss_list.html:22 +#: templates/helpdesk/rss_list.html:23 msgid "Per-Queue Feeds" msgstr "" -#: templates/helpdesk/rss_list.html:23 +#: templates/helpdesk/rss_list.html:24 msgid "All Open Tickets" msgstr "" -#: templates/helpdesk/rss_list.html:27 +#: templates/helpdesk/rss_list.html:30 msgid "Open Tickets" msgstr "" @@ -1606,12 +1751,8 @@ msgstr "" msgid "Change System Settings" msgstr "" -#: templates/helpdesk/system_settings.html:5 -msgid "" -"\n" -"

System Settings

\n" -"\n" -"

The following items can be maintained by you or other superusers:

" +#: templates/helpdesk/system_settings.html:8 +msgid "The following items can be maintained by you or other superusers:" msgstr "" #: templates/helpdesk/system_settings.html:11 @@ -1650,77 +1791,81 @@ msgstr "" msgid "Attach another File" msgstr "" -#: templates/helpdesk/ticket.html:34 templates/helpdesk/ticket.html.py:197 +#: templates/helpdesk/ticket.html:34 templates/helpdesk/ticket.html.py:200 msgid "Add Another File" msgstr "" -#: templates/helpdesk/ticket.html:71 templates/helpdesk/ticket.html.py:81 +#: templates/helpdesk/ticket.html:73 templates/helpdesk/ticket.html.py:86 msgid "Private" msgstr "" -#: templates/helpdesk/ticket.html:111 +#: templates/helpdesk/ticket.html:119 msgid "Respond to this ticket" msgstr "" -#: templates/helpdesk/ticket.html:118 +#: templates/helpdesk/ticket.html:126 msgid "Use a Pre-set Reply" msgstr "" -#: templates/helpdesk/ticket.html:120 +#: templates/helpdesk/ticket.html:126 templates/helpdesk/ticket.html.py:166 +msgid "(Optional)" +msgstr "" + +#: templates/helpdesk/ticket.html:128 msgid "" "Selecting a pre-set reply will over-write your comment below. You can then " "modify the pre-set reply to your liking before saving this update." msgstr "" -#: templates/helpdesk/ticket.html:123 +#: templates/helpdesk/ticket.html:131 msgid "Comment / Resolution" msgstr "" -#: templates/helpdesk/ticket.html:125 +#: templates/helpdesk/ticket.html:133 msgid "" "You can insert ticket and queue details in your message. For more " "information, see the context help page." msgstr "" -#: templates/helpdesk/ticket.html:128 +#: templates/helpdesk/ticket.html:136 msgid "" "This ticket cannot be resolved or closed until the tickets it depends on are" " resolved." msgstr "" -#: templates/helpdesk/ticket.html:158 +#: templates/helpdesk/ticket.html:166 msgid "Is this update public?" msgstr "" -#: templates/helpdesk/ticket.html:160 +#: templates/helpdesk/ticket.html:168 msgid "" "If this is public, the submitter will be e-mailed your comment or " "resolution." msgstr "" -#: templates/helpdesk/ticket.html:164 +#: templates/helpdesk/ticket.html:172 msgid "Change Further Details »" msgstr "" -#: templates/helpdesk/ticket.html:173 templates/helpdesk/ticket_list.html:55 -#: templates/helpdesk/ticket_list.html:87 -#: templates/helpdesk/ticket_list.html:199 +#: templates/helpdesk/ticket.html:181 templates/helpdesk/ticket_list.html:68 +#: templates/helpdesk/ticket_list.html:97 +#: templates/helpdesk/ticket_list.html:225 msgid "Owner" msgstr "" -#: templates/helpdesk/ticket.html:174 +#: templates/helpdesk/ticket.html:182 msgid "Unassign" msgstr "" -#: templates/helpdesk/ticket.html:190 +#: templates/helpdesk/ticket.html:193 msgid "Attach File(s) »" msgstr "" -#: templates/helpdesk/ticket.html:196 +#: templates/helpdesk/ticket.html:199 msgid "Attach a File" msgstr "" -#: templates/helpdesk/ticket.html:204 +#: templates/helpdesk/ticket.html:207 msgid "Update This Ticket" msgstr "" @@ -1823,263 +1968,256 @@ msgid "" "

Are you sure you wish to remove the dependency on this ticket?

\n" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:11 +#: templates/helpdesk/ticket_desc_table.html:7 msgid "Unhold" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:11 +#: templates/helpdesk/ticket_desc_table.html:7 msgid "Hold" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:13 +#: templates/helpdesk/ticket_desc_table.html:9 #, python-format msgid "Queue: %(queue)s" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:21 +#: templates/helpdesk/ticket_desc_table.html:37 msgid "Assigned To" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:27 +#: templates/helpdesk/ticket_desc_table.html:43 msgid "Ignore" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:36 +#: templates/helpdesk/ticket_desc_table.html:52 msgid "Copies To" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:37 +#: templates/helpdesk/ticket_desc_table.html:53 msgid "Manage" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:37 +#: templates/helpdesk/ticket_desc_table.html:53 msgid "" "Click here to add / remove people who should receive an e-mail whenever this" " ticket is updated." msgstr "" -#: templates/helpdesk/ticket_desc_table.html:48 +#: templates/helpdesk/ticket_desc_table.html:53 +msgid "Subscribe" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:53 +msgid "" +"Click here to subscribe yourself to this ticket, if you want to receive an " +"e-mail whenever this ticket is updated." +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:57 msgid "Dependencies" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:50 +#: templates/helpdesk/ticket_desc_table.html:59 msgid "" "This ticket cannot be resolved until the following ticket(s) are resolved" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:51 +#: templates/helpdesk/ticket_desc_table.html:60 msgid "Remove Dependency" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:54 +#: templates/helpdesk/ticket_desc_table.html:63 msgid "This ticket has no dependencies." msgstr "" -#: templates/helpdesk/ticket_desc_table.html:56 +#: templates/helpdesk/ticket_desc_table.html:65 msgid "Add Dependency" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:56 +#: templates/helpdesk/ticket_desc_table.html:65 msgid "" "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." msgstr "" -#: templates/helpdesk/ticket_list.html:2 -msgid "Ticket Listing" -msgstr "" - -#: templates/helpdesk/ticket_list.html:41 -msgid "Query Options" -msgstr "" - -#: templates/helpdesk/ticket_list.html:43 -msgid "Save This Query" -msgstr "" - -#: templates/helpdesk/ticket_list.html:51 +#: templates/helpdesk/ticket_list.html:59 msgid "Change Query" msgstr "" -#: templates/helpdesk/ticket_list.html:54 -#: templates/helpdesk/ticket_list.html:69 +#: templates/helpdesk/ticket_list.html:67 +#: templates/helpdesk/ticket_list.html:79 msgid "Sorting" msgstr "" -#: templates/helpdesk/ticket_list.html:58 -#: templates/helpdesk/ticket_list.html:137 +#: templates/helpdesk/ticket_list.html:71 +#: templates/helpdesk/ticket_list.html:139 msgid "Keywords" msgstr "" -#: templates/helpdesk/ticket_list.html:59 +#: templates/helpdesk/ticket_list.html:72 msgid "Date Range" msgstr "" -#: templates/helpdesk/ticket_list.html:90 +#: templates/helpdesk/ticket_list.html:100 msgid "Reverse" msgstr "" -#: templates/helpdesk/ticket_list.html:92 +#: templates/helpdesk/ticket_list.html:102 msgid "Ordering applied to tickets" msgstr "" -#: templates/helpdesk/ticket_list.html:97 +#: templates/helpdesk/ticket_list.html:107 msgid "Owner(s)" msgstr "" -#: templates/helpdesk/ticket_list.html:101 +#: templates/helpdesk/ticket_list.html:111 msgid "(ME)" msgstr "" -#: templates/helpdesk/ticket_list.html:105 +#: templates/helpdesk/ticket_list.html:115 msgid "Ctrl-Click to select multiple options" msgstr "" -#: templates/helpdesk/ticket_list.html:110 +#: templates/helpdesk/ticket_list.html:120 msgid "Queue(s)" msgstr "" -#: templates/helpdesk/ticket_list.html:111 -#: templates/helpdesk/ticket_list.html:117 -#: templates/helpdesk/ticket_list.html:131 +#: templates/helpdesk/ticket_list.html:121 +#: templates/helpdesk/ticket_list.html:127 msgid "Ctrl-click to select multiple options" msgstr "" -#: templates/helpdesk/ticket_list.html:116 +#: templates/helpdesk/ticket_list.html:126 msgid "Status(es)" msgstr "" -#: templates/helpdesk/ticket_list.html:122 +#: templates/helpdesk/ticket_list.html:132 msgid "Date (From)" msgstr "" -#: templates/helpdesk/ticket_list.html:123 +#: templates/helpdesk/ticket_list.html:133 msgid "Date (To)" msgstr "" -#: templates/helpdesk/ticket_list.html:124 +#: templates/helpdesk/ticket_list.html:134 msgid "Use YYYY-MM-DD date format, eg 2011-05-29" msgstr "" -#: templates/helpdesk/ticket_list.html:130 -msgid "Tag(s)" -msgstr "" - -#: templates/helpdesk/ticket_list.html:138 +#: templates/helpdesk/ticket_list.html:140 msgid "" "Keywords are case-insensitive, and will be looked for in the title, body and" " submitter fields." msgstr "" -#: templates/helpdesk/ticket_list.html:142 +#: templates/helpdesk/ticket_list.html:144 msgid "Apply Filter" msgstr "" -#: templates/helpdesk/ticket_list.html:144 +#: templates/helpdesk/ticket_list.html:146 #, python-format -msgid "You are currently viewing saved query %(query_name)s." +msgid "You are currently viewing saved query \"%(query_name)s\"." msgstr "" -#: templates/helpdesk/ticket_list.html:147 +#: templates/helpdesk/ticket_list.html:149 #, python-format msgid "" "Run a report on this " "query to see stats and charts for the data listed below." msgstr "" -#: templates/helpdesk/ticket_list.html:154 -#: templates/helpdesk/ticket_list.html:169 +#: templates/helpdesk/ticket_list.html:162 +#: templates/helpdesk/ticket_list.html:181 msgid "Save Query" msgstr "" -#: templates/helpdesk/ticket_list.html:160 +#: templates/helpdesk/ticket_list.html:172 msgid "" "This name appears in the drop-down list of saved queries. If you share your " "query, other users will see this name, so choose something clear and " "descriptive!" msgstr "" -#: templates/helpdesk/ticket_list.html:162 +#: templates/helpdesk/ticket_list.html:174 msgid "Shared?" msgstr "" -#: templates/helpdesk/ticket_list.html:163 +#: templates/helpdesk/ticket_list.html:175 msgid "Yes, share this query with other users." msgstr "" -#: templates/helpdesk/ticket_list.html:164 +#: templates/helpdesk/ticket_list.html:176 msgid "" "If you share this query, it will be visible by all other logged-in " "users." msgstr "" -#: templates/helpdesk/ticket_list.html:176 +#: templates/helpdesk/ticket_list.html:195 msgid "Use Saved Query" msgstr "" -#: templates/helpdesk/ticket_list.html:178 +#: templates/helpdesk/ticket_list.html:202 msgid "Query" msgstr "" -#: templates/helpdesk/ticket_list.html:183 +#: templates/helpdesk/ticket_list.html:207 msgid "Run Query" msgstr "" -#: templates/helpdesk/ticket_list.html:213 +#: templates/helpdesk/ticket_list.html:240 msgid "No Tickets Match Your Selection" msgstr "" -#: templates/helpdesk/ticket_list.html:219 +#: templates/helpdesk/ticket_list.html:247 msgid "Previous" msgstr "" -#: templates/helpdesk/ticket_list.html:223 +#: templates/helpdesk/ticket_list.html:251 #, python-format msgid "Page %(ticket_num)s of %(num_pages)s." msgstr "" -#: templates/helpdesk/ticket_list.html:227 +#: templates/helpdesk/ticket_list.html:255 msgid "Next" msgstr "" -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "Select:" msgstr "" -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "None" msgstr "" -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "Inverse" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "With Selected Tickets:" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Take (Assign to me)" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Close" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Close (Don't Send E-Mail)" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Close (Send E-Mail)" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Assign To" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Nobody (Unassign)" msgstr "" @@ -2087,15 +2225,13 @@ msgstr "" msgid "Change User Settings" msgstr "" -#: templates/helpdesk/user_settings.html:14 +#: templates/helpdesk/user_settings.html:8 msgid "" -"\n" -"

User Settings

\n" -"\n" -"

Use the following options to change the way your helpdesk system works for you. These settings do not impact any other user.

\n" +"Use the following options to change the way your helpdesk system works for " +"you. These settings do not impact any other user." msgstr "" -#: templates/helpdesk/user_settings.html:29 +#: templates/helpdesk/user_settings.html:14 msgid "Save Options" msgstr "" @@ -2116,116 +2252,101 @@ msgstr "" msgid "Helpdesk Login" msgstr "" -#: templates/helpdesk/registration/login.html:9 -#: templates/helpdesk/registration/login.html:21 -msgid "Login" -msgstr "" - -#: templates/helpdesk/registration/login.html:11 -msgid "" -"To log in and begin responding to cases, simply enter your username and " -"password below." -msgstr "" - #: templates/helpdesk/registration/login.html:14 +msgid "To log in simply enter your username and password below." +msgstr "" + +#: templates/helpdesk/registration/login.html:17 msgid "Your username and password didn't match. Please try again." msgstr "" -#: templates/helpdesk/registration/login.html:16 -msgid "Username" +#: templates/helpdesk/registration/login.html:20 +msgid "Login" msgstr "" -#: templates/helpdesk/registration/login.html:18 -msgid "Password" -msgstr "" - -#: views/feeds.py:35 +#: views/feeds.py:39 #, python-format msgid "Helpdesk: Open Tickets in queue %(queue)s for %(username)s" msgstr "" -#: views/feeds.py:40 +#: views/feeds.py:44 #, python-format msgid "Helpdesk: Open Tickets for %(username)s" msgstr "" -#: views/feeds.py:46 +#: views/feeds.py:50 #, python-format msgid "Open and Reopened Tickets in queue %(queue)s for %(username)s" msgstr "" -#: views/feeds.py:51 +#: views/feeds.py:55 #, python-format msgid "Open and Reopened Tickets for %(username)s" msgstr "" -#: views/feeds.py:98 +#: views/feeds.py:102 msgid "Helpdesk: Unassigned Tickets" msgstr "" -#: views/feeds.py:99 +#: views/feeds.py:103 msgid "Unassigned Open and Reopened tickets" msgstr "" -#: views/feeds.py:124 +#: views/feeds.py:128 msgid "Helpdesk: Recent Followups" msgstr "" -#: views/feeds.py:125 +#: views/feeds.py:129 msgid "" "Recent FollowUps, such as e-mail replies, comments, attachments and " "resolutions" msgstr "" -#: views/feeds.py:140 +#: views/feeds.py:144 #, python-format msgid "Helpdesk: Open Tickets in queue %(queue)s" msgstr "" -#: views/feeds.py:145 +#: views/feeds.py:149 #, python-format msgid "Open and Reopened Tickets in queue %(queue)s" msgstr "" -#: views/public.py:91 +#: views/public.py:89 msgid "Invalid ticket ID or e-mail address. Please try again." msgstr "" -#: views/public.py:109 +#: views/public.py:107 msgid "Submitter accepted resolution and closed ticket" msgstr "" -#: views/staff.py:218 +#: views/staff.py:235 msgid "Accepted resolution and closed ticket" msgstr "" -#: views/staff.py:246 -msgid "Sorry, you need to login to do that." -msgstr "" - -#: views/staff.py:295 +#: views/staff.py:369 #, python-format msgid "Assigned to %(username)s" msgstr "" -#: views/staff.py:318 +#: views/staff.py:392 msgid "Updated" msgstr "" -#: views/staff.py:496 +#: views/staff.py:577 #, python-format msgid "Assigned to %(username)s in bulk update" msgstr "" -#: views/staff.py:501 +#: views/staff.py:582 msgid "Unassigned in bulk update" msgstr "" -#: views/staff.py:506 views/staff.py:511 +#: views/staff.py:587 views/staff.py:592 msgid "Closed in bulk update" msgstr "" -#: views/staff.py:732 +#: views/staff.py:806 msgid "" "

Note: Your keyword search is case sensitive because of " "your database. This means the search will not be accurate. " @@ -2235,86 +2356,38 @@ msgid "" "matching\">Django Documentation on string matching in SQLite." msgstr "" -#: views/staff.py:843 +#: views/staff.py:910 msgid "Ticket taken off hold" msgstr "" -#: views/staff.py:846 +#: views/staff.py:913 msgid "Ticket placed on hold" msgstr "" -#: views/staff.py:914 -msgid "Jan" -msgstr "" - -#: views/staff.py:915 -msgid "Feb" -msgstr "" - -#: views/staff.py:916 -msgid "Mar" -msgstr "" - -#: views/staff.py:917 -msgid "Apr" -msgstr "" - -#: views/staff.py:918 -msgid "May" -msgstr "" - -#: views/staff.py:919 -msgid "Jun" -msgstr "" - -#: views/staff.py:920 -msgid "Jul" -msgstr "" - -#: views/staff.py:921 -msgid "Aug" -msgstr "" - -#: views/staff.py:922 -msgid "Sep" -msgstr "" - -#: views/staff.py:923 -msgid "Oct" -msgstr "" - -#: views/staff.py:924 -msgid "Nov" -msgstr "" - -#: views/staff.py:925 -msgid "Dec" -msgstr "" - -#: views/staff.py:951 +#: views/staff.py:1007 msgid "User by Priority" msgstr "" -#: views/staff.py:957 +#: views/staff.py:1013 msgid "User by Queue" msgstr "" -#: views/staff.py:963 +#: views/staff.py:1019 msgid "User by Status" msgstr "" -#: views/staff.py:969 +#: views/staff.py:1025 msgid "User by Month" msgstr "" -#: views/staff.py:975 +#: views/staff.py:1031 msgid "Queue by Priority" msgstr "" -#: views/staff.py:981 +#: views/staff.py:1037 msgid "Queue by Status" msgstr "" -#: views/staff.py:987 +#: views/staff.py:1043 msgid "Queue by Month" msgstr "" diff --git a/helpdesk/locale/it/LC_MESSAGES/django.mo b/helpdesk/locale/it/LC_MESSAGES/django.mo index d6bc5406..6ebb08e7 100644 Binary files a/helpdesk/locale/it/LC_MESSAGES/django.mo and b/helpdesk/locale/it/LC_MESSAGES/django.mo differ diff --git a/helpdesk/locale/it/LC_MESSAGES/django.po b/helpdesk/locale/it/LC_MESSAGES/django.po index 8bf16548..3bfc1a6e 100644 --- a/helpdesk/locale/it/LC_MESSAGES/django.po +++ b/helpdesk/locale/it/LC_MESSAGES/django.po @@ -1,16 +1,17 @@ # django-helpdesk English language translation # Copyright (C) 2011 Ross Poulton # This file is distributed under the same license as the django-helpdesk package. -# +# # Translators: -# brente , 2011, 2012 +# Stefano Brentegani , 2013 +# Stefano Brentegani , 2011, 2012 msgid "" msgstr "" "Project-Id-Version: django-helpdesk\n" "Report-Msgid-Bugs-To: http://github.com/RossP/django-helpdesk/issues\n" "POT-Creation-Date: 2012-08-07 20:40+1000\n" -"PO-Revision-Date: 2013-04-29 09:18+0000\n" -"Last-Translator: Ross Poulton \n" +"PO-Revision-Date: 2013-11-20 11:07+0000\n" +"Last-Translator: Stefano Brentegani \n" "Language-Team: Italian (http://www.transifex.com/projects/p/django-helpdesk/language/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -76,11 +77,11 @@ msgstr "Scadenza" #: forms.py:171 forms.py:402 msgid "Attach File" -msgstr "Allega File" +msgstr "Allega un file" #: forms.py:172 forms.py:403 msgid "You can attach a file such as a document or screenshot to this ticket." -msgstr "Puoi allegare al ticket un file, come un documento o una schermata." +msgstr "Puoi allegare al ticket un file, per esempio un documento o una schermata." #: forms.py:180 templates/helpdesk/public_view_ticket.html:33 #: templates/helpdesk/ticket.html:182 @@ -145,7 +146,7 @@ msgstr "Mostrare l'elenco dei ticket dopo il login?" #: forms.py:554 msgid "Display the ticket list upon login? Otherwise, the dashboard is shown." -msgstr "Mostrare l'elenco dei ticket dopo il login? In caso contrario sarà visibile la dashboard." +msgstr "Mostrare l'elenco dei ticket dopo il login? In caso contrario sarà aperta la dashboard." #: forms.py:559 msgid "E-mail me on ticket change?" @@ -159,7 +160,7 @@ msgstr "Se il ticket è assegnato a te, vuoi ricevere un'e-mail quando altri lo #: forms.py:565 msgid "E-mail me when assigned a ticket?" -msgstr "Inviare un'e-mail quando viene assegnato un ticket?" +msgstr "Inviare un'e-mail quando ti viene assegnato un ticket?" #: forms.py:566 msgid "" @@ -191,7 +192,7 @@ msgid "" "When you submit a ticket, do you want to automatically use your e-mail " "address as the submitter address? You can type a different e-mail address " "when entering the ticket if needed, this option only changes the default." -msgstr "Quando crei un nuovo ticket, vuoi impostare automaticamente il tuo indirizzo e-mail come autore? Se necessario, puoi modificare l'indirizzo e-mail nel momento in cui crei il ticket: questa opzione definisce solo il default." +msgstr "Quando crei un nuovo ticket, vuoi impostare automaticamente il tuo indirizzo e-mail come autore? Se necessario, puoi modificare l'indirizzo e-mail nel momento in cui crei il ticket: questa opzione definisce solo il valore predefinito." #: models.py:32 models.py:256 models.py:490 models.py:787 models.py:821 #: templates/helpdesk/dashboard.html:37 templates/helpdesk/dashboard.html:57 @@ -209,7 +210,7 @@ msgstr "Slug" msgid "" "This slug is used when building ticket ID's. Once set, try not to change it " "or e-mailing may get messy." -msgstr "Questo slug viene utilizzato per costruire gli ID dei ticket. Una volta impostato, cerca di non cambiarlo, o potrebbero verificarsi problemi con le e-mail." +msgstr "Lo slug viene utilizzato per costruire gli ID dei ticket. Una volta impostato, cerca di non cambiarlo, o potrebbero verificarsi problemi con le e-mail." #: models.py:43 models.py:1015 models.py:1085 models.py:1159 #: templates/helpdesk/email_ignore_list.html:13 @@ -221,7 +222,7 @@ msgstr "Indirizzo e-mail" msgid "" "All outgoing e-mails for this queue will use this e-mail address. If you use" " IMAP or POP3, this should be the e-mail address for that mailbox." -msgstr "Tutti i messaggi inviati per questa coda useranno questo indirizzo e-mail. Se usi IMAP o POP3, questo dovrebbe essere l'indirizzo della casella postale." +msgstr "Tutti i messaggi inviati relativi a questa coda useranno questo indirizzo e-mail. Se usi IMAP o POP3, questo dovrebbe essere l'indirizzo della casella postale." #: models.py:52 models.py:766 msgid "Locale" @@ -283,7 +284,7 @@ msgstr "Se definito, a questo indirizzo e-mail saranno inviate le notifiche di t #: models.py:105 msgid "E-Mail Box Type" -msgstr "Tipo casella e-mail" +msgstr "Tipo di casella e-mail" #: models.py:107 msgid "POP 3" @@ -328,7 +329,7 @@ msgstr "Usare SSL per l'e-mail?" msgid "" "Whether to use SSL for IMAP or POP3 - the default ports when using SSL are " "993 for IMAP and 995 for POP3." -msgstr "Richiede di usare SSL per IMAP o POP3: quando si usa SSL, le porte di default sono 993 per IMAP e 995 per POP3." +msgstr "Attiva l'uso di SSL per IMAP o POP3: quando si usa SSL, le porte di default sono 993 per IMAP e 995 per POP3." #: models.py:141 msgid "E-Mail Username" @@ -590,7 +591,7 @@ msgstr "Dimensione del file in byte" msgid "" "Leave blank to allow this reply to be used for all queues, or select those " "queues you wish to limit this reply to." -msgstr "Se vuoto, questa risposta potrà essere utilizzata per qualsiasi coda, altrimenti seleziona le code a cui limitarne l'uso." +msgstr "Lascia vuoto se questa risposta potrà essere utilizzata per qualsiasi coda, altrimenti seleziona le code a cui limitarne l'uso." #: models.py:668 models.py:709 models.py:1003 #: templates/helpdesk/email_ignore_list.html:13 @@ -610,13 +611,13 @@ msgstr "Corpo" msgid "" "Context available: {{ ticket }} - ticket object (eg {{ ticket.title }}); {{ " "queue }} - The queue; and {{ user }} - the current user." -msgstr "Contesto disponibile: {{ ticket }} - oggetto ticket (e.g. {{ ticket.title }}); {{ queue }} - La coda; e {{ user }} - l'utente attuale." +msgstr "Contesto disponibile: {{ ticket }} - oggetto ticket (e.g. {{ ticket.title }}); {{ queue }} - la coda; e {{ user }} - l'utente attuale." #: models.py:703 msgid "" "Leave blank for this exclusion to be applied to all queues, or select those " "queues you wish to exclude with this entry." -msgstr "Se vuoto, questa esclusione sarà applicata a tutte le code, altrimenti seleziona le code interessate da questa esclusione." +msgstr "Lascia vuoto per applicare questa esclusione a tutte le code, altrimenti seleziona le code interessate da questa esclusione." #: models.py:715 msgid "Date on which escalation should not happen" @@ -758,7 +759,7 @@ msgstr "Data in cui è stato aggiunto questo indirizzo e-mail" msgid "" "Enter a full e-mail address, or portions with wildcards, eg *@domain.com or " "postmaster@*." -msgstr "Puoi specificare un indirizzo e-mail completo, o parti utilizzando caratteri speciali, per esempio *@domain.com o postmaster@*." +msgstr "Puoi specificare un indirizzo e-mail completo, o parziale utilizzando caratteri speciali, per esempio *@domain.com o postmaster@*." #: models.py:1022 msgid "Save Emails in Mailbox?" @@ -896,7 +897,7 @@ msgstr "Valori dell'elenco" #: models.py:1192 msgid "For list fields only. Enter one option per line." -msgstr "Solo per campi Elenco" +msgstr "Solo per campi Elenco. Una opzione per riga." #: models.py:1198 msgid "Ordering" @@ -1050,10 +1051,8 @@ msgid "" msgstr "\n

Elimina ricerca

\n\n

Confermi la cancellazione di questo filtro salvato (%(query_title)s)? Per ricrearlo dovrai filtrare nuovamente a mano l'elenco dei ticket.

\n" #: templates/helpdesk/confirm_delete_saved_query.html:11 -msgid "" -"\n" -"

You have shared this query, so other users may be using it. If you delete it, they will have to manually create their own query.

\n" -msgstr "\n

Questa ricerca è condivisa, e altri utenti potrebbero usarla. Se la elimini dovranno creare manualmente un filtro equivalente.

\n" +msgid "You have shared this query, so other users may be using it. If you delete it, they will have to manually create their own query." +msgstr "Questa ricerca è condivisa, e altri utenti potrebbero usarla. Se la elimini dovranno creare manualmente un filtro equivalente." #: templates/helpdesk/confirm_delete_saved_query.html:15 #: templates/helpdesk/delete_ticket.html:11 @@ -1069,18 +1068,24 @@ msgstr "Sì, elimina" msgid "Create Ticket" msgstr "Crea ticket" -#: templates/helpdesk/create_ticket.html:6 -msgid "" -"

Submit a Ticket

\n" -"\n" -"

Unless otherwise stated, all fields are required. Please provide as descriptive a title and description as possible.

" -msgstr "

Crea un Ticket

\n\n

Se non specificato altrimenti, tutti i campi sono obbligatori. Cerca di fornire un titolo e una descrizione il più significativi possibile.

" +#: templates/helpdesk/create_ticket.html:10 +#: templates/helpdesk/public_homepage.html:39 +msgid "Submit a Ticket" +msgstr "Crea un Ticket" + +#: templates/helpdesk/create_ticket.html:11 +msgid "Unless otherwise stated, all fields are required." +msgstr "Se non specificato altrimenti, tutti i campi sono obbligatori." + +#: templates/helpdesk/create_ticket.html:11 +msgid "Please provide as descriptive a title and description as possible." +msgstr "Cerca di fornire un titolo e una descrizione il più significativi possibile." #: templates/helpdesk/create_ticket.html:17 #: templates/helpdesk/edit_ticket.html:19 #: templates/helpdesk/public_homepage.html:50 msgid "(Optional)" -msgstr "(Opzionale)" +msgstr "(Facoltativo)" #: templates/helpdesk/create_ticket.html:26 #: templates/helpdesk/public_homepage.html:59 @@ -1159,30 +1164,30 @@ msgid "Closed & resolved Tickets you used to work on" msgstr "Ticket chiusi e risolti su cui hai lavorato" #: templates/helpdesk/delete_ticket.html:3 +#: templates/helpdesk/delete_ticket.html:6 msgid "Delete Ticket" msgstr "Elimina ticket" -#: templates/helpdesk/delete_ticket.html:5 +#: templates/helpdesk/delete_ticket.html:8 #, python-format -msgid "" -"\n" -"

Delete Ticket

\n" -"\n" -"

Are you sure you want to delete this ticket (%(ticket_title)s)? All traces of the ticket, including followups, attachments, and updates will be irreversably removed.

\n" -msgstr "\n

Elimina Ticket

\n\n

Confermi di voler cancellare questo ticket (%(ticket_title)s)? Ogni traccia del ticket, incluse risposte, allegati, e aggiornamenti saranno irrimediabilmente eliminati.

\n" +msgid "Are you sure you want to delete this ticket (%(ticket_title)s)? All traces of the ticket, including followups, attachments, and updates will be irreversibly removed." +msgstr "Confermi la cancellazione di questo ticket (%(ticket_title)s)? Ogni traccia del ticket, incluse risposte, allegati, e aggiornamenti sarà irrimediabilmente eliminata." #: templates/helpdesk/edit_ticket.html:3 msgid "Edit Ticket" msgstr "Modifica ticket" #: templates/helpdesk/edit_ticket.html:6 -msgid "" -"

Edit a Ticket

\n" -"\n" -"

Unless otherwise stated, all fields are required. Please provide as descriptive a title and description as possible.

\n" -"\n" -"

Note: Editing a ticket does not send an e-mail to the ticket owner or submitter. No new details should be entered, this form should only be used to fix incorrect details or clean up the submission.

" -msgstr "

Modifica un Ticket

\n\n

Se non specificato altrimenti, tutti i campi sono obbligatori. Cerca di fornire un titolo e una descrizione il più significativi possibile.

\n\n

Nota: La modifica di un ticket non comporta l'invio di un'e-mail all'assegnatario o all'autore. Evita di aggiungere nuovi dettagli: questo modulo dovrebbe essere utilizzato solo per correggere dettagli errati o ripulire la segnalazione.

" +msgid "Edit a Ticket" +msgstr "Modifica un Ticket" + +#: templates/helpdesk/edit_ticket.html:6 +msgid "Note" +msgstr "Nota" + +#: templates/helpdesk/edit_ticket.html:6 +msgid "Editing a ticket does not send an e-mail to the ticket owner or submitter. No new details should be entered, this form should only be used to fix incorrect details or clean up the submission." +msgstr "La modifica di un ticket non comporta l'invio di un'e-mail all'assegnatario o all'autore. Evita di aggiungere nuovi dettagli: questo modulo dovrebbe essere utilizzato solo per correggere dettagli errati o ripulire la segnalazione." #: templates/helpdesk/edit_ticket.html:28 msgid "Save Changes" @@ -1194,27 +1199,23 @@ msgid "Ignore E-Mail Address" msgstr "Ignora indirizzo e-mail" #: templates/helpdesk/email_ignore_add.html:5 -msgid "" -"\n" -"

Ignore E-Mail Address

\n" -"\n" -"

To ignore an e-mail address and prevent any emails from that address creating tickets automatically, enter the e-mail address below.

\n" -"\n" -"

You can either enter a whole e-mail address such as email@domain.com or a portion of an e-mail address with a wildcard, such as *@domain.com or user@*.

" -msgstr "\n

Ignora indirizzo e-mail

\n\n

Inserisci un indirizzo e-mail da ignorare per evitare che per i messaggi ricevuti da esso vengano creati automaticamente dei ticket.

\n\n

Puoi specificare un indirizzo e-mail completo, come email@dominio.com, oppure uno parziale usando un carattere jolly, come *@dominio.com o utente@*.

" +msgid "To ignore an e-mail address and prevent any emails from that address creating tickets automatically, enter the e-mail address below." +msgstr "Inserisci un indirizzo e-mail da ignorare per evitare che per i messaggi ricevuti da esso vengano creati automaticamente dei ticket." + +msgid "You can either enter a whole e-mail address such as email@domain.com or a portion of an e-mail address with a wildcard, such as *@domain.com or user@*." +msgstr "Puoi specificare un indirizzo e-mail completo, come email@dominio.com, oppure uno parziale usando un carattere jolly, come *@dominio.com o utente@*." #: templates/helpdesk/email_ignore_del.html:3 msgid "Delete Ignored E-Mail Address" msgstr "Elimina indirizzo e-mail ignorato" #: templates/helpdesk/email_ignore_del.html:5 +msgid "Un-Ignore E-Mail Address" +msgstr "Ripristina indirizzo e-mail" + #, python-format -msgid "" -"\n" -"

Un-Ignore E-Mail Address

\n" -"\n" -"

Are you sure you wish to stop removing this email address (%(email_address)s) and allow their e-mails to automatically create tickets in your system? You can re-add this e-mail address at any time.

\n" -msgstr "\n

Ripristina indirizzo e-mail

\n\n

Confermi di non voler più ignorare questo indirizzo e-mail (%(email_address)s) e consentire che crei automaticamente ticket net tuo sistema? Potrai aggiungerlo nuovamente in qualsiasi momento.

\n" +msgid "Are you sure you wish to stop removing this email address (%(email_address)s) and allow their e-mails to automatically create tickets in your system? You can re-add this e-mail address at any time." +msgstr "Confermi di non voler più ignorare questo indirizzo e-mail (%(email_address)s) e consentire che crei automaticamente ticket net tuo sistema? Potrai aggiungerlo nuovamente in qualsiasi momento." #: templates/helpdesk/email_ignore_del.html:11 msgid "Keep Ignoring It" @@ -1434,15 +1435,9 @@ msgstr "Il tuo indirizzo e-mail" msgid "View Ticket" msgstr "Vedi ticket" -#: templates/helpdesk/public_homepage.html:39 -msgid "Submit a Ticket" -msgstr "Crea un ticket" - #: templates/helpdesk/public_homepage.html:41 -msgid "" -"All fields are required. Please provide as descriptive a title and " -"description as possible." -msgstr "Tutti i campi sono obbligatori. Cerca di fornire un titolo e una descrizione il più significativi possibile." +msgid "All fields are required." +msgstr "Tutti i campi sono obbligatori." #: templates/helpdesk/public_homepage.html:67 msgid "Please use button at upper right to login first." @@ -1453,13 +1448,14 @@ msgid "Unable To Open Ticket" msgstr "Impossibile aprire il ticket" #: templates/helpdesk/public_spam.html:6 -msgid "" -"

Sorry, but there has been an error trying to submit your ticket.

\n" -"\n" -"

Our system has marked your submission as spam, so we are unable to save it. If this is not spam, please press back and re-type your message. Be careful to avoid sounding 'spammy', and if you have heaps of links please try removing them if possible.

\n" -"\n" -"

We are sorry for any inconvenience, however this check is required to avoid our helpdesk resources being overloaded by spammers.

\n" -msgstr "

Ci dispiace, ma si è verificato un errore durante il salvataggio del tuo ticket.

\n\n

Il nostro sistema ha identificato la tua richiesta come spam, quindi non siamo in grado di elaborarla. Se non si tratta di spam, ti preghiamo di premere il tasto Indietro del browser e digitare nuovamente il testo. Se possibile, cerca di evitare termini che potrebbero essere scambiati per spam, e limita al massimo l'uso di link nel testo.

\n\n

Siamo spiacenti per il disagio, ma questo controllo è necessario per evitare che le risorse del nostro helpdesk finiscano oberate nella gestione dello spam.

\n" +msgid "Sorry, but there has been an error trying to submit your ticket." +msgstr "Ci dispiace, ma si è verificato un errore durante il salvataggio del tuo ticket." + +msgid "Our system has marked your submission as spam, so we are unable to save it. If this is not spam, please press back and re-type your message. Be careful to avoid sounding 'spammy', and if you have heaps of links please try removing them if possible." +msgstr "Il nostro sistema ha identificato la tua richiesta come spam, quindi non siamo in grado di elaborarla. Se non si tratta di spam, ti preghiamo di premere il tasto Indietro del browser e digitare nuovamente il testo. Se possibile, cerca di evitare termini che potrebbero essere scambiati per spam, e limita al massimo l'uso di link nel testo." + +msgid "We are sorry for any inconvenience, however this check is required to avoid our helpdesk resources being overloaded by spammers." +msgstr "Siamo spiacenti per il disagio, ma questo controllo è necessario per evitare che le risorse del nostro helpdesk finiscano oberate nella gestione dello spam." #: templates/helpdesk/public_view_form.html:8 msgid "Error:" @@ -1607,13 +1603,8 @@ msgstr "Ticket aperti" msgid "Change System Settings" msgstr "Modifica le impostazioni di sistema" -#: templates/helpdesk/system_settings.html:5 -msgid "" -"\n" -"

System Settings

\n" -"\n" -"

The following items can be maintained by you or other superusers:

" -msgstr "\n

Impostazioni di sistema

\n\n

Le seguenti impostazioni possono essere modificate da te o altri super-utenti:

" +msgid "The following items can be maintained by you or other superusers:" +msgstr "Le seguenti impostazioni possono essere modificate da te o altri super-utenti:" #: templates/helpdesk/system_settings.html:11 msgid "E-Mail Ignore list" @@ -2089,12 +2080,8 @@ msgid "Change User Settings" msgstr "Modifica preferenze utente" #: templates/helpdesk/user_settings.html:14 -msgid "" -"\n" -"

User Settings

\n" -"\n" -"

Use the following options to change the way your helpdesk system works for you. These settings do not impact any other user.

\n" -msgstr "\n

Preferenze utente

\n\n

Le seguenti impostazioni permettono di personalizzare il funzionamento del sistema di helpdesk. La loro modifica non ha effetto sugli altri utenti.

\n" +msgid "Use the following options to change the way your helpdesk system works for you. These settings do not impact any other user." +msgstr "Le seguenti impostazioni permettono di personalizzare il funzionamento del sistema di helpdesk. La loro modifica non ha effetto sugli altri utenti." #: templates/helpdesk/user_settings.html:29 msgid "Save Options" @@ -2143,7 +2130,7 @@ msgstr "Password" #: views/feeds.py:35 #, python-format msgid "Helpdesk: Open Tickets in queue %(queue)s for %(username)s" -msgstr "Helpdesk: Ticket aperti per la coda %(queue)s per %(username)s" +msgstr "Helpdesk: Ticket aperti nella coda %(queue)s per %(username)s" #: views/feeds.py:40 #, python-format @@ -2153,7 +2140,7 @@ msgstr "Helpdesk: Ticket aperti per %(username)s" #: views/feeds.py:46 #, python-format msgid "Open and Reopened Tickets in queue %(queue)s for %(username)s" -msgstr "Ticket aperti e riaperti per la coda %(queue)s per %(username)s" +msgstr "Ticket aperti e riaperti nella coda %(queue)s per %(username)s" #: views/feeds.py:51 #, python-format @@ -2234,7 +2221,7 @@ msgid "" "For more information, read the Django Documentation on string matching in SQLite." -msgstr "

Attenzione: La tua ricerca per parole chiave distingue lettere maiuscole e minuscole per via del database. Questo significa che la ricerca non sarà accurata. Il passaggio a un sistema di database differente migliorerà la qualità delle ricerche! Per maggiori informazioni leggi la documentazione di Django sulla ricerca testuale con SQLite (in lingua inglese)." +msgstr "

Attenzione: La tua ricerca per parole chiave distingue lettere maiuscole e minuscole per via del tipo di database utilizzato. Questo significa che la ricerca non sarà accurata. Il passaggio a un sistema di database differente migliorerebbe la qualità delle ricerche! Per maggiori informazioni leggi la documentazione di Django sulla ricerca testuale con SQLite (in lingua inglese)." #: views/staff.py:843 msgid "Ticket taken off hold" diff --git a/helpdesk/locale/nb_NO/LC_MESSAGES/django.mo b/helpdesk/locale/nb_NO/LC_MESSAGES/django.mo index c136ad76..f246387a 100644 Binary files a/helpdesk/locale/nb_NO/LC_MESSAGES/django.mo and b/helpdesk/locale/nb_NO/LC_MESSAGES/django.mo differ diff --git a/helpdesk/locale/nb_NO/LC_MESSAGES/django.po b/helpdesk/locale/nb_NO/LC_MESSAGES/django.po index 8e9926d1..306e3d92 100644 --- a/helpdesk/locale/nb_NO/LC_MESSAGES/django.po +++ b/helpdesk/locale/nb_NO/LC_MESSAGES/django.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the django-helpdesk package. # # Translators: +# Translators: # sikander , 2011 msgid "" msgstr "" "Project-Id-Version: django-helpdesk\n" "Report-Msgid-Bugs-To: http://github.com/RossP/django-helpdesk/issues\n" -"POT-Creation-Date: 2012-08-07 20:40+1000\n" -"PO-Revision-Date: 2013-04-29 09:18+0000\n" +"POT-Creation-Date: 2014-07-26 14:14+0200\n" +"PO-Revision-Date: 2014-08-01 09:58+0000\n" "Last-Translator: Ross Poulton \n" "Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/django-helpdesk/language/nb_NO/)\n" "MIME-Version: 1.0\n" @@ -18,1050 +19,1149 @@ msgstr "" "Language: nb_NO\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: forms.py:113 forms.py:360 models.py:262 -#: templates/helpdesk/dashboard.html:11 templates/helpdesk/dashboard.html:37 -#: templates/helpdesk/dashboard.html:57 templates/helpdesk/dashboard.html:77 -#: templates/helpdesk/dashboard.html:99 templates/helpdesk/rss_list.html:23 -#: templates/helpdesk/ticket_list.html:56 -#: templates/helpdesk/ticket_list.html:78 -#: templates/helpdesk/ticket_list.html:199 views/staff.py:976 -#: views/staff.py:982 views/staff.py:988 +#: forms.py:128 forms.py:328 models.py:190 models.py:267 +#: templates/helpdesk/dashboard.html:15 templates/helpdesk/dashboard.html:58 +#: templates/helpdesk/dashboard.html:78 templates/helpdesk/dashboard.html:100 +#: templates/helpdesk/dashboard.html:124 templates/helpdesk/rss_list.html:24 +#: templates/helpdesk/ticket_list.html:69 +#: templates/helpdesk/ticket_list.html:88 +#: templates/helpdesk/ticket_list.html:225 views/staff.py:1032 +#: views/staff.py:1038 views/staff.py:1044 views/staff.py:1050 msgid "Queue" msgstr "Kø" -#: forms.py:122 +#: forms.py:137 msgid "Summary of the problem" msgstr "Sammendrag av problemet" -#: forms.py:127 +#: forms.py:142 msgid "Submitter E-Mail Address" msgstr "Innmelders epostadresse" -#: forms.py:129 +#: forms.py:144 msgid "" "This e-mail address will receive copies of all public updates to this " "ticket." msgstr "Denne epostadressen vil motta kopier av alle offentlige oppdateringer i denne saken." -#: forms.py:135 +#: forms.py:150 msgid "Description of Issue" msgstr "Beskrivelse av problemet" -#: forms.py:142 +#: forms.py:157 msgid "Case owner" msgstr "Sakseier" -#: forms.py:143 +#: forms.py:158 msgid "" "If you select an owner other than yourself, they'll be e-mailed details of " "this ticket immediately." msgstr "Hvis du velger en annen eier enn deg selv, vil de bli sendt en epost med detaljene i saken." -#: forms.py:151 models.py:322 management/commands/escalate_tickets.py:149 -#: templates/helpdesk/public_view_ticket.html:21 -#: templates/helpdesk/ticket.html:176 -#: templates/helpdesk/ticket_desc_table.html:31 -#: templates/helpdesk/ticket_list.html:84 views/staff.py:355 +#: forms.py:166 models.py:327 management/commands/escalate_tickets.py:154 +#: templates/helpdesk/public_view_ticket.html:23 +#: templates/helpdesk/ticket.html:184 +#: templates/helpdesk/ticket_desc_table.html:47 +#: templates/helpdesk/ticket_list.html:94 views/staff.py:429 msgid "Priority" msgstr "Prioritet" -#: forms.py:152 +#: forms.py:167 msgid "Please select a priority carefully. If unsure, leave it as '3'." msgstr "Velg prioritet med omhu. Hvis du er usikker kan du la den være prioritet 3." -#: forms.py:159 forms.py:397 models.py:330 templates/helpdesk/ticket.html:178 -#: views/staff.py:365 +#: forms.py:174 forms.py:365 models.py:335 templates/helpdesk/ticket.html:186 +#: views/staff.py:439 msgid "Due on" msgstr "" -#: forms.py:171 forms.py:402 +#: forms.py:186 forms.py:370 msgid "Attach File" msgstr "Legg ved fil" -#: forms.py:172 forms.py:403 +#: forms.py:187 forms.py:371 msgid "You can attach a file such as a document or screenshot to this ticket." msgstr "Du kan legge inn en fil i denne saken. F.eks. et dokument eller bilde." -#: forms.py:180 templates/helpdesk/public_view_ticket.html:33 -#: templates/helpdesk/ticket.html:182 -#: templates/helpdesk/ticket_desc_table.html:42 -#: templates/helpdesk/ticket_list.html:61 -#: templates/helpdesk/ticket_list.html:199 views/staff.py:376 -msgid "Tags" -msgstr "Tagger" - -#: forms.py:181 -msgid "" -"Words, separated by spaces, or phrases separated by commas. These should " -"communicate significant characteristics of this ticket" -msgstr "" - -#: forms.py:275 +#: forms.py:240 msgid "Ticket Opened" msgstr "Sak åpnet" -#: forms.py:282 +#: forms.py:247 #, python-format msgid "Ticket Opened & Assigned to %(name)s" msgstr "" -#: forms.py:369 +#: forms.py:337 msgid "Summary of your query" msgstr "Sammendrag av problem" -#: forms.py:374 +#: forms.py:342 msgid "Your E-Mail Address" msgstr "Din epostadresse" -#: forms.py:375 +#: forms.py:343 msgid "We will e-mail you when your ticket is updated." msgstr "Vi vil sende deg en epost når saken blir oppdatert." -#: forms.py:380 +#: forms.py:348 msgid "Description of your issue" msgstr "Beskrivelse av ditt problem" -#: forms.py:382 +#: forms.py:350 msgid "" "Please be as descriptive as possible, including any details we may need to " "address your query." msgstr "Legg inn så mange detaljer som mulig, så vi har alle detaljene vi trenger for å hjelpe deg." -#: forms.py:390 +#: forms.py:358 msgid "Urgency" msgstr "Haster" -#: forms.py:391 +#: forms.py:359 msgid "Please select a priority carefully." msgstr "Vær nøye med hvilken prioritet du velger." -#: forms.py:486 +#: forms.py:419 msgid "Ticket Opened Via Web" msgstr "Sak åpnet via nettportalen" -#: forms.py:553 +#: forms.py:486 msgid "Show Ticket List on Login?" msgstr "Vis sakslisten ved innlogging?" -#: forms.py:554 +#: forms.py:487 msgid "Display the ticket list upon login? Otherwise, the dashboard is shown." msgstr "Vis sakslisten ved innlogging? Hvis ikke vil oversiktssiden vises." -#: forms.py:559 +#: forms.py:492 msgid "E-mail me on ticket change?" msgstr "Send epost ved oppdateringer i saken?" -#: forms.py:560 +#: forms.py:493 msgid "" "If you're the ticket owner and the ticket is changed via the web by somebody" " else, do you want to receive an e-mail?" msgstr "Hvis du er sakseier og saken blir endret av noen andre via portalen, ønsker du å motta en epost på det?" -#: forms.py:565 +#: forms.py:498 msgid "E-mail me when assigned a ticket?" msgstr "Send meg en epost når jeg blir tildelt en sak" -#: forms.py:566 +#: forms.py:499 msgid "" "If you are assigned a ticket via the web, do you want to receive an e-mail?" msgstr "Hvis du blir tildelt en sak gjennom portalen, ønsker du å motta mail på det?" -#: forms.py:571 +#: forms.py:504 msgid "E-mail me when a ticket is changed via the API?" msgstr "Send meg en epost når en sak blir endret gjennom API" -#: forms.py:572 +#: forms.py:505 msgid "If a ticket is altered by the API, do you want to receive an e-mail?" msgstr "Hvis en sak blir endret gjennom APIen, ønsker du å motta en mail på det?" -#: forms.py:577 +#: forms.py:510 msgid "Number of tickets to show per page" msgstr "Antall saker per side" -#: forms.py:578 +#: forms.py:511 msgid "How many tickets do you want to see on the Ticket List page?" msgstr "Hvor mange saker ønsker du å se på saksliste-siden?" -#: forms.py:585 +#: forms.py:518 msgid "Use my e-mail address when submitting tickets?" msgstr "Bruk min epostadresse når jeg lager en sak?" -#: forms.py:586 +#: forms.py:519 msgid "" "When you submit a ticket, do you want to automatically use your e-mail " "address as the submitter address? You can type a different e-mail address " "when entering the ticket if needed, this option only changes the default." msgstr "Når du lager en sak, ønsker du at vi bruker din epostadresse automatisk som innsenders adresse? Du kan endre epostadressen i saken om du ønsker det. Dette valget endrer bare hva som blir satt som standard." -#: models.py:32 models.py:256 models.py:490 models.py:787 models.py:821 -#: templates/helpdesk/dashboard.html:37 templates/helpdesk/dashboard.html:57 -#: templates/helpdesk/dashboard.html:77 templates/helpdesk/dashboard.html:99 -#: templates/helpdesk/ticket.html:170 templates/helpdesk/ticket_list.html:75 -#: templates/helpdesk/ticket_list.html:199 views/staff.py:345 +#: models.py:35 models.py:261 models.py:503 models.py:817 models.py:853 +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:100 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket.html:178 templates/helpdesk/ticket_list.html:85 +#: templates/helpdesk/ticket_list.html:225 views/staff.py:419 msgid "Title" msgstr "Tittel" -#: models.py:37 models.py:792 models.py:1162 +#: models.py:40 models.py:822 models.py:1206 msgid "Slug" msgstr "" -#: models.py:38 +#: models.py:41 msgid "" "This slug is used when building ticket ID's. Once set, try not to change it " "or e-mailing may get messy." msgstr "" -#: models.py:43 models.py:1015 models.py:1085 models.py:1159 +#: models.py:46 models.py:1054 models.py:1129 models.py:1203 #: templates/helpdesk/email_ignore_list.html:13 #: templates/helpdesk/ticket_cc_list.html:15 msgid "E-Mail Address" msgstr "Epostadresse" -#: models.py:46 +#: models.py:49 msgid "" "All outgoing e-mails for this queue will use this e-mail address. If you use" " IMAP or POP3, this should be the e-mail address for that mailbox." msgstr "All mail som blir sendt for denne køen vil bli sendt til følgende epostadresse. Hvis du bruker IMAP eller POP3 bør dette være adressen til den postboksen." -#: models.py:52 models.py:766 +#: models.py:55 models.py:794 msgid "Locale" msgstr "Nasjonale instillinger" -#: models.py:56 +#: models.py:59 msgid "" "Locale of this queue. All correspondence in this queue will be in this " "language." msgstr "Nasjonale instillinger for denne køen. All utsendelse i denne køen vil bli sendt på dette språket." -#: models.py:60 +#: models.py:63 msgid "Allow Public Submission?" msgstr "Tillat offentlig innsending?" -#: models.py:63 +#: models.py:66 msgid "Should this queue be listed on the public submission form?" msgstr "Skal denne køen bli listet opp i det offentlige innsendingsskjemaet?" -#: models.py:68 +#: models.py:71 msgid "Allow E-Mail Submission?" msgstr "Tillat epostinnsending?" -#: models.py:71 +#: models.py:74 msgid "Do you want to poll the e-mail box below for new tickets?" msgstr "" -#: models.py:76 +#: models.py:79 msgid "Escalation Days" msgstr "Antall dager før eskalering" -#: models.py:79 +#: models.py:82 msgid "" "For tickets which are not held, how often do you wish to increase their " "priority? Set to 0 for no escalation." msgstr "For saker uten tekniker, hvor ofte ønsker du at prioriteringen skal eskaleres? Sett 0 for ingen eskalering." -#: models.py:84 +#: models.py:87 msgid "New Ticket CC Address" msgstr "" -#: models.py:88 +#: models.py:91 msgid "" "If an e-mail address is entered here, then it will receive notification of " "all new tickets created for this queue. Enter a comma between multiple " "e-mail addresses." msgstr "" -#: models.py:94 +#: models.py:97 msgid "Updated Ticket CC Address" msgstr "" -#: models.py:98 +#: models.py:101 msgid "" "If an e-mail address is entered here, then it will receive notification of " "all activity (new tickets, closed tickets, updates, reassignments, etc) for " "this queue. Separate multiple addresses with a comma." msgstr "" -#: models.py:105 +#: models.py:108 msgid "E-Mail Box Type" msgstr "" -#: models.py:107 +#: models.py:110 msgid "POP 3" msgstr "POP 3" -#: models.py:107 +#: models.py:110 msgid "IMAP" msgstr "IMAP" -#: models.py:110 +#: models.py:113 msgid "" "E-Mail server type for creating tickets automatically from a mailbox - both " "POP3 and IMAP are supported." msgstr "Servertype for epostserver ved automatisk saksopprettelse fra postboks. Både POP3 og IMAP er støttet." -#: models.py:115 +#: models.py:118 msgid "E-Mail Hostname" msgstr "Vertsnavnet for epostserver" -#: models.py:119 +#: models.py:122 msgid "" "Your e-mail server address - either the domain name or IP address. May be " "\"localhost\"." msgstr "Adressen til din epostserver. Kan være domenenavn, IP-adresse eller \"localhost\"." -#: models.py:124 +#: models.py:127 msgid "E-Mail Port" msgstr "Port for epostserver" -#: models.py:127 +#: models.py:130 msgid "" "Port number to use for accessing e-mail. Default for POP3 is \"110\", and " "for IMAP is \"143\". This may differ on some servers. Leave it blank to use " "the defaults." msgstr "Portnummer for å få tilgang til epost. Standard for POP3 er \"110\", og for IMAP er \"143\". Dette kan være annerledes på forskjellige serveroppsett. La feltet være tomt for å bruke standard." -#: models.py:133 +#: models.py:136 msgid "Use SSL for E-Mail?" msgstr "Bruke SSL for epost?" -#: models.py:136 +#: models.py:139 msgid "" "Whether to use SSL for IMAP or POP3 - the default ports when using SSL are " "993 for IMAP and 995 for POP3." msgstr "Om det skal brukes SSL for IMAP eller POP3. Standard port for SSL er \"995\" for POP3 og \"993\" for IMAP." -#: models.py:141 +#: models.py:144 msgid "E-Mail Username" msgstr "Epost brukernavn" -#: models.py:145 +#: models.py:148 msgid "Username for accessing this mailbox." msgstr "Brukernavn for å få tilgang til denne eposten." -#: models.py:149 +#: models.py:152 msgid "E-Mail Password" msgstr "Epost passord" -#: models.py:153 +#: models.py:156 msgid "Password for the above username" msgstr "Passordet for brukernavnet" -#: models.py:157 +#: models.py:160 msgid "IMAP Folder" msgstr "IMAP mappe" -#: models.py:161 +#: models.py:164 msgid "" "If using IMAP, what folder do you wish to fetch messages from? This allows " "you to use one IMAP account for multiple queues, by filtering messages on " "your IMAP server into separate folders. Default: INBOX." msgstr "Hvis det skal brukes IMAP, hvilken mappe skal eposten hentes fra? Dette gjør at du kan bruke en IMAP-konto for flere køer, ved å filtrere beskjeder på din IMAP-server til forskjellige mapper. Standard: INNBOKS." -#: models.py:168 +#: models.py:171 msgid "E-Mail Check Interval" msgstr "Epost innhentingsinterval" -#: models.py:169 +#: models.py:172 msgid "How often do you wish to check this mailbox? (in Minutes)" msgstr "Hvor ofte skal denne posboksen skjekkes for post? (i minutter)" -#: models.py:240 templates/helpdesk/dashboard.html:11 -#: templates/helpdesk/ticket.html:130 +#: models.py:191 templates/helpdesk/email_ignore_list.html:13 +msgid "Queues" +msgstr "" + +#: models.py:245 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:138 msgid "Open" msgstr "Åpne" -#: models.py:241 templates/helpdesk/ticket.html:136 -#: templates/helpdesk/ticket.html.py:142 templates/helpdesk/ticket.html:147 -#: templates/helpdesk/ticket.html.py:151 +#: models.py:246 templates/helpdesk/ticket.html:144 +#: templates/helpdesk/ticket.html.py:150 templates/helpdesk/ticket.html:155 +#: templates/helpdesk/ticket.html.py:159 msgid "Reopened" msgstr "Gjenåpnet" -#: models.py:242 templates/helpdesk/dashboard.html:11 -#: templates/helpdesk/ticket.html:131 templates/helpdesk/ticket.html.py:137 -#: templates/helpdesk/ticket.html:143 +#: models.py:247 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:139 templates/helpdesk/ticket.html.py:145 +#: templates/helpdesk/ticket.html:151 msgid "Resolved" msgstr "Løst" -#: models.py:243 templates/helpdesk/dashboard.html:11 -#: templates/helpdesk/ticket.html:132 templates/helpdesk/ticket.html.py:138 -#: templates/helpdesk/ticket.html:144 templates/helpdesk/ticket.html.py:148 +#: models.py:248 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:140 templates/helpdesk/ticket.html.py:146 +#: templates/helpdesk/ticket.html:152 templates/helpdesk/ticket.html.py:156 msgid "Closed" msgstr "Lukket" -#: models.py:244 templates/helpdesk/ticket.html:133 -#: templates/helpdesk/ticket.html.py:139 templates/helpdesk/ticket.html:152 +#: models.py:249 templates/helpdesk/ticket.html:141 +#: templates/helpdesk/ticket.html.py:147 templates/helpdesk/ticket.html:160 msgid "Duplicate" msgstr "" -#: models.py:248 +#: models.py:253 msgid "1. Critical" msgstr "1. Kritisk" -#: models.py:249 +#: models.py:254 msgid "2. High" msgstr "2. Høy" -#: models.py:250 +#: models.py:255 msgid "3. Normal" msgstr "3. Normal" -#: models.py:251 +#: models.py:256 msgid "4. Low" msgstr "4. Lav" -#: models.py:252 +#: models.py:257 msgid "5. Very Low" msgstr "5. Veldig lav" -#: models.py:266 templates/helpdesk/dashboard.html:77 -#: templates/helpdesk/ticket_list.html:72 -#: templates/helpdesk/ticket_list.html:199 +#: models.py:271 templates/helpdesk/dashboard.html:100 +#: templates/helpdesk/ticket_list.html:82 +#: templates/helpdesk/ticket_list.html:225 msgid "Created" msgstr "Opprettet" -#: models.py:268 +#: models.py:273 msgid "Date this ticket was first created" msgstr "Tidspunkt for opprettelse" -#: models.py:272 +#: models.py:277 msgid "Modified" msgstr "Endret" -#: models.py:274 +#: models.py:279 msgid "Date this ticket was most recently changed." msgstr "Tidspunkt for siste endring." -#: models.py:278 templates/helpdesk/public_view_ticket.html:16 -#: templates/helpdesk/ticket_desc_table.html:26 +#: models.py:283 templates/helpdesk/public_view_ticket.html:18 +#: templates/helpdesk/ticket_desc_table.html:42 msgid "Submitter E-Mail" msgstr "Innsenders epostadresse" -#: models.py:281 +#: models.py:286 msgid "" "The submitter will receive an email for all public follow-ups left for this " "task." msgstr "Innsenderen vil motta en epost for alle offentlige oppdateringer av denne oppgaven." -#: models.py:290 +#: models.py:295 msgid "Assigned to" msgstr "" -#: models.py:294 templates/helpdesk/dashboard.html:37 -#: templates/helpdesk/dashboard.html:57 templates/helpdesk/dashboard.html:99 -#: templates/helpdesk/ticket_list.html:57 -#: templates/helpdesk/ticket_list.html:81 -#: templates/helpdesk/ticket_list.html:199 +#: models.py:299 templates/helpdesk/dashboard.html:58 +#: templates/helpdesk/dashboard.html:78 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket_list.html:70 +#: templates/helpdesk/ticket_list.html:91 +#: templates/helpdesk/ticket_list.html:225 msgid "Status" msgstr "Status" -#: models.py:300 +#: models.py:305 msgid "On Hold" msgstr "På vent" -#: models.py:303 +#: models.py:308 msgid "If a ticket is on hold, it will not automatically be escalated." msgstr "Hvis en sak er på vent, vil den ikke bli eskalert automatisk." -#: models.py:308 models.py:796 templates/helpdesk/public_view_ticket.html:39 -#: templates/helpdesk/ticket_desc_table.html:67 +#: models.py:313 models.py:826 templates/helpdesk/public_view_ticket.html:41 +#: templates/helpdesk/ticket_desc_table.html:19 msgid "Description" msgstr "Beskrivelse" -#: models.py:311 +#: models.py:316 msgid "The content of the customers query." msgstr "" -#: models.py:315 templates/helpdesk/public_view_ticket.html:46 -#: templates/helpdesk/ticket_desc_table.html:74 +#: models.py:320 templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 msgid "Resolution" msgstr "Løsning" -#: models.py:318 +#: models.py:323 msgid "The resolution provided to the customer by our staff." msgstr "Hva som ble gjort for å løse saken." -#: models.py:326 +#: models.py:331 msgid "1 = Highest Priority, 5 = Low Priority" msgstr "1 = Høyeste prioritet, 5 = Laveste prioritet" -#: models.py:339 +#: models.py:344 msgid "" "The date this ticket was last escalated - updated automatically by " "management/commands/escalate_tickets.py." msgstr "Tidspunktet denne saken sist ble eskalert. Oppdateres automatisk av \"management/commands/escalate_tickets.py\"." -#: models.py:348 templates/helpdesk/ticket_desc_table.html:22 -#: views/feeds.py:91 views/feeds.py:117 views/feeds.py:169 views/staff.py:302 +#: models.py:353 templates/helpdesk/ticket_desc_table.html:38 +#: views/feeds.py:95 views/feeds.py:121 views/feeds.py:173 views/staff.py:376 msgid "Unassigned" msgstr "Utildelt" -#: models.py:387 +#: models.py:392 msgid " - On Hold" msgstr "På hold" -#: models.py:481 models.py:1073 models.py:1231 models.py:1256 -#: templates/helpdesk/public_homepage.html:26 +#: models.py:394 +msgid " - Open dependencies" +msgstr "" + +#: models.py:448 models.py:494 models.py:1117 models.py:1280 models.py:1309 +#: templates/helpdesk/public_homepage.html:78 #: templates/helpdesk/public_view_form.html:12 msgid "Ticket" msgstr "Sak" -#: models.py:485 models.py:714 models.py:1008 models.py:1156 +#: models.py:449 templates/helpdesk/navigation.html:17 +#: templates/helpdesk/ticket_list.html:2 +#: templates/helpdesk/ticket_list.html:224 +msgid "Tickets" +msgstr "" + +#: models.py:498 models.py:738 models.py:1047 models.py:1200 msgid "Date" msgstr "Dato" -#: models.py:497 views/staff.py:316 +#: models.py:510 views/staff.py:390 msgid "Comment" msgstr "Kommentar" -#: models.py:503 +#: models.py:516 msgid "Public" msgstr "Offentlig" -#: models.py:506 +#: models.py:519 msgid "" "Public tickets are viewable by the submitter and all staff, but non-public " "tickets can only be seen by staff." msgstr "Offentlige saker er tilgjengelig for innmelder og staben, mens lukkede saker kun er tilgjengelig for staben." -#: models.py:514 models.py:888 models.py:1081 views/staff.py:952 -#: views/staff.py:958 views/staff.py:964 views/staff.py:970 +#: models.py:527 models.py:922 models.py:1125 views/staff.py:1008 +#: views/staff.py:1014 views/staff.py:1020 views/staff.py:1026 msgid "User" msgstr "" -#: models.py:518 templates/helpdesk/ticket.html:127 +#: models.py:531 templates/helpdesk/ticket.html:135 msgid "New Status" msgstr "Ny status" -#: models.py:522 +#: models.py:535 msgid "If the status was changed, what was it changed to?" msgstr "Hva statusen ble endret til, hvis den er endret." -#: models.py:551 models.py:608 +#: models.py:542 models.py:566 models.py:628 msgid "Follow-up" msgstr "" -#: models.py:555 models.py:1236 +#: models.py:543 +msgid "Follow-ups" +msgstr "" + +#: models.py:570 models.py:1285 msgid "Field" msgstr "Felt" -#: models.py:560 +#: models.py:575 msgid "Old Value" msgstr "Gammel verdi" -#: models.py:566 +#: models.py:581 msgid "New Value" msgstr "Ny verdi" -#: models.py:574 +#: models.py:589 msgid "removed" msgstr "slettet" -#: models.py:576 +#: models.py:591 #, python-format msgid "set to %s" msgstr "satt til %s" -#: models.py:578 +#: models.py:593 #, python-format msgid "changed from \"%(old_value)s\" to \"%(new_value)s\"" msgstr "" -#: models.py:612 +#: models.py:600 +msgid "Ticket change" +msgstr "" + +#: models.py:601 +msgid "Ticket changes" +msgstr "" + +#: models.py:632 msgid "File" msgstr "Fil" -#: models.py:617 +#: models.py:637 msgid "Filename" msgstr "Filnavn" -#: models.py:622 +#: models.py:642 msgid "MIME Type" msgstr "" -#: models.py:627 +#: models.py:647 msgid "Size" msgstr "Størrelse" -#: models.py:628 +#: models.py:648 msgid "Size of this file in bytes" msgstr "Størrelsen på filen i byte" -#: models.py:663 +#: models.py:665 +msgid "Attachment" +msgstr "" + +#: models.py:666 +msgid "Attachments" +msgstr "" + +#: models.py:685 msgid "" "Leave blank to allow this reply to be used for all queues, or select those " "queues you wish to limit this reply to." msgstr "La denne stå tom hvis den skal brukes for alle køene, eller velg hvilke køer du ønsker å begrense dette svaret til." -#: models.py:668 models.py:709 models.py:1003 +#: models.py:690 models.py:733 models.py:1042 #: templates/helpdesk/email_ignore_list.html:13 msgid "Name" msgstr "Navn" -#: models.py:670 +#: models.py:692 msgid "" "Only used to assist users with selecting a reply - not shown to the user." msgstr "" -#: models.py:675 +#: models.py:697 msgid "Body" msgstr "Innhold" -#: models.py:676 +#: models.py:698 msgid "" "Context available: {{ ticket }} - ticket object (eg {{ ticket.title }}); {{ " "queue }} - The queue; and {{ user }} - the current user." msgstr "" -#: models.py:703 +#: models.py:705 +msgid "Pre-set reply" +msgstr "" + +#: models.py:706 +msgid "Pre-set replies" +msgstr "" + +#: models.py:727 msgid "" "Leave blank for this exclusion to be applied to all queues, or select those " "queues you wish to exclude with this entry." msgstr "" -#: models.py:715 +#: models.py:739 msgid "Date on which escalation should not happen" msgstr "" -#: models.py:732 +#: models.py:746 +msgid "Escalation exclusion" +msgstr "" + +#: models.py:747 +msgid "Escalation exclusions" +msgstr "" + +#: models.py:760 msgid "Template Name" msgstr "" -#: models.py:737 +#: models.py:765 msgid "Subject" msgstr "Emne" -#: models.py:739 +#: models.py:767 msgid "" "This will be prefixed with \"[ticket.ticket] ticket.title\". We recommend " "something simple such as \"(Updated\") or \"(Closed)\" - the same context is" " available as in plain_text, below." msgstr "" -#: models.py:745 +#: models.py:773 msgid "Heading" msgstr "Overskrift" -#: models.py:747 +#: models.py:775 msgid "" "In HTML e-mails, this will be the heading at the top of the email - the same" " context is available as in plain_text, below." msgstr "" -#: models.py:753 +#: models.py:781 msgid "Plain Text" msgstr "" -#: models.py:754 +#: models.py:782 msgid "" "The context available to you includes {{ ticket }}, {{ queue }}, and " "depending on the time of the call: {{ resolution }} or {{ comment }}." msgstr "" -#: models.py:760 +#: models.py:788 msgid "HTML" msgstr "HTML" -#: models.py:761 +#: models.py:789 msgid "The same context is available here as in plain_text, above." msgstr "" -#: models.py:770 +#: models.py:798 msgid "Locale of this template." msgstr "" -#: models.py:817 templates/helpdesk/kb_index.html:10 -#: templates/helpdesk/public_homepage.html:10 +#: models.py:806 +msgid "e-mail template" +msgstr "" + +#: models.py:807 +msgid "e-mail templates" +msgstr "" + +#: models.py:834 +msgid "Knowledge base category" +msgstr "" + +#: models.py:835 +msgid "Knowledge base categories" +msgstr "" + +#: models.py:849 templates/helpdesk/kb_index.html:11 +#: templates/helpdesk/public_homepage.html:11 msgid "Category" msgstr "Kategori" -#: models.py:826 +#: models.py:858 msgid "Question" msgstr "Spørsmål" -#: models.py:830 +#: models.py:862 msgid "Answer" msgstr "Svar" -#: models.py:834 +#: models.py:866 msgid "Votes" msgstr "Stemmer" -#: models.py:835 +#: models.py:867 msgid "Total number of votes cast for this item" msgstr "Antall stemmer gitt for dette objektet" -#: models.py:840 +#: models.py:872 msgid "Positive Votes" msgstr "Positive stemmer" -#: models.py:841 +#: models.py:873 msgid "Number of votes for this item which were POSITIVE." msgstr "Antall stemmer for dette objektet som er POSITIVE." -#: models.py:846 +#: models.py:878 msgid "Last Updated" msgstr "Sist oppdatert" -#: models.py:847 +#: models.py:879 msgid "The date on which this question was most recently changed." msgstr "Tidspunktet dette spørsmålet sist ble endret." -#: models.py:861 +#: models.py:893 msgid "Unrated" msgstr "Uvurdert" -#: models.py:892 templates/helpdesk/ticket_list.html:158 +#: models.py:901 +msgid "Knowledge base item" +msgstr "" + +#: models.py:902 +msgid "Knowledge base items" +msgstr "" + +#: models.py:926 templates/helpdesk/ticket_list.html:170 msgid "Query Name" msgstr "" -#: models.py:894 +#: models.py:928 msgid "User-provided name for this query" msgstr "" -#: models.py:898 +#: models.py:932 msgid "Shared With Other Users?" msgstr "Delt med andre brukere?" -#: models.py:901 +#: models.py:935 msgid "Should other users see this query?" msgstr "" -#: models.py:905 +#: models.py:939 msgid "Search Query" msgstr "" -#: models.py:906 +#: models.py:940 msgid "Pickled query object. Be wary changing this." msgstr "" -#: models.py:927 +#: models.py:950 +msgid "Saved search" +msgstr "" + +#: models.py:951 +msgid "Saved searches" +msgstr "" + +#: models.py:966 msgid "Settings Dictionary" msgstr "" -#: models.py:928 +#: models.py:967 msgid "" "This is a base64-encoded representation of a pickled Python dictionary. Do " "not change this field via the admin." msgstr "" -#: models.py:997 +#: models.py:993 +msgid "User Setting" +msgstr "" + +#: models.py:994 templates/helpdesk/navigation.html:37 +#: templates/helpdesk/user_settings.html:6 +msgid "User Settings" +msgstr "" + +#: models.py:1036 msgid "" "Leave blank for this e-mail to be ignored on all queues, or select those " "queues you wish to ignore this e-mail for." msgstr "" -#: models.py:1009 +#: models.py:1048 msgid "Date on which this e-mail address was added" msgstr "Tidspunktet denne epostadressen ble endret" -#: models.py:1017 +#: models.py:1056 msgid "" "Enter a full e-mail address, or portions with wildcards, eg *@domain.com or " "postmaster@*." msgstr "" -#: models.py:1022 +#: models.py:1061 msgid "Save Emails in Mailbox?" msgstr "" -#: models.py:1025 +#: models.py:1064 msgid "" "Do you want to save emails from this address in the mailbox? If this is " "unticked, emails from this address will be deleted." msgstr "" -#: models.py:1080 +#: models.py:1101 +msgid "Ignored e-mail address" +msgstr "" + +#: models.py:1102 +msgid "Ignored e-mail addresses" +msgstr "" + +#: models.py:1124 msgid "User who wishes to receive updates for this ticket." msgstr "" -#: models.py:1088 +#: models.py:1132 msgid "For non-user followers, enter their e-mail address" msgstr "" -#: models.py:1092 +#: models.py:1136 msgid "Can View Ticket?" msgstr "" -#: models.py:1094 +#: models.py:1138 msgid "Can this CC login to view the ticket details?" msgstr "" -#: models.py:1098 +#: models.py:1142 msgid "Can Update Ticket?" msgstr "" -#: models.py:1100 +#: models.py:1144 msgid "Can this CC login and update the ticket?" msgstr "" -#: models.py:1131 +#: models.py:1175 msgid "Field Name" msgstr "" -#: models.py:1132 +#: models.py:1176 msgid "" "As used in the database and behind the scenes. Must be unique and consist of" " only lowercase letters with no punctuation." msgstr "" -#: models.py:1137 +#: models.py:1181 msgid "Label" msgstr "" -#: models.py:1139 +#: models.py:1183 msgid "The display label for this field" msgstr "" -#: models.py:1143 +#: models.py:1187 msgid "Help Text" msgstr "" -#: models.py:1144 +#: models.py:1188 msgid "Shown to the user when editing the ticket" msgstr "" -#: models.py:1150 +#: models.py:1194 msgid "Character (single line)" msgstr "" -#: models.py:1151 +#: models.py:1195 msgid "Text (multi-line)" msgstr "" -#: models.py:1152 +#: models.py:1196 msgid "Integer" msgstr "" -#: models.py:1153 +#: models.py:1197 msgid "Decimal" msgstr "" -#: models.py:1154 +#: models.py:1198 msgid "List" msgstr "" -#: models.py:1155 +#: models.py:1199 msgid "Boolean (checkbox yes/no)" msgstr "" -#: models.py:1157 +#: models.py:1201 msgid "Time" msgstr "" -#: models.py:1158 +#: models.py:1202 msgid "Date & Time" msgstr "" -#: models.py:1160 +#: models.py:1204 msgid "URL" msgstr "" -#: models.py:1161 +#: models.py:1205 msgid "IP Address" msgstr "" -#: models.py:1166 +#: models.py:1210 msgid "Data Type" msgstr "" -#: models.py:1168 +#: models.py:1212 msgid "Allows you to restrict the data entered into this field" msgstr "" -#: models.py:1173 +#: models.py:1217 msgid "Maximum Length (characters)" msgstr "" -#: models.py:1179 +#: models.py:1223 msgid "Decimal Places" msgstr "" -#: models.py:1180 +#: models.py:1224 msgid "Only used for decimal fields" msgstr "" -#: models.py:1186 +#: models.py:1230 msgid "Add empty first choice to List?" msgstr "" -#: models.py:1187 +#: models.py:1232 msgid "" "Only for List: adds an empty first entry to the choices list, which enforces" " that the user makes an active choice." msgstr "" -#: models.py:1191 +#: models.py:1236 msgid "List Values" msgstr "" -#: models.py:1192 +#: models.py:1237 msgid "For list fields only. Enter one option per line." msgstr "" -#: models.py:1198 +#: models.py:1243 msgid "Ordering" msgstr "" -#: models.py:1199 +#: models.py:1244 msgid "Lower numbers are displayed first; higher numbers are listed later" msgstr "" -#: models.py:1213 +#: models.py:1258 msgid "Required?" msgstr "" -#: models.py:1214 +#: models.py:1259 msgid "Does the user have to enter a value for this field?" msgstr "" -#: models.py:1218 +#: models.py:1263 msgid "Staff Only?" msgstr "" -#: models.py:1219 +#: models.py:1264 msgid "" "If this is ticked, then the public submission form will NOT show this field" msgstr "" -#: models.py:1262 +#: models.py:1273 +msgid "Custom field" +msgstr "" + +#: models.py:1274 +msgid "Custom fields" +msgstr "" + +#: models.py:1297 +msgid "Ticket custom field value" +msgstr "" + +#: models.py:1298 +msgid "Ticket custom field values" +msgstr "" + +#: models.py:1315 msgid "Depends On Ticket" msgstr "" -#: management/commands/create_usersettings.py:21 +#: models.py:1324 +msgid "Ticket dependency" +msgstr "" + +#: models.py:1325 +msgid "Ticket dependencies" +msgstr "" + +#: management/commands/create_usersettings.py:25 msgid "" "Check for user without django-helpdesk UserSettings and create settings if " "required. Uses settings.DEFAULT_USER_SETTINGS which can be overridden to " "suit your situation." msgstr "" -#: management/commands/escalate_tickets.py:143 +#: management/commands/escalate_tickets.py:148 #, python-format msgid "Ticket escalated after %s days" msgstr "" -#: management/commands/get_email.py:151 +#: management/commands/get_email.py:158 msgid "Created from e-mail" msgstr "Opprette fra epost" -#: management/commands/get_email.py:155 +#: management/commands/get_email.py:162 msgid "Unknown Sender" msgstr "Ukjent Sender" -#: management/commands/get_email.py:209 +#: management/commands/get_email.py:216 msgid "" "No plain-text email body available. Please see attachment " "email_html_body.html." msgstr "" -#: management/commands/get_email.py:213 +#: management/commands/get_email.py:220 msgid "email_html_body.html" msgstr "email_html_body.html" -#: management/commands/get_email.py:256 +#: management/commands/get_email.py:263 #, python-format msgid "E-Mail Received from %(sender_email)s" msgstr "" -#: management/commands/get_email.py:264 +#: management/commands/get_email.py:271 #, python-format msgid "Ticket Re-Opened by E-Mail Received from %(sender_email)s" msgstr "" -#: management/commands/get_email.py:322 +#: management/commands/get_email.py:329 msgid " (Reopened)" msgstr "" -#: management/commands/get_email.py:324 +#: management/commands/get_email.py:331 msgid " (Updated)" msgstr "(Oppdatert)" #: templates/helpdesk/attribution.html:2 msgid "" -"Powered by django-" -"helpdesk." +"django-helpdesk." msgstr "" -#: templates/helpdesk/attribution.html:4 -msgid "For technical support please contact:" -msgstr "" - -#: templates/helpdesk/base.html:9 +#: templates/helpdesk/base.html:10 msgid "Powered by django-helpdesk" msgstr "" -#: templates/helpdesk/base.html:19 templates/helpdesk/rss_list.html:9 -#: templates/helpdesk/rss_list.html:23 templates/helpdesk/rss_list.html:28 +#: templates/helpdesk/base.html:20 templates/helpdesk/rss_list.html:9 +#: templates/helpdesk/rss_list.html:24 templates/helpdesk/rss_list.html:31 msgid "My Open Tickets" msgstr "" -#: templates/helpdesk/base.html:20 +#: templates/helpdesk/base.html:21 msgid "All Recent Activity" msgstr "" -#: templates/helpdesk/base.html:21 templates/helpdesk/dashboard.html:76 +#: templates/helpdesk/base.html:22 templates/helpdesk/dashboard.html:99 #: templates/helpdesk/rss_list.html:15 msgid "Unassigned Tickets" msgstr "" -#: templates/helpdesk/base.html:101 templates/helpdesk/public_base.html:6 -#: templates/helpdesk/public_base.html:14 +#: templates/helpdesk/base.html:52 templates/helpdesk/public_base.html:6 +#: templates/helpdesk/public_base.html:18 msgid "Helpdesk" msgstr "" -#: templates/helpdesk/base.html:111 templates/helpdesk/rss_list.html:9 +#: templates/helpdesk/base.html:62 templates/helpdesk/rss_list.html:9 #: templates/helpdesk/rss_list.html:12 templates/helpdesk/rss_list.html:15 -#: templates/helpdesk/rss_list.html:27 templates/helpdesk/rss_list.html:28 +#: templates/helpdesk/rss_list.html:30 templates/helpdesk/rss_list.html:31 msgid "RSS Icon" msgstr "" -#: templates/helpdesk/base.html:111 templates/helpdesk/rss_list.html:2 +#: templates/helpdesk/base.html:62 templates/helpdesk/rss_list.html:2 #: templates/helpdesk/rss_list.html.py:4 msgid "RSS Feeds" msgstr "" -#: templates/helpdesk/base.html:112 +#: templates/helpdesk/base.html:63 msgid "API" msgstr "" -#: templates/helpdesk/base.html:113 -msgid "User Settings" -msgstr "" - -#: templates/helpdesk/base.html:115 -msgid "Change Language" -msgstr "" - -#: templates/helpdesk/base.html:117 +#: templates/helpdesk/base.html:64 templates/helpdesk/system_settings.html:6 msgid "System Settings" msgstr "" #: templates/helpdesk/confirm_delete_saved_query.html:3 -#: templates/helpdesk/ticket_list.html:144 +#: templates/helpdesk/ticket_list.html:146 msgid "Delete Saved Query" msgstr "" -#: templates/helpdesk/confirm_delete_saved_query.html:5 +#: templates/helpdesk/confirm_delete_saved_query.html:6 +msgid "Delete Query" +msgstr "" + +#: templates/helpdesk/confirm_delete_saved_query.html:8 #, python-format msgid "" -"\n" -"

Delete Query

\n" -"\n" -"

Are you sure you want to delete this saved filter (%(query_title)s)? To re-create it, you will need to manually re-filter your ticket listing.

\n" +"Are you sure you want to delete this saved filter " +"(%(query_title)s)? To re-create it, you will need to manually re-" +"filter your ticket listing." msgstr "" #: templates/helpdesk/confirm_delete_saved_query.html:11 msgid "" -"\n" -"

You have shared this query, so other users may be using it. If you delete it, they will have to manually create their own query.

\n" +"You have shared this query, so other users may be using it. If you delete " +"it, they will have to manually create their own query." msgstr "" -#: templates/helpdesk/confirm_delete_saved_query.html:15 -#: templates/helpdesk/delete_ticket.html:11 +#: templates/helpdesk/confirm_delete_saved_query.html:14 +#: templates/helpdesk/delete_ticket.html:10 msgid "No, Don't Delete It" msgstr "" -#: templates/helpdesk/confirm_delete_saved_query.html:17 -#: templates/helpdesk/delete_ticket.html:13 +#: templates/helpdesk/confirm_delete_saved_query.html:16 +#: templates/helpdesk/delete_ticket.html:12 msgid "Yes - Delete It" msgstr "" @@ -1069,21 +1169,25 @@ msgstr "" msgid "Create Ticket" msgstr "" -#: templates/helpdesk/create_ticket.html:6 -msgid "" -"

Submit a Ticket

\n" -"\n" -"

Unless otherwise stated, all fields are required. Please provide as descriptive a title and description as possible.

" +#: templates/helpdesk/create_ticket.html:10 +#: templates/helpdesk/navigation.html:65 templates/helpdesk/navigation.html:68 +#: templates/helpdesk/public_homepage.html:27 +msgid "Submit a Ticket" msgstr "" -#: templates/helpdesk/create_ticket.html:17 -#: templates/helpdesk/edit_ticket.html:19 -#: templates/helpdesk/public_homepage.html:50 -msgid "(Optional)" +#: templates/helpdesk/create_ticket.html:11 +#: templates/helpdesk/edit_ticket.html:11 +msgid "Unless otherwise stated, all fields are required." msgstr "" -#: templates/helpdesk/create_ticket.html:26 -#: templates/helpdesk/public_homepage.html:59 +#: templates/helpdesk/create_ticket.html:11 +#: templates/helpdesk/edit_ticket.html:11 +#: templates/helpdesk/public_homepage.html:28 +msgid "Please provide as descriptive a title and description as possible." +msgstr "" + +#: templates/helpdesk/create_ticket.html:30 +#: templates/helpdesk/public_homepage.html:55 msgid "Submit Ticket" msgstr "" @@ -1091,136 +1195,176 @@ msgstr "" msgid "Helpdesk Dashboard" msgstr "" -#: templates/helpdesk/dashboard.html:10 -msgid "Helpdesk Summary" -msgstr "" - -#: templates/helpdesk/dashboard.html:25 +#: templates/helpdesk/dashboard.html:9 msgid "" "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." msgstr "" -#: templates/helpdesk/dashboard.html:27 -msgid "" -"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?" +#: templates/helpdesk/dashboard.html:14 +msgid "Helpdesk Summary" msgstr "" #: templates/helpdesk/dashboard.html:36 +msgid "Current Ticket Stats" +msgstr "" + +#: templates/helpdesk/dashboard.html:37 +msgid "Average number of days until ticket is closed (all tickets): " +msgstr "" + +#: templates/helpdesk/dashboard.html:38 +msgid "" +"Average number of days until ticket is closed (tickets opened in last 60 " +"days): " +msgstr "" + +#: templates/helpdesk/dashboard.html:39 +msgid "Click" +msgstr "" + +#: templates/helpdesk/dashboard.html:39 +msgid "for detailed average by month." +msgstr "" + +#: templates/helpdesk/dashboard.html:40 +msgid "Distribution of open tickets, grouped by time period:" +msgstr "" + +#: templates/helpdesk/dashboard.html:41 +msgid "Days since opened" +msgstr "" + +#: templates/helpdesk/dashboard.html:41 +msgid "Number of open tickets" +msgstr "" + +#: templates/helpdesk/dashboard.html:57 msgid "All Tickets submitted by you" msgstr "" -#: templates/helpdesk/dashboard.html:37 templates/helpdesk/dashboard.html:57 -#: templates/helpdesk/dashboard.html:77 templates/helpdesk/dashboard.html:99 -#: templates/helpdesk/ticket_list.html:199 +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:100 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket_list.html:225 msgid "Pr" msgstr "" -#: templates/helpdesk/dashboard.html:37 templates/helpdesk/dashboard.html:57 -#: templates/helpdesk/dashboard.html:99 +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:124 msgid "Last Update" msgstr "" -#: templates/helpdesk/dashboard.html:56 +#: templates/helpdesk/dashboard.html:77 msgid "Open Tickets assigned to you (you are working on this ticket)" msgstr "" -#: templates/helpdesk/dashboard.html:69 +#: templates/helpdesk/dashboard.html:92 msgid "You have no tickets assigned to you." msgstr "" -#: templates/helpdesk/dashboard.html:76 +#: templates/helpdesk/dashboard.html:99 msgid "(pick up a ticket if you start to work on it)" msgstr "" -#: templates/helpdesk/dashboard.html:85 -#: templates/helpdesk/ticket_desc_table.html:22 +#: templates/helpdesk/dashboard.html:110 +#: templates/helpdesk/ticket_desc_table.html:38 msgid "Take" msgstr "" -#: templates/helpdesk/dashboard.html:85 +#: templates/helpdesk/dashboard.html:110 #: templates/helpdesk/email_ignore_list.html:13 #: templates/helpdesk/email_ignore_list.html:23 #: templates/helpdesk/ticket_cc_list.html:15 #: templates/helpdesk/ticket_cc_list.html:23 -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Delete" msgstr "" -#: templates/helpdesk/dashboard.html:89 +#: templates/helpdesk/dashboard.html:114 msgid "There are no unassigned tickets." msgstr "" -#: templates/helpdesk/dashboard.html:98 +#: templates/helpdesk/dashboard.html:123 msgid "Closed & resolved Tickets you used to work on" msgstr "" #: templates/helpdesk/delete_ticket.html:3 +#: templates/helpdesk/delete_ticket.html:6 msgid "Delete Ticket" msgstr "" -#: templates/helpdesk/delete_ticket.html:5 +#: templates/helpdesk/delete_ticket.html:8 #, python-format msgid "" -"\n" -"

Delete Ticket

\n" -"\n" -"

Are you sure you want to delete this ticket (%(ticket_title)s)? All traces of the ticket, including followups, attachments, and updates will be irreversably removed.

\n" +"Are you sure you want to delete this ticket (%(ticket_title)s)? All" +" traces of the ticket, including followups, attachments, and updates will be" +" irreversibly removed." msgstr "" #: templates/helpdesk/edit_ticket.html:3 msgid "Edit Ticket" msgstr "" -#: templates/helpdesk/edit_ticket.html:6 -msgid "" -"

Edit a Ticket

\n" -"\n" -"

Unless otherwise stated, all fields are required. Please provide as descriptive a title and description as possible.

\n" -"\n" -"

Note: Editing a ticket does not send an e-mail to the ticket owner or submitter. No new details should be entered, this form should only be used to fix incorrect details or clean up the submission.

" +#: templates/helpdesk/edit_ticket.html:9 +msgid "Edit a Ticket" msgstr "" -#: templates/helpdesk/edit_ticket.html:28 +#: templates/helpdesk/edit_ticket.html:13 +msgid "Note" +msgstr "" + +#: templates/helpdesk/edit_ticket.html:13 +msgid "" +"Editing a ticket does not send an e-mail to the ticket owner or " +"submitter. No new details should be entered, this form should only be used " +"to fix incorrect details or clean up the submission." +msgstr "" + +#: templates/helpdesk/edit_ticket.html:33 msgid "Save Changes" msgstr "" #: templates/helpdesk/email_ignore_add.html:3 +#: templates/helpdesk/email_ignore_add.html:6 #: templates/helpdesk/email_ignore_add.html:23 msgid "Ignore E-Mail Address" msgstr "" -#: templates/helpdesk/email_ignore_add.html:5 +#: templates/helpdesk/email_ignore_add.html:8 msgid "" -"\n" -"

Ignore E-Mail Address

\n" -"\n" -"

To ignore an e-mail address and prevent any emails from that address creating tickets automatically, enter the e-mail address below.

\n" -"\n" -"

You can either enter a whole e-mail address such as email@domain.com or a portion of an e-mail address with a wildcard, such as *@domain.com or user@*.

" +"To ignore an e-mail address and prevent any emails from that address " +"creating tickets automatically, enter the e-mail address below." +msgstr "" + +#: templates/helpdesk/email_ignore_add.html:10 +msgid "" +"You can either enter a whole e-mail address such as " +"email@domain.com or a portion of an e-mail address with a wildcard," +" such as *@domain.com or user@*." msgstr "" #: templates/helpdesk/email_ignore_del.html:3 msgid "Delete Ignored E-Mail Address" msgstr "" -#: templates/helpdesk/email_ignore_del.html:5 -#, python-format -msgid "" -"\n" -"

Un-Ignore E-Mail Address

\n" -"\n" -"

Are you sure you wish to stop removing this email address (%(email_address)s) and allow their e-mails to automatically create tickets in your system? You can re-add this e-mail address at any time.

\n" +#: templates/helpdesk/email_ignore_del.html:6 +msgid "Un-Ignore E-Mail Address" msgstr "" -#: templates/helpdesk/email_ignore_del.html:11 +#: templates/helpdesk/email_ignore_del.html:8 +#, python-format +msgid "" +"Are you sure you wish to stop removing this email address " +"(%(email_address)s) and allow their e-mails to automatically create" +" tickets in your system? You can re-add this e-mail address at any time." +msgstr "" + +#: templates/helpdesk/email_ignore_del.html:10 msgid "Keep Ignoring It" msgstr "" -#: templates/helpdesk/email_ignore_del.html:13 +#: templates/helpdesk/email_ignore_del.html:12 msgid "Stop Ignoring It" msgstr "" @@ -1241,16 +1385,12 @@ msgstr "" msgid "Date Added" msgstr "" -#: templates/helpdesk/email_ignore_list.html:13 -msgid "Queues" -msgstr "" - #: templates/helpdesk/email_ignore_list.html:13 msgid "Keep in mailbox?" msgstr "" #: templates/helpdesk/email_ignore_list.html:21 -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "All" msgstr "" @@ -1285,7 +1425,7 @@ msgid "Comment:" msgstr "" #: templates/helpdesk/kb_category.html:4 -#: templates/helpdesk/kb_category.html:11 +#: templates/helpdesk/kb_category.html:12 #, python-format msgid "Knowledgebase Category: %(kbcat)s" msgstr "" @@ -1295,12 +1435,12 @@ msgstr "" msgid "You are viewing all items in the %(kbcat)s category." msgstr "" -#: templates/helpdesk/kb_category.html:12 +#: templates/helpdesk/kb_category.html:13 msgid "Article" msgstr "" -#: templates/helpdesk/kb_index.html:4 templates/helpdesk/navigation.html:11 -#: templates/helpdesk/navigation.html:33 +#: templates/helpdesk/kb_index.html:4 templates/helpdesk/navigation.html:21 +#: templates/helpdesk/navigation.html:71 msgid "Knowledgebase" msgstr "" @@ -1311,8 +1451,8 @@ msgid "" "your problem prior to opening a support ticket." msgstr "" -#: templates/helpdesk/kb_index.html:9 -#: templates/helpdesk/public_homepage.html:9 +#: templates/helpdesk/kb_index.html:10 +#: templates/helpdesk/public_homepage.html:10 msgid "Knowledgebase Categories" msgstr "" @@ -1321,7 +1461,7 @@ msgstr "" msgid "Knowledgebase: %(item)s" msgstr "" -#: templates/helpdesk/kb_item.html:13 +#: templates/helpdesk/kb_item.html:16 #, python-format msgid "" "View other %(category_title)s " @@ -1329,88 +1469,82 @@ msgid "" "articles." msgstr "" -#: templates/helpdesk/kb_item.html:15 +#: templates/helpdesk/kb_item.html:18 msgid "Feedback" msgstr "" -#: templates/helpdesk/kb_item.html:17 +#: templates/helpdesk/kb_item.html:20 msgid "" "We give our users an opportunity to vote for items that they believe have " "helped them out, in order for us to better serve future customers. We would " "appreciate your feedback on this article. Did you find it useful?" msgstr "" -#: templates/helpdesk/kb_item.html:20 +#: templates/helpdesk/kb_item.html:23 msgid "This article was useful to me" msgstr "" -#: templates/helpdesk/kb_item.html:21 +#: templates/helpdesk/kb_item.html:24 msgid "This article was not useful to me" msgstr "" -#: templates/helpdesk/kb_item.html:24 +#: templates/helpdesk/kb_item.html:27 msgid "The results of voting by other readers of this article are below:" msgstr "" -#: templates/helpdesk/kb_item.html:27 +#: templates/helpdesk/kb_item.html:30 #, python-format msgid "Recommendations: %(recommendations)s" msgstr "" -#: templates/helpdesk/kb_item.html:28 +#: templates/helpdesk/kb_item.html:31 #, python-format msgid "Votes: %(votes)s" msgstr "" -#: templates/helpdesk/kb_item.html:29 +#: templates/helpdesk/kb_item.html:32 #, python-format msgid "Overall Rating: %(score)s" msgstr "" -#: templates/helpdesk/navigation.html:4 +#: templates/helpdesk/navigation.html:16 templates/helpdesk/navigation.html:64 msgid "Dashboard" msgstr "" -#: templates/helpdesk/navigation.html:5 -#: templates/helpdesk/ticket_list.html:198 -msgid "Tickets" -msgstr "" - -#: templates/helpdesk/navigation.html:6 +#: templates/helpdesk/navigation.html:18 msgid "New Ticket" msgstr "" -#: templates/helpdesk/navigation.html:8 +#: templates/helpdesk/navigation.html:19 msgid "Stats" msgstr "" -#: templates/helpdesk/navigation.html:14 -#: templates/helpdesk/ticket_list.html:46 -msgid "Load Saved Query" +#: templates/helpdesk/navigation.html:24 +msgid "Saved Query" msgstr "" -#: templates/helpdesk/navigation.html:25 templates/helpdesk/navigation.html:35 -msgid "Logout" +#: templates/helpdesk/navigation.html:39 +msgid "Change password" msgstr "" -#: templates/helpdesk/navigation.html:26 +#: templates/helpdesk/navigation.html:50 msgid "Search..." msgstr "" -#: templates/helpdesk/navigation.html:26 +#: templates/helpdesk/navigation.html:50 msgid "Enter a keyword, or a ticket number to jump straight to that ticket." msgstr "" -#: templates/helpdesk/navigation.html:31 -msgid "Submit A Ticket" +#: templates/helpdesk/navigation.html:73 +msgid "Logout" msgstr "" -#: templates/helpdesk/navigation.html:35 +#: templates/helpdesk/navigation.html:73 msgid "Log In" msgstr "" #: templates/helpdesk/public_change_language.html:2 -#: templates/helpdesk/public_homepage.html:21 +#: templates/helpdesk/public_homepage.html:73 #: templates/helpdesk/public_view_form.html:4 #: templates/helpdesk/public_view_ticket.html:2 msgid "View a Ticket" @@ -1424,74 +1558,81 @@ msgstr "" msgid "Knowledgebase Articles" msgstr "" -#: templates/helpdesk/public_homepage.html:29 +#: templates/helpdesk/public_homepage.html:28 +msgid "All fields are required." +msgstr "" + +#: templates/helpdesk/public_homepage.html:66 +msgid "Please use button at upper right to login first." +msgstr "" + +#: templates/helpdesk/public_homepage.html:82 #: templates/helpdesk/public_view_form.html:15 msgid "Your E-mail Address" msgstr "" -#: templates/helpdesk/public_homepage.html:33 +#: templates/helpdesk/public_homepage.html:86 #: templates/helpdesk/public_view_form.html:19 msgid "View Ticket" msgstr "" -#: templates/helpdesk/public_homepage.html:39 -msgid "Submit a Ticket" -msgstr "" - -#: templates/helpdesk/public_homepage.html:41 -msgid "" -"All fields are required. Please provide as descriptive a title and " -"description as possible." -msgstr "" - -#: templates/helpdesk/public_homepage.html:67 -msgid "Please use button at upper right to login first." -msgstr "" - #: templates/helpdesk/public_spam.html:4 msgid "Unable To Open Ticket" msgstr "" +#: templates/helpdesk/public_spam.html:5 +msgid "Sorry, but there has been an error trying to submit your ticket." +msgstr "" + #: templates/helpdesk/public_spam.html:6 msgid "" -"

Sorry, but there has been an error trying to submit your ticket.

\n" -"\n" -"

Our system has marked your submission as spam, so we are unable to save it. If this is not spam, please press back and re-type your message. Be careful to avoid sounding 'spammy', and if you have heaps of links please try removing them if possible.

\n" -"\n" -"

We are sorry for any inconvenience, however this check is required to avoid our helpdesk resources being overloaded by spammers.

\n" +"Our system has marked your submission as spam, so we are " +"unable to save it. If this is not spam, please press back and re-type your " +"message. Be careful to avoid sounding 'spammy', and if you have heaps of " +"links please try removing them if possible." +msgstr "" + +#: templates/helpdesk/public_spam.html:7 +msgid "" +"We are sorry for any inconvenience, however this check is required to avoid " +"our helpdesk resources being overloaded by spammers." msgstr "" #: templates/helpdesk/public_view_form.html:8 msgid "Error:" msgstr "" -#: templates/helpdesk/public_view_ticket.html:8 +#: templates/helpdesk/public_view_ticket.html:9 #, python-format msgid "Queue: %(queue_name)s" msgstr "" -#: templates/helpdesk/public_view_ticket.html:11 -#: templates/helpdesk/ticket_desc_table.html:16 +#: templates/helpdesk/public_view_ticket.html:13 +#: templates/helpdesk/ticket_desc_table.html:32 msgid "Submitted On" msgstr "" -#: templates/helpdesk/public_view_ticket.html:46 -#: templates/helpdesk/ticket_desc_table.html:74 +#: templates/helpdesk/public_view_ticket.html:35 +msgid "Tags" +msgstr "Tagger" + +#: templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 msgid "Accept" msgstr "" -#: templates/helpdesk/public_view_ticket.html:46 -#: templates/helpdesk/ticket_desc_table.html:74 +#: templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 msgid "Accept and Close" msgstr "" -#: templates/helpdesk/public_view_ticket.html:55 -#: templates/helpdesk/ticket.html:64 +#: templates/helpdesk/public_view_ticket.html:57 +#: templates/helpdesk/ticket.html:66 msgid "Follow-Ups" msgstr "" -#: templates/helpdesk/public_view_ticket.html:63 -#: templates/helpdesk/ticket.html:92 +#: templates/helpdesk/public_view_ticket.html:65 +#: templates/helpdesk/ticket.html:100 #, python-format msgid "Changed %(field)s from %(old_value)s to %(new_value)s." msgstr "" @@ -1534,6 +1675,10 @@ msgstr "" msgid "Reports By Queue" msgstr "" +#: templates/helpdesk/report_index.html:27 views/staff.py:1049 +msgid "Days until ticket closed by Month" +msgstr "" + #: templates/helpdesk/report_output.html:19 msgid "" "You can run this query on filtered data by using one of your saved queries." @@ -1591,15 +1736,15 @@ msgid "" "new tickets coming into that queue." msgstr "" -#: templates/helpdesk/rss_list.html:22 +#: templates/helpdesk/rss_list.html:23 msgid "Per-Queue Feeds" msgstr "" -#: templates/helpdesk/rss_list.html:23 +#: templates/helpdesk/rss_list.html:24 msgid "All Open Tickets" msgstr "" -#: templates/helpdesk/rss_list.html:27 +#: templates/helpdesk/rss_list.html:30 msgid "Open Tickets" msgstr "" @@ -1607,12 +1752,8 @@ msgstr "" msgid "Change System Settings" msgstr "" -#: templates/helpdesk/system_settings.html:5 -msgid "" -"\n" -"

System Settings

\n" -"\n" -"

The following items can be maintained by you or other superusers:

" +#: templates/helpdesk/system_settings.html:8 +msgid "The following items can be maintained by you or other superusers:" msgstr "" #: templates/helpdesk/system_settings.html:11 @@ -1651,77 +1792,81 @@ msgstr "" msgid "Attach another File" msgstr "" -#: templates/helpdesk/ticket.html:34 templates/helpdesk/ticket.html.py:197 +#: templates/helpdesk/ticket.html:34 templates/helpdesk/ticket.html.py:200 msgid "Add Another File" msgstr "" -#: templates/helpdesk/ticket.html:71 templates/helpdesk/ticket.html.py:81 +#: templates/helpdesk/ticket.html:73 templates/helpdesk/ticket.html.py:86 msgid "Private" msgstr "" -#: templates/helpdesk/ticket.html:111 +#: templates/helpdesk/ticket.html:119 msgid "Respond to this ticket" msgstr "" -#: templates/helpdesk/ticket.html:118 +#: templates/helpdesk/ticket.html:126 msgid "Use a Pre-set Reply" msgstr "" -#: templates/helpdesk/ticket.html:120 +#: templates/helpdesk/ticket.html:126 templates/helpdesk/ticket.html.py:166 +msgid "(Optional)" +msgstr "" + +#: templates/helpdesk/ticket.html:128 msgid "" "Selecting a pre-set reply will over-write your comment below. You can then " "modify the pre-set reply to your liking before saving this update." msgstr "" -#: templates/helpdesk/ticket.html:123 +#: templates/helpdesk/ticket.html:131 msgid "Comment / Resolution" msgstr "" -#: templates/helpdesk/ticket.html:125 +#: templates/helpdesk/ticket.html:133 msgid "" "You can insert ticket and queue details in your message. For more " "information, see the context help page." msgstr "" -#: templates/helpdesk/ticket.html:128 +#: templates/helpdesk/ticket.html:136 msgid "" "This ticket cannot be resolved or closed until the tickets it depends on are" " resolved." msgstr "" -#: templates/helpdesk/ticket.html:158 +#: templates/helpdesk/ticket.html:166 msgid "Is this update public?" msgstr "" -#: templates/helpdesk/ticket.html:160 +#: templates/helpdesk/ticket.html:168 msgid "" "If this is public, the submitter will be e-mailed your comment or " "resolution." msgstr "" -#: templates/helpdesk/ticket.html:164 +#: templates/helpdesk/ticket.html:172 msgid "Change Further Details »" msgstr "" -#: templates/helpdesk/ticket.html:173 templates/helpdesk/ticket_list.html:55 -#: templates/helpdesk/ticket_list.html:87 -#: templates/helpdesk/ticket_list.html:199 +#: templates/helpdesk/ticket.html:181 templates/helpdesk/ticket_list.html:68 +#: templates/helpdesk/ticket_list.html:97 +#: templates/helpdesk/ticket_list.html:225 msgid "Owner" msgstr "" -#: templates/helpdesk/ticket.html:174 +#: templates/helpdesk/ticket.html:182 msgid "Unassign" msgstr "" -#: templates/helpdesk/ticket.html:190 +#: templates/helpdesk/ticket.html:193 msgid "Attach File(s) »" msgstr "" -#: templates/helpdesk/ticket.html:196 +#: templates/helpdesk/ticket.html:199 msgid "Attach a File" msgstr "" -#: templates/helpdesk/ticket.html:204 +#: templates/helpdesk/ticket.html:207 msgid "Update This Ticket" msgstr "" @@ -1824,263 +1969,256 @@ msgid "" "

Are you sure you wish to remove the dependency on this ticket?

\n" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:11 +#: templates/helpdesk/ticket_desc_table.html:7 msgid "Unhold" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:11 +#: templates/helpdesk/ticket_desc_table.html:7 msgid "Hold" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:13 +#: templates/helpdesk/ticket_desc_table.html:9 #, python-format msgid "Queue: %(queue)s" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:21 +#: templates/helpdesk/ticket_desc_table.html:37 msgid "Assigned To" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:27 +#: templates/helpdesk/ticket_desc_table.html:43 msgid "Ignore" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:36 +#: templates/helpdesk/ticket_desc_table.html:52 msgid "Copies To" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:37 +#: templates/helpdesk/ticket_desc_table.html:53 msgid "Manage" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:37 +#: templates/helpdesk/ticket_desc_table.html:53 msgid "" "Click here to add / remove people who should receive an e-mail whenever this" " ticket is updated." msgstr "" -#: templates/helpdesk/ticket_desc_table.html:48 +#: templates/helpdesk/ticket_desc_table.html:53 +msgid "Subscribe" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:53 +msgid "" +"Click here to subscribe yourself to this ticket, if you want to receive an " +"e-mail whenever this ticket is updated." +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:57 msgid "Dependencies" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:50 +#: templates/helpdesk/ticket_desc_table.html:59 msgid "" "This ticket cannot be resolved until the following ticket(s) are resolved" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:51 +#: templates/helpdesk/ticket_desc_table.html:60 msgid "Remove Dependency" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:54 +#: templates/helpdesk/ticket_desc_table.html:63 msgid "This ticket has no dependencies." msgstr "" -#: templates/helpdesk/ticket_desc_table.html:56 +#: templates/helpdesk/ticket_desc_table.html:65 msgid "Add Dependency" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:56 +#: templates/helpdesk/ticket_desc_table.html:65 msgid "" "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." msgstr "" -#: templates/helpdesk/ticket_list.html:2 -msgid "Ticket Listing" -msgstr "" - -#: templates/helpdesk/ticket_list.html:41 -msgid "Query Options" -msgstr "" - -#: templates/helpdesk/ticket_list.html:43 -msgid "Save This Query" -msgstr "" - -#: templates/helpdesk/ticket_list.html:51 +#: templates/helpdesk/ticket_list.html:59 msgid "Change Query" msgstr "" -#: templates/helpdesk/ticket_list.html:54 -#: templates/helpdesk/ticket_list.html:69 +#: templates/helpdesk/ticket_list.html:67 +#: templates/helpdesk/ticket_list.html:79 msgid "Sorting" msgstr "" -#: templates/helpdesk/ticket_list.html:58 -#: templates/helpdesk/ticket_list.html:137 +#: templates/helpdesk/ticket_list.html:71 +#: templates/helpdesk/ticket_list.html:139 msgid "Keywords" msgstr "" -#: templates/helpdesk/ticket_list.html:59 +#: templates/helpdesk/ticket_list.html:72 msgid "Date Range" msgstr "" -#: templates/helpdesk/ticket_list.html:90 +#: templates/helpdesk/ticket_list.html:100 msgid "Reverse" msgstr "" -#: templates/helpdesk/ticket_list.html:92 +#: templates/helpdesk/ticket_list.html:102 msgid "Ordering applied to tickets" msgstr "" -#: templates/helpdesk/ticket_list.html:97 +#: templates/helpdesk/ticket_list.html:107 msgid "Owner(s)" msgstr "" -#: templates/helpdesk/ticket_list.html:101 +#: templates/helpdesk/ticket_list.html:111 msgid "(ME)" msgstr "" -#: templates/helpdesk/ticket_list.html:105 +#: templates/helpdesk/ticket_list.html:115 msgid "Ctrl-Click to select multiple options" msgstr "" -#: templates/helpdesk/ticket_list.html:110 +#: templates/helpdesk/ticket_list.html:120 msgid "Queue(s)" msgstr "" -#: templates/helpdesk/ticket_list.html:111 -#: templates/helpdesk/ticket_list.html:117 -#: templates/helpdesk/ticket_list.html:131 +#: templates/helpdesk/ticket_list.html:121 +#: templates/helpdesk/ticket_list.html:127 msgid "Ctrl-click to select multiple options" msgstr "" -#: templates/helpdesk/ticket_list.html:116 +#: templates/helpdesk/ticket_list.html:126 msgid "Status(es)" msgstr "" -#: templates/helpdesk/ticket_list.html:122 +#: templates/helpdesk/ticket_list.html:132 msgid "Date (From)" msgstr "" -#: templates/helpdesk/ticket_list.html:123 +#: templates/helpdesk/ticket_list.html:133 msgid "Date (To)" msgstr "" -#: templates/helpdesk/ticket_list.html:124 +#: templates/helpdesk/ticket_list.html:134 msgid "Use YYYY-MM-DD date format, eg 2011-05-29" msgstr "" -#: templates/helpdesk/ticket_list.html:130 -msgid "Tag(s)" -msgstr "" - -#: templates/helpdesk/ticket_list.html:138 +#: templates/helpdesk/ticket_list.html:140 msgid "" "Keywords are case-insensitive, and will be looked for in the title, body and" " submitter fields." msgstr "" -#: templates/helpdesk/ticket_list.html:142 +#: templates/helpdesk/ticket_list.html:144 msgid "Apply Filter" msgstr "" -#: templates/helpdesk/ticket_list.html:144 +#: templates/helpdesk/ticket_list.html:146 #, python-format -msgid "You are currently viewing saved query %(query_name)s." +msgid "You are currently viewing saved query \"%(query_name)s\"." msgstr "" -#: templates/helpdesk/ticket_list.html:147 +#: templates/helpdesk/ticket_list.html:149 #, python-format msgid "" "Run a report on this " "query to see stats and charts for the data listed below." msgstr "" -#: templates/helpdesk/ticket_list.html:154 -#: templates/helpdesk/ticket_list.html:169 +#: templates/helpdesk/ticket_list.html:162 +#: templates/helpdesk/ticket_list.html:181 msgid "Save Query" msgstr "" -#: templates/helpdesk/ticket_list.html:160 +#: templates/helpdesk/ticket_list.html:172 msgid "" "This name appears in the drop-down list of saved queries. If you share your " "query, other users will see this name, so choose something clear and " "descriptive!" msgstr "" -#: templates/helpdesk/ticket_list.html:162 +#: templates/helpdesk/ticket_list.html:174 msgid "Shared?" msgstr "" -#: templates/helpdesk/ticket_list.html:163 +#: templates/helpdesk/ticket_list.html:175 msgid "Yes, share this query with other users." msgstr "" -#: templates/helpdesk/ticket_list.html:164 +#: templates/helpdesk/ticket_list.html:176 msgid "" "If you share this query, it will be visible by all other logged-in " "users." msgstr "" -#: templates/helpdesk/ticket_list.html:176 +#: templates/helpdesk/ticket_list.html:195 msgid "Use Saved Query" msgstr "" -#: templates/helpdesk/ticket_list.html:178 +#: templates/helpdesk/ticket_list.html:202 msgid "Query" msgstr "" -#: templates/helpdesk/ticket_list.html:183 +#: templates/helpdesk/ticket_list.html:207 msgid "Run Query" msgstr "" -#: templates/helpdesk/ticket_list.html:213 +#: templates/helpdesk/ticket_list.html:240 msgid "No Tickets Match Your Selection" msgstr "" -#: templates/helpdesk/ticket_list.html:219 +#: templates/helpdesk/ticket_list.html:247 msgid "Previous" msgstr "" -#: templates/helpdesk/ticket_list.html:223 +#: templates/helpdesk/ticket_list.html:251 #, python-format msgid "Page %(ticket_num)s of %(num_pages)s." msgstr "" -#: templates/helpdesk/ticket_list.html:227 +#: templates/helpdesk/ticket_list.html:255 msgid "Next" msgstr "" -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "Select:" msgstr "" -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "None" msgstr "" -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "Inverse" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "With Selected Tickets:" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Take (Assign to me)" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Close" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Close (Don't Send E-Mail)" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Close (Send E-Mail)" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Assign To" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Nobody (Unassign)" msgstr "" @@ -2088,15 +2226,13 @@ msgstr "" msgid "Change User Settings" msgstr "" -#: templates/helpdesk/user_settings.html:14 +#: templates/helpdesk/user_settings.html:8 msgid "" -"\n" -"

User Settings

\n" -"\n" -"

Use the following options to change the way your helpdesk system works for you. These settings do not impact any other user.

\n" +"Use the following options to change the way your helpdesk system works for " +"you. These settings do not impact any other user." msgstr "" -#: templates/helpdesk/user_settings.html:29 +#: templates/helpdesk/user_settings.html:14 msgid "Save Options" msgstr "" @@ -2117,116 +2253,101 @@ msgstr "" msgid "Helpdesk Login" msgstr "" -#: templates/helpdesk/registration/login.html:9 -#: templates/helpdesk/registration/login.html:21 -msgid "Login" -msgstr "" - -#: templates/helpdesk/registration/login.html:11 -msgid "" -"To log in and begin responding to cases, simply enter your username and " -"password below." -msgstr "" - #: templates/helpdesk/registration/login.html:14 +msgid "To log in simply enter your username and password below." +msgstr "" + +#: templates/helpdesk/registration/login.html:17 msgid "Your username and password didn't match. Please try again." msgstr "" -#: templates/helpdesk/registration/login.html:16 -msgid "Username" +#: templates/helpdesk/registration/login.html:20 +msgid "Login" msgstr "" -#: templates/helpdesk/registration/login.html:18 -msgid "Password" -msgstr "" - -#: views/feeds.py:35 +#: views/feeds.py:39 #, python-format msgid "Helpdesk: Open Tickets in queue %(queue)s for %(username)s" msgstr "" -#: views/feeds.py:40 +#: views/feeds.py:44 #, python-format msgid "Helpdesk: Open Tickets for %(username)s" msgstr "" -#: views/feeds.py:46 +#: views/feeds.py:50 #, python-format msgid "Open and Reopened Tickets in queue %(queue)s for %(username)s" msgstr "" -#: views/feeds.py:51 +#: views/feeds.py:55 #, python-format msgid "Open and Reopened Tickets for %(username)s" msgstr "" -#: views/feeds.py:98 +#: views/feeds.py:102 msgid "Helpdesk: Unassigned Tickets" msgstr "" -#: views/feeds.py:99 +#: views/feeds.py:103 msgid "Unassigned Open and Reopened tickets" msgstr "" -#: views/feeds.py:124 +#: views/feeds.py:128 msgid "Helpdesk: Recent Followups" msgstr "" -#: views/feeds.py:125 +#: views/feeds.py:129 msgid "" "Recent FollowUps, such as e-mail replies, comments, attachments and " "resolutions" msgstr "" -#: views/feeds.py:140 +#: views/feeds.py:144 #, python-format msgid "Helpdesk: Open Tickets in queue %(queue)s" msgstr "" -#: views/feeds.py:145 +#: views/feeds.py:149 #, python-format msgid "Open and Reopened Tickets in queue %(queue)s" msgstr "" -#: views/public.py:91 +#: views/public.py:89 msgid "Invalid ticket ID or e-mail address. Please try again." msgstr "" -#: views/public.py:109 +#: views/public.py:107 msgid "Submitter accepted resolution and closed ticket" msgstr "" -#: views/staff.py:218 +#: views/staff.py:235 msgid "Accepted resolution and closed ticket" msgstr "" -#: views/staff.py:246 -msgid "Sorry, you need to login to do that." -msgstr "" - -#: views/staff.py:295 +#: views/staff.py:369 #, python-format msgid "Assigned to %(username)s" msgstr "" -#: views/staff.py:318 +#: views/staff.py:392 msgid "Updated" msgstr "" -#: views/staff.py:496 +#: views/staff.py:577 #, python-format msgid "Assigned to %(username)s in bulk update" msgstr "" -#: views/staff.py:501 +#: views/staff.py:582 msgid "Unassigned in bulk update" msgstr "" -#: views/staff.py:506 views/staff.py:511 +#: views/staff.py:587 views/staff.py:592 msgid "Closed in bulk update" msgstr "" -#: views/staff.py:732 +#: views/staff.py:806 msgid "" "

Note: Your keyword search is case sensitive because of " "your database. This means the search will not be accurate. " @@ -2236,86 +2357,38 @@ msgid "" "matching\">Django Documentation on string matching in SQLite." msgstr "" -#: views/staff.py:843 +#: views/staff.py:910 msgid "Ticket taken off hold" msgstr "" -#: views/staff.py:846 +#: views/staff.py:913 msgid "Ticket placed on hold" msgstr "" -#: views/staff.py:914 -msgid "Jan" -msgstr "" - -#: views/staff.py:915 -msgid "Feb" -msgstr "" - -#: views/staff.py:916 -msgid "Mar" -msgstr "" - -#: views/staff.py:917 -msgid "Apr" -msgstr "" - -#: views/staff.py:918 -msgid "May" -msgstr "" - -#: views/staff.py:919 -msgid "Jun" -msgstr "" - -#: views/staff.py:920 -msgid "Jul" -msgstr "" - -#: views/staff.py:921 -msgid "Aug" -msgstr "" - -#: views/staff.py:922 -msgid "Sep" -msgstr "" - -#: views/staff.py:923 -msgid "Oct" -msgstr "" - -#: views/staff.py:924 -msgid "Nov" -msgstr "" - -#: views/staff.py:925 -msgid "Dec" -msgstr "" - -#: views/staff.py:951 +#: views/staff.py:1007 msgid "User by Priority" msgstr "" -#: views/staff.py:957 +#: views/staff.py:1013 msgid "User by Queue" msgstr "" -#: views/staff.py:963 +#: views/staff.py:1019 msgid "User by Status" msgstr "" -#: views/staff.py:969 +#: views/staff.py:1025 msgid "User by Month" msgstr "" -#: views/staff.py:975 +#: views/staff.py:1031 msgid "Queue by Priority" msgstr "" -#: views/staff.py:981 +#: views/staff.py:1037 msgid "Queue by Status" msgstr "" -#: views/staff.py:987 +#: views/staff.py:1043 msgid "Queue by Month" msgstr "" diff --git a/helpdesk/locale/pl/LC_MESSAGES/django.mo b/helpdesk/locale/pl/LC_MESSAGES/django.mo index d4e31102..78403741 100644 Binary files a/helpdesk/locale/pl/LC_MESSAGES/django.mo and b/helpdesk/locale/pl/LC_MESSAGES/django.mo differ diff --git a/helpdesk/locale/pl/LC_MESSAGES/django.po b/helpdesk/locale/pl/LC_MESSAGES/django.po index c15e5189..0a45c20f 100644 --- a/helpdesk/locale/pl/LC_MESSAGES/django.po +++ b/helpdesk/locale/pl/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ # django-helpdesk English language translation # Copyright (C) 2011 Ross Poulton # This file is distributed under the same license as the django-helpdesk package. -# +# # Translators: -# mpasternak , 2011 +# Michał Pasternak , 2011 # Ross Poulton , 2011 # Tomasz Sanecki , 2012 msgid "" @@ -1052,10 +1052,8 @@ msgid "" msgstr "\n

Usuń zapytanie

\n\n

Czy rzeczywiście chcesz usunąć zapisany filtr (%(query_title)s)? Aby go ponownie utworzyć, musisz ponownie ręcznie przefiltrować listę zgłoszeń.

\n" #: templates/helpdesk/confirm_delete_saved_query.html:11 -msgid "" -"\n" -"

You have shared this query, so other users may be using it. If you delete it, they will have to manually create their own query.

\n" -msgstr "\n

Udostępniłeś to zapytanie więc inni użytkownicy mogą go używać. Jeśli je usuniesz, będą musieli sami odtworzyć to zapytanie.

\n" +msgid "You have shared this query, so other users may be using it. If you delete it, they will have to manually create their own query." +msgstr "Udostępniłeś to zapytanie więc inni użytkownicy mogą go używać. Jeśli je usuniesz, będą musieli sami odtworzyć to zapytanie." #: templates/helpdesk/confirm_delete_saved_query.html:15 #: templates/helpdesk/delete_ticket.html:11 @@ -1071,12 +1069,18 @@ msgstr "Tak, usuń to" msgid "Create Ticket" msgstr "Utwórz zgłoszenie" -#: templates/helpdesk/create_ticket.html:6 -msgid "" -"

Submit a Ticket

\n" -"\n" -"

Unless otherwise stated, all fields are required. Please provide as descriptive a title and description as possible.

" -msgstr "

Utwórz zgłoszenie

\n\n

Jeżeli nie zaznaczono inaczej, wszystkie pola są wymagane. Postaraj się aby tytuł i opis dostarczały jak najwięcej informacji.

" +#: templates/helpdesk/create_ticket.html:10 +#: templates/helpdesk/public_homepage.html:39 +msgid "Submit a Ticket" +msgstr "Utwórz zgłoszenie" + +#: templates/helpdesk/create_ticket.html:11 +msgid "Unless otherwise stated, all fields are required." +msgstr "Jeżeli nie zaznaczono inaczej, wszystkie pola są wymagane." + +#: templates/helpdesk/create_ticket.html:11 +msgid "Please provide as descriptive a title and description as possible." +msgstr "Postaraj się aby tytuł i opis dostarczały jak najwięcej informacji." #: templates/helpdesk/create_ticket.html:17 #: templates/helpdesk/edit_ticket.html:19 @@ -1164,27 +1168,26 @@ msgstr "Zamknięte i rozwiązane zgłoszenia nad którymi pracowałeś" msgid "Delete Ticket" msgstr "Usuń zgłoszenie" -#: templates/helpdesk/delete_ticket.html:5 +#: templates/helpdesk/delete_ticket.html:8 #, python-format -msgid "" -"\n" -"

Delete Ticket

\n" -"\n" -"

Are you sure you want to delete this ticket (%(ticket_title)s)? All traces of the ticket, including followups, attachments, and updates will be irreversably removed.

\n" -msgstr "\n

Usuń zgłoszenie

\n\n

Czy rzeczywiście chcesz usunąć zgłoszenie (%(ticket_title)s)? Wszelkie ślady po tym zgłoszeniu, wliczając kontynuacje, załączniki i aktualizacje, będą bezpowrotnie usunięte

\n" +msgid "Are you sure you want to delete this ticket (%(ticket_title)s)? All traces of the ticket, including followups, attachments, and updates will be irreversibly removed." +msgstr "Czy rzeczywiście chcesz usunąć zgłoszenie (%(ticket_title)s)? Wszelkie ślady po tym zgłoszeniu, wliczając kontynuacje, załączniki i aktualizacje, będą bezpowrotnie usunięte" #: templates/helpdesk/edit_ticket.html:3 msgid "Edit Ticket" msgstr "Edytuj zgłoszenie" #: templates/helpdesk/edit_ticket.html:6 -msgid "" -"

Edit a Ticket

\n" -"\n" -"

Unless otherwise stated, all fields are required. Please provide as descriptive a title and description as possible.

\n" -"\n" -"

Note: Editing a ticket does not send an e-mail to the ticket owner or submitter. No new details should be entered, this form should only be used to fix incorrect details or clean up the submission.

" -msgstr "

Edytuj zgłoszenie

\n\n

Jeżeli nie zaznaczono inaczej, wszystkie pola są wymagane. Postaraj się aby tytuł i opis zawierały możliwie jak najwięcej informacji.

\n\n

Uwaga: Edycja zgłoszenia nie powoduje wysłania e-maila do właściciela lub zgłaszającego. Nie podawaj żadnych nowych szczegółów - formularz ten służy jedynie do poprawki detali i oczyszczania zgłoszenia.

" +msgid "Edit a Ticket" +msgstr "Edytuj zgłoszenie" + +#: templates/helpdesk/edit_ticket.html:6 +msgid "Note" +msgstr "Uwaga" + +#: templates/helpdesk/edit_ticket.html:6 +msgid "Editing a ticket does not send an e-mail to the ticket owner or submitter. No new details should be entered, this form should only be used to fix incorrect details or clean up the submission." +msgstr "Edycja zgłoszenia nie powoduje wysłania e-maila do właściciela lub zgłaszającego. Nie podawaj żadnych nowych szczegółów - formularz ten służy jedynie do poprawki detali i oczyszczania zgłoszenia." #: templates/helpdesk/edit_ticket.html:28 msgid "Save Changes" @@ -1436,14 +1439,8 @@ msgstr "Twój adres e-mail" msgid "View Ticket" msgstr "Wyświetl zgłoszenie" -#: templates/helpdesk/public_homepage.html:39 -msgid "Submit a Ticket" -msgstr "Utwórz zgłoszenie" - #: templates/helpdesk/public_homepage.html:41 -msgid "" -"All fields are required. Please provide as descriptive a title and " -"description as possible." +msgid "All fields are required." msgstr "" #: templates/helpdesk/public_homepage.html:67 @@ -1609,13 +1606,8 @@ msgstr "Otwarte zgłoszenia" msgid "Change System Settings" msgstr "Zmień ustawienia systemu" -#: templates/helpdesk/system_settings.html:5 -msgid "" -"\n" -"

System Settings

\n" -"\n" -"

The following items can be maintained by you or other superusers:

" -msgstr "\n

Ustawienia systemu

\n\n

Poniższe pozycje mogą być zarządzane przez ciebie oraz innych uprawnionych użytkowników:

" +msgid "The following items can be maintained by you or other superusers:" +msgstr "Poniższe pozycje mogą być zarządzane przez ciebie oraz innych uprawnionych użytkowników:" #: templates/helpdesk/system_settings.html:11 msgid "E-Mail Ignore list" diff --git a/helpdesk/locale/pt_BR/LC_MESSAGES/django.mo b/helpdesk/locale/pt_BR/LC_MESSAGES/django.mo index 8c4155ad..996a50ac 100644 Binary files a/helpdesk/locale/pt_BR/LC_MESSAGES/django.mo and b/helpdesk/locale/pt_BR/LC_MESSAGES/django.mo differ diff --git a/helpdesk/locale/pt_BR/LC_MESSAGES/django.po b/helpdesk/locale/pt_BR/LC_MESSAGES/django.po index cf76693b..8e47ffe4 100644 --- a/helpdesk/locale/pt_BR/LC_MESSAGES/django.po +++ b/helpdesk/locale/pt_BR/LC_MESSAGES/django.po @@ -1,21 +1,21 @@ # django-helpdesk English language translation # Copyright (C) 2011 Ross Poulton # This file is distributed under the same license as the django-helpdesk package. -# +# # Translators: -# alemp , 2013 -# macaba , 2013 +# Alessandro Pinto , 2013 +# Daniel de Abreu Mendes , 2013 # Gabriel Galiaso , 2012-2013 # Gabriel Galiaso , 2011 -# rafaelcapucho , 2013 +# Rafael Capucho , 2013 # Ross Poulton , 2011 msgid "" msgstr "" "Project-Id-Version: django-helpdesk\n" "Report-Msgid-Bugs-To: http://github.com/RossP/django-helpdesk/issues\n" "POT-Creation-Date: 2012-08-07 20:40+1000\n" -"PO-Revision-Date: 2013-08-22 02:49+0000\n" -"Last-Translator: alemp \n" +"PO-Revision-Date: 2013-11-20 11:07+0000\n" +"Last-Translator: Alessandro Pinto \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/django-helpdesk/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1055,10 +1055,8 @@ msgid "" msgstr "\n⏎

Apagar Consulta

⏎ ⏎

Você tem certeza que quer apagar este filtro salvo (%(query_title)s)? Para recria-lo, você precisará refiltrar manualmente a sua lista de ticket.

⏎\n" #: templates/helpdesk/confirm_delete_saved_query.html:11 -msgid "" -"\n" -"

You have shared this query, so other users may be using it. If you delete it, they will have to manually create their own query.

\n" -msgstr "\n⏎

Você compartilhou esta consulta para que outros usuários possam usar. Se você apaga-la, eles terão que criar manualmente sua própria consulta.

⏎\n" +msgid "You have shared this query, so other users may be using it. If you delete it, they will have to manually create their own query." +msgstr "Você compartilhou esta consulta para que outros usuários possam usar. Se você apaga-la, eles terão que criar manualmente sua própria consulta." #: templates/helpdesk/confirm_delete_saved_query.html:15 #: templates/helpdesk/delete_ticket.html:11 @@ -1074,12 +1072,18 @@ msgstr "Sim - Delete Isso" msgid "Create Ticket" msgstr "Criar Ticket" -#: templates/helpdesk/create_ticket.html:6 -msgid "" -"

Submit a Ticket

\n" -"\n" -"

Unless otherwise stated, all fields are required. Please provide as descriptive a title and description as possible.

" -msgstr "

Enviar Ticket

⏎ ⏎

Todos os campos são obrigatórios, até aviso contrário. Por favor, descreva tudo o que for possível nos campos de título e descrição.

" +#: templates/helpdesk/create_ticket.html:10 +#: templates/helpdesk/public_homepage.html:39 +msgid "Submit a Ticket" +msgstr "Enviar Ticket" + +#: templates/helpdesk/create_ticket.html:11 +msgid "Unless otherwise stated, all fields are required." +msgstr "Todos os campos são obrigatórios, até aviso contrário." + +#: templates/helpdesk/create_ticket.html:11 +msgid "Please provide as descriptive a title and description as possible." +msgstr "Por favor, descreva tudo o que for possível nos campos de título e descrição." #: templates/helpdesk/create_ticket.html:17 #: templates/helpdesk/edit_ticket.html:19 @@ -1164,30 +1168,30 @@ msgid "Closed & resolved Tickets you used to work on" msgstr "Tickets Fechados & Resolvidos por você" #: templates/helpdesk/delete_ticket.html:3 +#: templates/helpdesk/delete_ticket.html:6 msgid "Delete Ticket" msgstr "Deletar Ticket" -#: templates/helpdesk/delete_ticket.html:5 +#: templates/helpdesk/delete_ticket.html:8 #, python-format -msgid "" -"\n" -"

Delete Ticket

\n" -"\n" -"

Are you sure you want to delete this ticket (%(ticket_title)s)? All traces of the ticket, including followups, attachments, and updates will be irreversably removed.

\n" -msgstr "\n

Apagar Ticket

\n\n

Tem certeza de que deseja excluir este bilhete (%(ticket_title)s)? Todos os históricos do ticket, incluindo follow-ups, anexos e atualizações serão irreversivelmente removidos.

\n" +msgid "Are you sure you want to delete this ticket (%(ticket_title)s)? All traces of the ticket, including followups, attachments, and updates will be irreversibly removed." +msgstr "Tem certeza de que deseja excluir este bilhete (%(ticket_title)s)? Todos os históricos do ticket, incluindo follow-ups, anexos e atualizações serão irreversivelmente removidos." #: templates/helpdesk/edit_ticket.html:3 msgid "Edit Ticket" msgstr "Editar Ticket" #: templates/helpdesk/edit_ticket.html:6 -msgid "" -"

Edit a Ticket

\n" -"\n" -"

Unless otherwise stated, all fields are required. Please provide as descriptive a title and description as possible.

\n" -"\n" -"

Note: Editing a ticket does not send an e-mail to the ticket owner or submitter. No new details should be entered, this form should only be used to fix incorrect details or clean up the submission.

" -msgstr "

Editar Ticket

\n\n

Salvo disposição em contrário, todos os campos são obrigatórios. Por favor, forneça o mais descritivo um título e uma descrição possível.

\n\n

Nota: Edição de um ticket não envia um e-mail para o dono do ticket ou solicitante. Novos detalhes devem ser inseridos, este formulário deve ser usado apenas para corrigir dados incorretos ou limpar a sua apresentação.

" +msgid "Edit a Ticket" +msgstr "Editar Ticket" + +#: templates/helpdesk/edit_ticket.html:6 +msgid "Note" +msgstr "Nota" + +#: templates/helpdesk/edit_ticket.html:6 +msgid "Editing a ticket does not send an e-mail to the ticket owner or submitter. No new details should be entered, this form should only be used to fix incorrect details or clean up the submission." +msgstr "Edição de um ticket não envia um e-mail para o dono do ticket ou solicitante. Novos detalhes devem ser inseridos, este formulário deve ser usado apenas para corrigir dados incorretos ou limpar a sua apresentação." #: templates/helpdesk/edit_ticket.html:28 msgid "Save Changes" @@ -1199,27 +1203,23 @@ msgid "Ignore E-Mail Address" msgstr "Ignorar Endereço de E-Mail" #: templates/helpdesk/email_ignore_add.html:5 -msgid "" -"\n" -"

Ignore E-Mail Address

\n" -"\n" -"

To ignore an e-mail address and prevent any emails from that address creating tickets automatically, enter the e-mail address below.

\n" -"\n" -"

You can either enter a whole e-mail address such as email@domain.com or a portion of an e-mail address with a wildcard, such as *@domain.com or user@*.

" -msgstr "\n

Ignorar E-Mail

\n\n

Para ignorar um endereço de e-mail e evitar e-mails daquele endereço criando bilhetes automaticamente, insira o endereço de e-mail abaixo.

\n\n

Você pode digitar um endereço de e-mail inteiro, como email@domain.com ou umpedaço de um e-mail com um curinga, como *@domain.com ou user@* .

" +msgid "To ignore an e-mail address and prevent any emails from that address creating tickets automatically, enter the e-mail address below." +msgstr "Para ignorar um endereço de e-mail e evitar e-mails daquele endereço criando bilhetes automaticamente, insira o endereço de e-mail abaixo." + +msgid "You can either enter a whole e-mail address such as email@domain.com or a portion of an e-mail address with a wildcard, such as *@domain.com or user@*." +msgstr "Você pode digitar um endereço de e-mail inteiro, como email@domain.com ou umpedaço de um e-mail com um curinga, como *@domain.com ou user@*." #: templates/helpdesk/email_ignore_del.html:3 msgid "Delete Ignored E-Mail Address" msgstr "Deletar Endereços de E-Mail Ignorados" #: templates/helpdesk/email_ignore_del.html:5 +msgid "Un-Ignore E-Mail Address" +msgstr "Voltar E-Mail" + #, python-format -msgid "" -"\n" -"

Un-Ignore E-Mail Address

\n" -"\n" -"

Are you sure you wish to stop removing this email address (%(email_address)s) and allow their e-mails to automatically create tickets in your system? You can re-add this e-mail address at any time.

\n" -msgstr "\n

Voltar E-Mail

\n\n

Tem certeza de que deseja parar de remover este endereço de e-mail (%(email_address)s) e permitir que seus e-mails criem automaticamente tickets em seu sistema? Você pode voltar a adicionar este endereço de e-mail a qualquer momento.

\n" +msgid "Are you sure you wish to stop removing this email address (%(email_address)s) and allow their e-mails to automatically create tickets in your system? You can re-add this e-mail address at any time." +msgstr "Tem certeza de que deseja parar de remover este endereço de e-mail (%(email_address)s) e permitir que seus e-mails criem automaticamente tickets em seu sistema? Você pode voltar a adicionar este endereço de e-mail a qualquer momento." #: templates/helpdesk/email_ignore_del.html:11 msgid "Keep Ignoring It" @@ -1439,15 +1439,9 @@ msgstr "Seu Endereço de E-Mail" msgid "View Ticket" msgstr "Ver Ticket" -#: templates/helpdesk/public_homepage.html:39 -msgid "Submit a Ticket" -msgstr "Enviar um Ticket" - #: templates/helpdesk/public_homepage.html:41 -msgid "" -"All fields are required. Please provide as descriptive a title and " -"description as possible." -msgstr "Todos os campos são obrigatórios. Por favor, providencie o mais detalhadamente possível as informações sobre Título e Descrição." +msgid "All fields are required." +msgstr "Todos os campos são obrigatórios." #: templates/helpdesk/public_homepage.html:67 msgid "Please use button at upper right to login first." @@ -1458,13 +1452,14 @@ msgid "Unable To Open Ticket" msgstr "Impossível Abrir o Ticket" #: templates/helpdesk/public_spam.html:6 -msgid "" -"

Sorry, but there has been an error trying to submit your ticket.

\n" -"\n" -"

Our system has marked your submission as spam, so we are unable to save it. If this is not spam, please press back and re-type your message. Be careful to avoid sounding 'spammy', and if you have heaps of links please try removing them if possible.

\n" -"\n" -"

We are sorry for any inconvenience, however this check is required to avoid our helpdesk resources being overloaded by spammers.

\n" -msgstr "

Desculpe, mas houve um erro ao tentar enviar o seu ticket.

\n\n

Nosso sistema tem marcado a sua apresentação como spam, de modo que não são capazes de salvá-lo. Se isso não é spam, por favor, pressione voltar e re-digite sua mensagem. Tenha cuidado para evitar 'spam'.

\n\n

Lamentamos por qualquer inconveniente, porém essa verificação é necessária para evitar que nossos recursos de suporte técnico esteja sendo sobrecarregado por spammers.

\n" +msgid "Sorry, but there has been an error trying to submit your ticket." +msgstr "Desculpe, mas houve um erro ao tentar enviar o seu ticket." + +msgid "Our system has marked your submission as spam, so we are unable to save it. If this is not spam, please press back and re-type your message. Be careful to avoid sounding 'spammy', and if you have heaps of links please try removing them if possible." +msgstr "Nosso sistema tem marcado a sua apresentação como spam, de modo que não são capazes de salvá-lo. Se isso não é spam, por favor, pressione voltar e re-digite sua mensagem. Tenha cuidado para evitar 'spam'." + +msgid "We are sorry for any inconvenience, however this check is required to avoid our helpdesk resources being overloaded by spammers." +msgstr "Lamentamos por qualquer inconveniente, porém essa verificação é necessária para evitar que nossos recursos de suporte técnico esteja sendo sobrecarregado por spammers." #: templates/helpdesk/public_view_form.html:8 msgid "Error:" @@ -1612,13 +1607,8 @@ msgstr "Tickets Abertos" msgid "Change System Settings" msgstr "Alterar Configuração do Sistema" -#: templates/helpdesk/system_settings.html:5 -msgid "" -"\n" -"

System Settings

\n" -"\n" -"

The following items can be maintained by you or other superusers:

" -msgstr "\n

Configurações do Sistema

\n\n

Os itens a seguir podem ser mantidos por você ou outros super-usuários:

" +msgid "The following items can be maintained by you or other superusers:" +msgstr "Os itens a seguir podem ser mantidos por você ou outros super-usuários:" #: templates/helpdesk/system_settings.html:11 msgid "E-Mail Ignore list" @@ -2094,12 +2084,8 @@ msgid "Change User Settings" msgstr "Alterar Configuração de Usuário" #: templates/helpdesk/user_settings.html:14 -msgid "" -"\n" -"

User Settings

\n" -"\n" -"

Use the following options to change the way your helpdesk system works for you. These settings do not impact any other user.

\n" -msgstr "\n

Configuração de Usuário

\n\n

Utilize as seguintes opções para alterar a forma como o sistema funciona para você. Essas configurações não afetam qualquer outro usuário.

\n" +msgid "Use the following options to change the way your helpdesk system works for you. These settings do not impact any other user." +msgstr "Utilize as seguintes opções para alterar a forma como o sistema funciona para você. Essas configurações não afetam qualquer outro usuário." #: templates/helpdesk/user_settings.html:29 msgid "Save Options" diff --git a/helpdesk/locale/ru/LC_MESSAGES/django.mo b/helpdesk/locale/ru/LC_MESSAGES/django.mo index 5201795b..837ac3a9 100644 Binary files a/helpdesk/locale/ru/LC_MESSAGES/django.mo and b/helpdesk/locale/ru/LC_MESSAGES/django.mo differ diff --git a/helpdesk/locale/ru/LC_MESSAGES/django.po b/helpdesk/locale/ru/LC_MESSAGES/django.po index ce67eb68..405cce3f 100644 --- a/helpdesk/locale/ru/LC_MESSAGES/django.po +++ b/helpdesk/locale/ru/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # django-helpdesk English language translation # Copyright (C) 2011 Ross Poulton # This file is distributed under the same license as the django-helpdesk package. -# +# # Translators: # Антон Комолов , 2011 # gorblnu4 , 2011 @@ -1053,10 +1053,8 @@ msgid "" msgstr "\n

Удалить запрос

\n\n

Вы уверены что вы хотите удалить сохранённый фильтр (%(query_title)s)? Что бы пересоздать его, вам придётся заново перефильтровать ваши тикеты из списка.

\n" #: templates/helpdesk/confirm_delete_saved_query.html:11 -msgid "" -"\n" -"

You have shared this query, so other users may be using it. If you delete it, they will have to manually create their own query.

\n" -msgstr "\n

Вы поделились запросом, теперь остальные пользователи могут его использовать. Если вы удалите его, им придётся сделать себе собственный запрос.

\n" +msgid "You have shared this query, so other users may be using it. If you delete it, they will have to manually create their own query." +msgstr "Вы поделились запросом, теперь остальные пользователи могут его использовать. Если вы удалите его, им придётся сделать себе собственный запрос." #: templates/helpdesk/confirm_delete_saved_query.html:15 #: templates/helpdesk/delete_ticket.html:11 @@ -1072,12 +1070,18 @@ msgstr "Удалить" msgid "Create Ticket" msgstr "Создать тикет" -#: templates/helpdesk/create_ticket.html:6 -msgid "" -"

Submit a Ticket

\n" -"\n" -"

Unless otherwise stated, all fields are required. Please provide as descriptive a title and description as possible.

" -msgstr "

Отправить тикет

\n\n

Все поля обязательны для заполнения пока не сказано обратное. Пожалуйста, напишите заголовок и описание как можно более точно отображающими суть проблемы.

" +#: templates/helpdesk/create_ticket.html:10 +#: templates/helpdesk/public_homepage.html:39 +msgid "Submit a Ticket" +msgstr "Отправить тикет" + +#: templates/helpdesk/create_ticket.html:11 +msgid "Unless otherwise stated, all fields are required." +msgstr "Все поля обязательны для заполнения пока не сказано обратное." + +#: templates/helpdesk/create_ticket.html:11 +msgid "Please provide as descriptive a title and description as possible." +msgstr "Пожалуйста, напишите заголовок и описание как можно более точно отображающими суть проблемы." #: templates/helpdesk/create_ticket.html:17 #: templates/helpdesk/edit_ticket.html:19 @@ -1165,27 +1169,26 @@ msgstr "Закрыт и решены тикеты, связанные с вам msgid "Delete Ticket" msgstr "Удалить тикет" -#: templates/helpdesk/delete_ticket.html:5 +#: templates/helpdesk/delete_ticket.html:8 #, python-format -msgid "" -"\n" -"

Delete Ticket

\n" -"\n" -"

Are you sure you want to delete this ticket (%(ticket_title)s)? All traces of the ticket, including followups, attachments, and updates will be irreversably removed.

\n" -msgstr "\n

Удалить тикет

\n\n

Вы уверены что хотите удалить этот тикет (%(ticket_title)s)? Все следы тикета, включая наблюдения, вложенные файлы и обновления будут безвозвратно удалены.

\n" +msgid "Are you sure you want to delete this ticket (%(ticket_title)s)? All traces of the ticket, including followups, attachments, and updates will be irreversibly removed." +msgstr "Вы уверены что хотите удалить этот тикет (%(ticket_title)s)? Все следы тикета, включая наблюдения, вложенные файлы и обновления будут безвозвратно удалены." #: templates/helpdesk/edit_ticket.html:3 msgid "Edit Ticket" msgstr "Редактировать тикет" #: templates/helpdesk/edit_ticket.html:6 -msgid "" -"

Edit a Ticket

\n" -"\n" -"

Unless otherwise stated, all fields are required. Please provide as descriptive a title and description as possible.

\n" -"\n" -"

Note: Editing a ticket does not send an e-mail to the ticket owner or submitter. No new details should be entered, this form should only be used to fix incorrect details or clean up the submission.

" -msgstr "

Редактирование Тикета

\n\n

Если не указано иное, все поля обязательны для заполнения. Пожалуйста, по возможности, дайте понятный заголовок и описание.

\n\n

Замечание: Редактирование тикета не отправляет сообщение по электронной почте владельцу или отправителю талона. Не добавляйте новых подробностей в талон. Эта форма только для исправления или уточнения проблемы.

" +msgid "Edit a Ticket" +msgstr "Редактирование Тикета" + +#: templates/helpdesk/edit_ticket.html:6 +msgid "Note" +msgstr "Замечание" + +#: templates/helpdesk/edit_ticket.html:6 +msgid "Editing a ticket does not send an e-mail to the ticket owner or submitter. No new details should be entered, this form should only be used to fix incorrect details or clean up the submission." +msgstr "Редактирование тикета не отправляет сообщение по электронной почте владельцу или отправителю талона. Не добавляйте новых подробностей в талон. Эта форма только для исправления или уточнения проблемы." #: templates/helpdesk/edit_ticket.html:28 msgid "Save Changes" @@ -1197,27 +1200,23 @@ msgid "Ignore E-Mail Address" msgstr "Игнорировать адрес электронной почты" #: templates/helpdesk/email_ignore_add.html:5 -msgid "" -"\n" -"

Ignore E-Mail Address

\n" -"\n" -"

To ignore an e-mail address and prevent any emails from that address creating tickets automatically, enter the e-mail address below.

\n" -"\n" -"

You can either enter a whole e-mail address such as email@domain.com or a portion of an e-mail address with a wildcard, such as *@domain.com or user@*.

" -msgstr "\n

Игнорировать адрес электронной почты

\n\n

Чтобы игнорировать адрес электронной почты, предотвратить автоматическое создание тикетов письмами с него, укажите его ниже.

\n\n

Вы можете указать как полный адрес, например, email@domain.com, так и его часть - с подстановочным знаком, например, *@domain.com или user@*.

" +msgid "To ignore an e-mail address and prevent any emails from that address creating tickets automatically, enter the e-mail address below." +msgstr "Чтобы игнорировать адрес электронной почты, предотвратить автоматическое создание тикетов письмами с него, укажите его ниже." + +msgid "You can either enter a whole e-mail address such as email@domain.com or a portion of an e-mail address with a wildcard, such as *@domain.com or user@*." +msgstr "Вы можете указать как полный адрес, например, email@domain.com, так и его часть - с подстановочным знаком, например, *@domain.com или user@*." #: templates/helpdesk/email_ignore_del.html:3 msgid "Delete Ignored E-Mail Address" msgstr "Удалить игнорируемый адрес электронной почты" #: templates/helpdesk/email_ignore_del.html:5 +msgid "Un-Ignore E-Mail Address" +msgstr "Разблокировать адрес электронной почты" + #, python-format -msgid "" -"\n" -"

Un-Ignore E-Mail Address

\n" -"\n" -"

Are you sure you wish to stop removing this email address (%(email_address)s) and allow their e-mails to automatically create tickets in your system? You can re-add this e-mail address at any time.

\n" -msgstr "\n

Разблокировать адрес электронной почты

\n\n

Вы уверены что хотите разблокировать этот адрес электронной почты (%(email_address)s) и позволить сообщениям с этого адреса автоматически создавать тикеты в вашей системе? Вы можете добавить этот адрес электронной почты в любое время.

\n" +msgid "Are you sure you wish to stop removing this email address (%(email_address)s) and allow their e-mails to automatically create tickets in your system? You can re-add this e-mail address at any time." +msgstr "Вы уверены что хотите разблокировать этот адрес электронной почты (%(email_address)s) и позволить сообщениям с этого адреса автоматически создавать тикеты в вашей системе? Вы можете добавить этот адрес электронной почты в любое время." #: templates/helpdesk/email_ignore_del.html:11 msgid "Keep Ignoring It" @@ -1437,15 +1436,9 @@ msgstr "Ваш адрес электронной почты" msgid "View Ticket" msgstr "Просмотреть талон" -#: templates/helpdesk/public_homepage.html:39 -msgid "Submit a Ticket" -msgstr "Отправить талон" - #: templates/helpdesk/public_homepage.html:41 -msgid "" -"All fields are required. Please provide as descriptive a title and " -"description as possible." -msgstr "Все поля являются обязательными для заполнения. Пожалуйста, представьте, заголовок и описание, настолько подробными насколько это возможно." +msgid "All fields are required." +msgstr "Все поля являются обязательными для заполнения." #: templates/helpdesk/public_homepage.html:67 msgid "Please use button at upper right to login first." @@ -1456,13 +1449,14 @@ msgid "Unable To Open Ticket" msgstr "Невозможно открыть тикет" #: templates/helpdesk/public_spam.html:6 -msgid "" -"

Sorry, but there has been an error trying to submit your ticket.

\n" -"\n" -"

Our system has marked your submission as spam, so we are unable to save it. If this is not spam, please press back and re-type your message. Be careful to avoid sounding 'spammy', and if you have heaps of links please try removing them if possible.

\n" -"\n" -"

We are sorry for any inconvenience, however this check is required to avoid our helpdesk resources being overloaded by spammers.

\n" -msgstr "

Извините, но произошла ошибка при попытке сохранить тикет.

\n\n

Наша система отметила ваше сообщение как спам, так что мы не можем его сохранить. Если это не спам, пожалуйста вернитесь назад и введите свое сообщение еще раз. Будьте осторожны, чтобы избежать похожести на \"спам\", и если у вас есть очень много ссылок, пожалуйста, попробуйте по возможности удалить их.

\n\n

Мы приносим извинения за возможные неудобства, однако эта проверка необходима, чтобы избежать растраты ресурсов на спамеров.

\n" +msgid "Sorry, but there has been an error trying to submit your ticket." +msgstr "Извините, но произошла ошибка при попытке сохранить тикет." + +msgid "Our system has marked your submission as spam, so we are unable to save it. If this is not spam, please press back and re-type your message. Be careful to avoid sounding 'spammy', and if you have heaps of links please try removing them if possible." +msgstr "Наша система отметила ваше сообщение как спам, так что мы не можем его сохранить. Если это не спам, пожалуйста вернитесь назад и введите свое сообщение еще раз. Будьте осторожны, чтобы избежать похожести на \"спам\", и если у вас есть очень много ссылок, пожалуйста, попробуйте по возможности удалить их." + +msgid "We are sorry for any inconvenience, however this check is required to avoid our helpdesk resources being overloaded by spammers." +msgstr "Мы приносим извинения за возможные неудобства, однако эта проверка необходима, чтобы избежать растраты ресурсов на спамеров." #: templates/helpdesk/public_view_form.html:8 msgid "Error:" @@ -1610,13 +1604,8 @@ msgstr "Открытые Тикеты" msgid "Change System Settings" msgstr "Изменить системные настройки" -#: templates/helpdesk/system_settings.html:5 -msgid "" -"\n" -"

System Settings

\n" -"\n" -"

The following items can be maintained by you or other superusers:

" -msgstr "\n

Системные настройки

\n\n

Следующие задачи можете выполнить вы и другие суперпользователи:

" +msgid "The following items can be maintained by you or other superusers:" +msgstr "Следующие задачи можете выполнить вы и другие суперпользователи:" #: templates/helpdesk/system_settings.html:11 msgid "E-Mail Ignore list" @@ -2092,12 +2081,8 @@ msgid "Change User Settings" msgstr "Изменить Настройки Пользователя" #: templates/helpdesk/user_settings.html:14 -msgid "" -"\n" -"

User Settings

\n" -"\n" -"

Use the following options to change the way your helpdesk system works for you. These settings do not impact any other user.

\n" -msgstr "\n

Параметры пользователя

\n\n

Используйте следующие параметры для изменения, как системы helpdesk бкдет работать для вас. Эти параметры не воздействия любого другого пользователя,.

\n" +msgid "Use the following options to change the way your helpdesk system works for you. These settings do not impact any other user." +msgstr "Используйте следующие параметры для изменения, как системы helpdesk бкдет работать для вас. Эти параметры не воздействия любого другого пользователя,." #: templates/helpdesk/user_settings.html:29 msgid "Save Options" diff --git a/helpdesk/locale/sv/LC_MESSAGES/django.po b/helpdesk/locale/sv/LC_MESSAGES/django.po index 94d73b50..28fd6237 100644 --- a/helpdesk/locale/sv/LC_MESSAGES/django.po +++ b/helpdesk/locale/sv/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ # django-helpdesk English language translation # Copyright (C) 2011 Ross Poulton # This file is distributed under the same license as the django-helpdesk package. -# +# # Translators: -# Alex Nordlund , 2012 +# Alexander Nordlund , 2012 # osterberg , 2012 msgid "" msgstr "" diff --git a/helpdesk/locale/zh_CN/LC_MESSAGES/django.mo b/helpdesk/locale/zh_CN/LC_MESSAGES/django.mo index 2338552d..9528b03f 100644 Binary files a/helpdesk/locale/zh_CN/LC_MESSAGES/django.mo and b/helpdesk/locale/zh_CN/LC_MESSAGES/django.mo differ diff --git a/helpdesk/locale/zh_CN/LC_MESSAGES/django.po b/helpdesk/locale/zh_CN/LC_MESSAGES/django.po index 7cad7548..001f5c4b 100644 --- a/helpdesk/locale/zh_CN/LC_MESSAGES/django.po +++ b/helpdesk/locale/zh_CN/LC_MESSAGES/django.po @@ -3,12 +3,13 @@ # This file is distributed under the same license as the django-helpdesk package. # # Translators: +# Translators: msgid "" msgstr "" "Project-Id-Version: django-helpdesk\n" "Report-Msgid-Bugs-To: http://github.com/RossP/django-helpdesk/issues\n" -"POT-Creation-Date: 2012-08-07 20:40+1000\n" -"PO-Revision-Date: 2013-04-29 09:18+0000\n" +"POT-Creation-Date: 2014-07-26 14:14+0200\n" +"PO-Revision-Date: 2014-08-01 09:58+0000\n" "Last-Translator: Ross Poulton \n" "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/django-helpdesk/language/zh_CN/)\n" "MIME-Version: 1.0\n" @@ -17,1050 +18,1149 @@ msgstr "" "Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: forms.py:113 forms.py:360 models.py:262 -#: templates/helpdesk/dashboard.html:11 templates/helpdesk/dashboard.html:37 -#: templates/helpdesk/dashboard.html:57 templates/helpdesk/dashboard.html:77 -#: templates/helpdesk/dashboard.html:99 templates/helpdesk/rss_list.html:23 -#: templates/helpdesk/ticket_list.html:56 -#: templates/helpdesk/ticket_list.html:78 -#: templates/helpdesk/ticket_list.html:199 views/staff.py:976 -#: views/staff.py:982 views/staff.py:988 +#: forms.py:128 forms.py:328 models.py:190 models.py:267 +#: templates/helpdesk/dashboard.html:15 templates/helpdesk/dashboard.html:58 +#: templates/helpdesk/dashboard.html:78 templates/helpdesk/dashboard.html:100 +#: templates/helpdesk/dashboard.html:124 templates/helpdesk/rss_list.html:24 +#: templates/helpdesk/ticket_list.html:69 +#: templates/helpdesk/ticket_list.html:88 +#: templates/helpdesk/ticket_list.html:225 views/staff.py:1032 +#: views/staff.py:1038 views/staff.py:1044 views/staff.py:1050 msgid "Queue" msgstr "" -#: forms.py:122 +#: forms.py:137 msgid "Summary of the problem" msgstr "" -#: forms.py:127 +#: forms.py:142 msgid "Submitter E-Mail Address" msgstr "" -#: forms.py:129 +#: forms.py:144 msgid "" "This e-mail address will receive copies of all public updates to this " "ticket." msgstr "" -#: forms.py:135 +#: forms.py:150 msgid "Description of Issue" msgstr "" -#: forms.py:142 +#: forms.py:157 msgid "Case owner" msgstr "" -#: forms.py:143 +#: forms.py:158 msgid "" "If you select an owner other than yourself, they'll be e-mailed details of " "this ticket immediately." msgstr "" -#: forms.py:151 models.py:322 management/commands/escalate_tickets.py:149 -#: templates/helpdesk/public_view_ticket.html:21 -#: templates/helpdesk/ticket.html:176 -#: templates/helpdesk/ticket_desc_table.html:31 -#: templates/helpdesk/ticket_list.html:84 views/staff.py:355 +#: forms.py:166 models.py:327 management/commands/escalate_tickets.py:154 +#: templates/helpdesk/public_view_ticket.html:23 +#: templates/helpdesk/ticket.html:184 +#: templates/helpdesk/ticket_desc_table.html:47 +#: templates/helpdesk/ticket_list.html:94 views/staff.py:429 msgid "Priority" msgstr "" -#: forms.py:152 +#: forms.py:167 msgid "Please select a priority carefully. If unsure, leave it as '3'." msgstr "" -#: forms.py:159 forms.py:397 models.py:330 templates/helpdesk/ticket.html:178 -#: views/staff.py:365 +#: forms.py:174 forms.py:365 models.py:335 templates/helpdesk/ticket.html:186 +#: views/staff.py:439 msgid "Due on" msgstr "" -#: forms.py:171 forms.py:402 +#: forms.py:186 forms.py:370 msgid "Attach File" msgstr "" -#: forms.py:172 forms.py:403 +#: forms.py:187 forms.py:371 msgid "You can attach a file such as a document or screenshot to this ticket." msgstr "" -#: forms.py:180 templates/helpdesk/public_view_ticket.html:33 -#: templates/helpdesk/ticket.html:182 -#: templates/helpdesk/ticket_desc_table.html:42 -#: templates/helpdesk/ticket_list.html:61 -#: templates/helpdesk/ticket_list.html:199 views/staff.py:376 -msgid "Tags" -msgstr "" - -#: forms.py:181 -msgid "" -"Words, separated by spaces, or phrases separated by commas. These should " -"communicate significant characteristics of this ticket" -msgstr "" - -#: forms.py:275 +#: forms.py:240 msgid "Ticket Opened" msgstr "" -#: forms.py:282 +#: forms.py:247 #, python-format msgid "Ticket Opened & Assigned to %(name)s" msgstr "" -#: forms.py:369 +#: forms.py:337 msgid "Summary of your query" msgstr "" -#: forms.py:374 +#: forms.py:342 msgid "Your E-Mail Address" msgstr "" -#: forms.py:375 +#: forms.py:343 msgid "We will e-mail you when your ticket is updated." msgstr "" -#: forms.py:380 +#: forms.py:348 msgid "Description of your issue" msgstr "" -#: forms.py:382 +#: forms.py:350 msgid "" "Please be as descriptive as possible, including any details we may need to " "address your query." msgstr "" -#: forms.py:390 +#: forms.py:358 msgid "Urgency" msgstr "" -#: forms.py:391 +#: forms.py:359 msgid "Please select a priority carefully." msgstr "" -#: forms.py:486 +#: forms.py:419 msgid "Ticket Opened Via Web" msgstr "" -#: forms.py:553 +#: forms.py:486 msgid "Show Ticket List on Login?" msgstr "" -#: forms.py:554 +#: forms.py:487 msgid "Display the ticket list upon login? Otherwise, the dashboard is shown." msgstr "" -#: forms.py:559 +#: forms.py:492 msgid "E-mail me on ticket change?" msgstr "" -#: forms.py:560 +#: forms.py:493 msgid "" "If you're the ticket owner and the ticket is changed via the web by somebody" " else, do you want to receive an e-mail?" msgstr "" -#: forms.py:565 +#: forms.py:498 msgid "E-mail me when assigned a ticket?" msgstr "" -#: forms.py:566 +#: forms.py:499 msgid "" "If you are assigned a ticket via the web, do you want to receive an e-mail?" msgstr "" -#: forms.py:571 +#: forms.py:504 msgid "E-mail me when a ticket is changed via the API?" msgstr "" -#: forms.py:572 +#: forms.py:505 msgid "If a ticket is altered by the API, do you want to receive an e-mail?" msgstr "" -#: forms.py:577 +#: forms.py:510 msgid "Number of tickets to show per page" msgstr "" -#: forms.py:578 +#: forms.py:511 msgid "How many tickets do you want to see on the Ticket List page?" msgstr "" -#: forms.py:585 +#: forms.py:518 msgid "Use my e-mail address when submitting tickets?" msgstr "" -#: forms.py:586 +#: forms.py:519 msgid "" "When you submit a ticket, do you want to automatically use your e-mail " "address as the submitter address? You can type a different e-mail address " "when entering the ticket if needed, this option only changes the default." msgstr "" -#: models.py:32 models.py:256 models.py:490 models.py:787 models.py:821 -#: templates/helpdesk/dashboard.html:37 templates/helpdesk/dashboard.html:57 -#: templates/helpdesk/dashboard.html:77 templates/helpdesk/dashboard.html:99 -#: templates/helpdesk/ticket.html:170 templates/helpdesk/ticket_list.html:75 -#: templates/helpdesk/ticket_list.html:199 views/staff.py:345 +#: models.py:35 models.py:261 models.py:503 models.py:817 models.py:853 +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:100 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket.html:178 templates/helpdesk/ticket_list.html:85 +#: templates/helpdesk/ticket_list.html:225 views/staff.py:419 msgid "Title" msgstr "" -#: models.py:37 models.py:792 models.py:1162 +#: models.py:40 models.py:822 models.py:1206 msgid "Slug" msgstr "" -#: models.py:38 +#: models.py:41 msgid "" "This slug is used when building ticket ID's. Once set, try not to change it " "or e-mailing may get messy." msgstr "" -#: models.py:43 models.py:1015 models.py:1085 models.py:1159 +#: models.py:46 models.py:1054 models.py:1129 models.py:1203 #: templates/helpdesk/email_ignore_list.html:13 #: templates/helpdesk/ticket_cc_list.html:15 msgid "E-Mail Address" msgstr "" -#: models.py:46 +#: models.py:49 msgid "" "All outgoing e-mails for this queue will use this e-mail address. If you use" " IMAP or POP3, this should be the e-mail address for that mailbox." msgstr "" -#: models.py:52 models.py:766 +#: models.py:55 models.py:794 msgid "Locale" msgstr "" -#: models.py:56 +#: models.py:59 msgid "" "Locale of this queue. All correspondence in this queue will be in this " "language." msgstr "" -#: models.py:60 +#: models.py:63 msgid "Allow Public Submission?" msgstr "" -#: models.py:63 +#: models.py:66 msgid "Should this queue be listed on the public submission form?" msgstr "" -#: models.py:68 +#: models.py:71 msgid "Allow E-Mail Submission?" msgstr "" -#: models.py:71 +#: models.py:74 msgid "Do you want to poll the e-mail box below for new tickets?" msgstr "" -#: models.py:76 +#: models.py:79 msgid "Escalation Days" msgstr "" -#: models.py:79 +#: models.py:82 msgid "" "For tickets which are not held, how often do you wish to increase their " "priority? Set to 0 for no escalation." msgstr "" -#: models.py:84 +#: models.py:87 msgid "New Ticket CC Address" msgstr "" -#: models.py:88 +#: models.py:91 msgid "" "If an e-mail address is entered here, then it will receive notification of " "all new tickets created for this queue. Enter a comma between multiple " "e-mail addresses." msgstr "" -#: models.py:94 +#: models.py:97 msgid "Updated Ticket CC Address" msgstr "" -#: models.py:98 +#: models.py:101 msgid "" "If an e-mail address is entered here, then it will receive notification of " "all activity (new tickets, closed tickets, updates, reassignments, etc) for " "this queue. Separate multiple addresses with a comma." msgstr "" -#: models.py:105 +#: models.py:108 msgid "E-Mail Box Type" msgstr "" -#: models.py:107 +#: models.py:110 msgid "POP 3" msgstr "" -#: models.py:107 +#: models.py:110 msgid "IMAP" msgstr "" -#: models.py:110 +#: models.py:113 msgid "" "E-Mail server type for creating tickets automatically from a mailbox - both " "POP3 and IMAP are supported." msgstr "" -#: models.py:115 +#: models.py:118 msgid "E-Mail Hostname" msgstr "" -#: models.py:119 +#: models.py:122 msgid "" "Your e-mail server address - either the domain name or IP address. May be " "\"localhost\"." msgstr "" -#: models.py:124 +#: models.py:127 msgid "E-Mail Port" msgstr "" -#: models.py:127 +#: models.py:130 msgid "" "Port number to use for accessing e-mail. Default for POP3 is \"110\", and " "for IMAP is \"143\". This may differ on some servers. Leave it blank to use " "the defaults." msgstr "" -#: models.py:133 +#: models.py:136 msgid "Use SSL for E-Mail?" msgstr "" -#: models.py:136 +#: models.py:139 msgid "" "Whether to use SSL for IMAP or POP3 - the default ports when using SSL are " "993 for IMAP and 995 for POP3." msgstr "" -#: models.py:141 +#: models.py:144 msgid "E-Mail Username" msgstr "" -#: models.py:145 +#: models.py:148 msgid "Username for accessing this mailbox." msgstr "" -#: models.py:149 +#: models.py:152 msgid "E-Mail Password" msgstr "" -#: models.py:153 +#: models.py:156 msgid "Password for the above username" msgstr "" -#: models.py:157 +#: models.py:160 msgid "IMAP Folder" msgstr "" -#: models.py:161 +#: models.py:164 msgid "" "If using IMAP, what folder do you wish to fetch messages from? This allows " "you to use one IMAP account for multiple queues, by filtering messages on " "your IMAP server into separate folders. Default: INBOX." msgstr "" -#: models.py:168 +#: models.py:171 msgid "E-Mail Check Interval" msgstr "" -#: models.py:169 +#: models.py:172 msgid "How often do you wish to check this mailbox? (in Minutes)" msgstr "" -#: models.py:240 templates/helpdesk/dashboard.html:11 -#: templates/helpdesk/ticket.html:130 +#: models.py:191 templates/helpdesk/email_ignore_list.html:13 +msgid "Queues" +msgstr "" + +#: models.py:245 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:138 msgid "Open" msgstr "" -#: models.py:241 templates/helpdesk/ticket.html:136 -#: templates/helpdesk/ticket.html.py:142 templates/helpdesk/ticket.html:147 -#: templates/helpdesk/ticket.html.py:151 +#: models.py:246 templates/helpdesk/ticket.html:144 +#: templates/helpdesk/ticket.html.py:150 templates/helpdesk/ticket.html:155 +#: templates/helpdesk/ticket.html.py:159 msgid "Reopened" msgstr "" -#: models.py:242 templates/helpdesk/dashboard.html:11 -#: templates/helpdesk/ticket.html:131 templates/helpdesk/ticket.html.py:137 -#: templates/helpdesk/ticket.html:143 +#: models.py:247 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:139 templates/helpdesk/ticket.html.py:145 +#: templates/helpdesk/ticket.html:151 msgid "Resolved" msgstr "" -#: models.py:243 templates/helpdesk/dashboard.html:11 -#: templates/helpdesk/ticket.html:132 templates/helpdesk/ticket.html.py:138 -#: templates/helpdesk/ticket.html:144 templates/helpdesk/ticket.html.py:148 +#: models.py:248 templates/helpdesk/dashboard.html:15 +#: templates/helpdesk/ticket.html:140 templates/helpdesk/ticket.html.py:146 +#: templates/helpdesk/ticket.html:152 templates/helpdesk/ticket.html.py:156 msgid "Closed" msgstr "" -#: models.py:244 templates/helpdesk/ticket.html:133 -#: templates/helpdesk/ticket.html.py:139 templates/helpdesk/ticket.html:152 +#: models.py:249 templates/helpdesk/ticket.html:141 +#: templates/helpdesk/ticket.html.py:147 templates/helpdesk/ticket.html:160 msgid "Duplicate" msgstr "" -#: models.py:248 +#: models.py:253 msgid "1. Critical" msgstr "" -#: models.py:249 +#: models.py:254 msgid "2. High" msgstr "" -#: models.py:250 +#: models.py:255 msgid "3. Normal" msgstr "" -#: models.py:251 +#: models.py:256 msgid "4. Low" msgstr "" -#: models.py:252 +#: models.py:257 msgid "5. Very Low" msgstr "" -#: models.py:266 templates/helpdesk/dashboard.html:77 -#: templates/helpdesk/ticket_list.html:72 -#: templates/helpdesk/ticket_list.html:199 +#: models.py:271 templates/helpdesk/dashboard.html:100 +#: templates/helpdesk/ticket_list.html:82 +#: templates/helpdesk/ticket_list.html:225 msgid "Created" msgstr "" -#: models.py:268 +#: models.py:273 msgid "Date this ticket was first created" msgstr "" -#: models.py:272 +#: models.py:277 msgid "Modified" msgstr "" -#: models.py:274 +#: models.py:279 msgid "Date this ticket was most recently changed." msgstr "" -#: models.py:278 templates/helpdesk/public_view_ticket.html:16 -#: templates/helpdesk/ticket_desc_table.html:26 +#: models.py:283 templates/helpdesk/public_view_ticket.html:18 +#: templates/helpdesk/ticket_desc_table.html:42 msgid "Submitter E-Mail" msgstr "" -#: models.py:281 +#: models.py:286 msgid "" "The submitter will receive an email for all public follow-ups left for this " "task." msgstr "" -#: models.py:290 +#: models.py:295 msgid "Assigned to" msgstr "" -#: models.py:294 templates/helpdesk/dashboard.html:37 -#: templates/helpdesk/dashboard.html:57 templates/helpdesk/dashboard.html:99 -#: templates/helpdesk/ticket_list.html:57 -#: templates/helpdesk/ticket_list.html:81 -#: templates/helpdesk/ticket_list.html:199 +#: models.py:299 templates/helpdesk/dashboard.html:58 +#: templates/helpdesk/dashboard.html:78 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket_list.html:70 +#: templates/helpdesk/ticket_list.html:91 +#: templates/helpdesk/ticket_list.html:225 msgid "Status" msgstr "" -#: models.py:300 +#: models.py:305 msgid "On Hold" msgstr "" -#: models.py:303 +#: models.py:308 msgid "If a ticket is on hold, it will not automatically be escalated." msgstr "" -#: models.py:308 models.py:796 templates/helpdesk/public_view_ticket.html:39 -#: templates/helpdesk/ticket_desc_table.html:67 +#: models.py:313 models.py:826 templates/helpdesk/public_view_ticket.html:41 +#: templates/helpdesk/ticket_desc_table.html:19 msgid "Description" msgstr "" -#: models.py:311 +#: models.py:316 msgid "The content of the customers query." msgstr "" -#: models.py:315 templates/helpdesk/public_view_ticket.html:46 -#: templates/helpdesk/ticket_desc_table.html:74 +#: models.py:320 templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 msgid "Resolution" msgstr "" -#: models.py:318 +#: models.py:323 msgid "The resolution provided to the customer by our staff." msgstr "" -#: models.py:326 +#: models.py:331 msgid "1 = Highest Priority, 5 = Low Priority" msgstr "" -#: models.py:339 +#: models.py:344 msgid "" "The date this ticket was last escalated - updated automatically by " "management/commands/escalate_tickets.py." msgstr "" -#: models.py:348 templates/helpdesk/ticket_desc_table.html:22 -#: views/feeds.py:91 views/feeds.py:117 views/feeds.py:169 views/staff.py:302 +#: models.py:353 templates/helpdesk/ticket_desc_table.html:38 +#: views/feeds.py:95 views/feeds.py:121 views/feeds.py:173 views/staff.py:376 msgid "Unassigned" msgstr "" -#: models.py:387 +#: models.py:392 msgid " - On Hold" msgstr "" -#: models.py:481 models.py:1073 models.py:1231 models.py:1256 -#: templates/helpdesk/public_homepage.html:26 +#: models.py:394 +msgid " - Open dependencies" +msgstr "" + +#: models.py:448 models.py:494 models.py:1117 models.py:1280 models.py:1309 +#: templates/helpdesk/public_homepage.html:78 #: templates/helpdesk/public_view_form.html:12 msgid "Ticket" msgstr "" -#: models.py:485 models.py:714 models.py:1008 models.py:1156 +#: models.py:449 templates/helpdesk/navigation.html:17 +#: templates/helpdesk/ticket_list.html:2 +#: templates/helpdesk/ticket_list.html:224 +msgid "Tickets" +msgstr "" + +#: models.py:498 models.py:738 models.py:1047 models.py:1200 msgid "Date" msgstr "" -#: models.py:497 views/staff.py:316 +#: models.py:510 views/staff.py:390 msgid "Comment" msgstr "" -#: models.py:503 +#: models.py:516 msgid "Public" msgstr "" -#: models.py:506 +#: models.py:519 msgid "" "Public tickets are viewable by the submitter and all staff, but non-public " "tickets can only be seen by staff." msgstr "" -#: models.py:514 models.py:888 models.py:1081 views/staff.py:952 -#: views/staff.py:958 views/staff.py:964 views/staff.py:970 +#: models.py:527 models.py:922 models.py:1125 views/staff.py:1008 +#: views/staff.py:1014 views/staff.py:1020 views/staff.py:1026 msgid "User" msgstr "" -#: models.py:518 templates/helpdesk/ticket.html:127 +#: models.py:531 templates/helpdesk/ticket.html:135 msgid "New Status" msgstr "" -#: models.py:522 +#: models.py:535 msgid "If the status was changed, what was it changed to?" msgstr "" -#: models.py:551 models.py:608 +#: models.py:542 models.py:566 models.py:628 msgid "Follow-up" msgstr "" -#: models.py:555 models.py:1236 +#: models.py:543 +msgid "Follow-ups" +msgstr "" + +#: models.py:570 models.py:1285 msgid "Field" msgstr "" -#: models.py:560 +#: models.py:575 msgid "Old Value" msgstr "" -#: models.py:566 +#: models.py:581 msgid "New Value" msgstr "" -#: models.py:574 +#: models.py:589 msgid "removed" msgstr "" -#: models.py:576 +#: models.py:591 #, python-format msgid "set to %s" msgstr "" -#: models.py:578 +#: models.py:593 #, python-format msgid "changed from \"%(old_value)s\" to \"%(new_value)s\"" msgstr "" -#: models.py:612 +#: models.py:600 +msgid "Ticket change" +msgstr "" + +#: models.py:601 +msgid "Ticket changes" +msgstr "" + +#: models.py:632 msgid "File" msgstr "" -#: models.py:617 +#: models.py:637 msgid "Filename" msgstr "" -#: models.py:622 +#: models.py:642 msgid "MIME Type" msgstr "" -#: models.py:627 +#: models.py:647 msgid "Size" msgstr "" -#: models.py:628 +#: models.py:648 msgid "Size of this file in bytes" msgstr "" -#: models.py:663 +#: models.py:665 +msgid "Attachment" +msgstr "" + +#: models.py:666 +msgid "Attachments" +msgstr "" + +#: models.py:685 msgid "" "Leave blank to allow this reply to be used for all queues, or select those " "queues you wish to limit this reply to." msgstr "" -#: models.py:668 models.py:709 models.py:1003 +#: models.py:690 models.py:733 models.py:1042 #: templates/helpdesk/email_ignore_list.html:13 msgid "Name" msgstr "" -#: models.py:670 +#: models.py:692 msgid "" "Only used to assist users with selecting a reply - not shown to the user." msgstr "" -#: models.py:675 +#: models.py:697 msgid "Body" msgstr "" -#: models.py:676 +#: models.py:698 msgid "" "Context available: {{ ticket }} - ticket object (eg {{ ticket.title }}); {{ " "queue }} - The queue; and {{ user }} - the current user." msgstr "" -#: models.py:703 +#: models.py:705 +msgid "Pre-set reply" +msgstr "" + +#: models.py:706 +msgid "Pre-set replies" +msgstr "" + +#: models.py:727 msgid "" "Leave blank for this exclusion to be applied to all queues, or select those " "queues you wish to exclude with this entry." msgstr "" -#: models.py:715 +#: models.py:739 msgid "Date on which escalation should not happen" msgstr "" -#: models.py:732 +#: models.py:746 +msgid "Escalation exclusion" +msgstr "" + +#: models.py:747 +msgid "Escalation exclusions" +msgstr "" + +#: models.py:760 msgid "Template Name" msgstr "" -#: models.py:737 +#: models.py:765 msgid "Subject" msgstr "" -#: models.py:739 +#: models.py:767 msgid "" "This will be prefixed with \"[ticket.ticket] ticket.title\". We recommend " "something simple such as \"(Updated\") or \"(Closed)\" - the same context is" " available as in plain_text, below." msgstr "" -#: models.py:745 +#: models.py:773 msgid "Heading" msgstr "" -#: models.py:747 +#: models.py:775 msgid "" "In HTML e-mails, this will be the heading at the top of the email - the same" " context is available as in plain_text, below." msgstr "" -#: models.py:753 +#: models.py:781 msgid "Plain Text" msgstr "" -#: models.py:754 +#: models.py:782 msgid "" "The context available to you includes {{ ticket }}, {{ queue }}, and " "depending on the time of the call: {{ resolution }} or {{ comment }}." msgstr "" -#: models.py:760 +#: models.py:788 msgid "HTML" msgstr "" -#: models.py:761 +#: models.py:789 msgid "The same context is available here as in plain_text, above." msgstr "" -#: models.py:770 +#: models.py:798 msgid "Locale of this template." msgstr "" -#: models.py:817 templates/helpdesk/kb_index.html:10 -#: templates/helpdesk/public_homepage.html:10 -msgid "Category" +#: models.py:806 +msgid "e-mail template" msgstr "" -#: models.py:826 -msgid "Question" -msgstr "" - -#: models.py:830 -msgid "Answer" +#: models.py:807 +msgid "e-mail templates" msgstr "" #: models.py:834 -msgid "Votes" +msgid "Knowledge base category" msgstr "" #: models.py:835 +msgid "Knowledge base categories" +msgstr "" + +#: models.py:849 templates/helpdesk/kb_index.html:11 +#: templates/helpdesk/public_homepage.html:11 +msgid "Category" +msgstr "" + +#: models.py:858 +msgid "Question" +msgstr "" + +#: models.py:862 +msgid "Answer" +msgstr "" + +#: models.py:866 +msgid "Votes" +msgstr "" + +#: models.py:867 msgid "Total number of votes cast for this item" msgstr "" -#: models.py:840 +#: models.py:872 msgid "Positive Votes" msgstr "" -#: models.py:841 +#: models.py:873 msgid "Number of votes for this item which were POSITIVE." msgstr "" -#: models.py:846 +#: models.py:878 msgid "Last Updated" msgstr "" -#: models.py:847 +#: models.py:879 msgid "The date on which this question was most recently changed." msgstr "" -#: models.py:861 +#: models.py:893 msgid "Unrated" msgstr "" -#: models.py:892 templates/helpdesk/ticket_list.html:158 +#: models.py:901 +msgid "Knowledge base item" +msgstr "" + +#: models.py:902 +msgid "Knowledge base items" +msgstr "" + +#: models.py:926 templates/helpdesk/ticket_list.html:170 msgid "Query Name" msgstr "" -#: models.py:894 +#: models.py:928 msgid "User-provided name for this query" msgstr "" -#: models.py:898 +#: models.py:932 msgid "Shared With Other Users?" msgstr "" -#: models.py:901 +#: models.py:935 msgid "Should other users see this query?" msgstr "" -#: models.py:905 +#: models.py:939 msgid "Search Query" msgstr "" -#: models.py:906 +#: models.py:940 msgid "Pickled query object. Be wary changing this." msgstr "" -#: models.py:927 +#: models.py:950 +msgid "Saved search" +msgstr "" + +#: models.py:951 +msgid "Saved searches" +msgstr "" + +#: models.py:966 msgid "Settings Dictionary" msgstr "" -#: models.py:928 +#: models.py:967 msgid "" "This is a base64-encoded representation of a pickled Python dictionary. Do " "not change this field via the admin." msgstr "" -#: models.py:997 +#: models.py:993 +msgid "User Setting" +msgstr "" + +#: models.py:994 templates/helpdesk/navigation.html:37 +#: templates/helpdesk/user_settings.html:6 +msgid "User Settings" +msgstr "" + +#: models.py:1036 msgid "" "Leave blank for this e-mail to be ignored on all queues, or select those " "queues you wish to ignore this e-mail for." msgstr "" -#: models.py:1009 +#: models.py:1048 msgid "Date on which this e-mail address was added" msgstr "" -#: models.py:1017 +#: models.py:1056 msgid "" "Enter a full e-mail address, or portions with wildcards, eg *@domain.com or " "postmaster@*." msgstr "" -#: models.py:1022 +#: models.py:1061 msgid "Save Emails in Mailbox?" msgstr "" -#: models.py:1025 +#: models.py:1064 msgid "" "Do you want to save emails from this address in the mailbox? If this is " "unticked, emails from this address will be deleted." msgstr "" -#: models.py:1080 +#: models.py:1101 +msgid "Ignored e-mail address" +msgstr "" + +#: models.py:1102 +msgid "Ignored e-mail addresses" +msgstr "" + +#: models.py:1124 msgid "User who wishes to receive updates for this ticket." msgstr "" -#: models.py:1088 +#: models.py:1132 msgid "For non-user followers, enter their e-mail address" msgstr "" -#: models.py:1092 +#: models.py:1136 msgid "Can View Ticket?" msgstr "" -#: models.py:1094 +#: models.py:1138 msgid "Can this CC login to view the ticket details?" msgstr "" -#: models.py:1098 +#: models.py:1142 msgid "Can Update Ticket?" msgstr "" -#: models.py:1100 +#: models.py:1144 msgid "Can this CC login and update the ticket?" msgstr "" -#: models.py:1131 +#: models.py:1175 msgid "Field Name" msgstr "" -#: models.py:1132 +#: models.py:1176 msgid "" "As used in the database and behind the scenes. Must be unique and consist of" " only lowercase letters with no punctuation." msgstr "" -#: models.py:1137 +#: models.py:1181 msgid "Label" msgstr "" -#: models.py:1139 +#: models.py:1183 msgid "The display label for this field" msgstr "" -#: models.py:1143 +#: models.py:1187 msgid "Help Text" msgstr "" -#: models.py:1144 +#: models.py:1188 msgid "Shown to the user when editing the ticket" msgstr "" -#: models.py:1150 +#: models.py:1194 msgid "Character (single line)" msgstr "" -#: models.py:1151 +#: models.py:1195 msgid "Text (multi-line)" msgstr "" -#: models.py:1152 +#: models.py:1196 msgid "Integer" msgstr "" -#: models.py:1153 +#: models.py:1197 msgid "Decimal" msgstr "" -#: models.py:1154 +#: models.py:1198 msgid "List" msgstr "" -#: models.py:1155 +#: models.py:1199 msgid "Boolean (checkbox yes/no)" msgstr "" -#: models.py:1157 +#: models.py:1201 msgid "Time" msgstr "" -#: models.py:1158 +#: models.py:1202 msgid "Date & Time" msgstr "" -#: models.py:1160 +#: models.py:1204 msgid "URL" msgstr "" -#: models.py:1161 +#: models.py:1205 msgid "IP Address" msgstr "" -#: models.py:1166 +#: models.py:1210 msgid "Data Type" msgstr "" -#: models.py:1168 +#: models.py:1212 msgid "Allows you to restrict the data entered into this field" msgstr "" -#: models.py:1173 +#: models.py:1217 msgid "Maximum Length (characters)" msgstr "" -#: models.py:1179 +#: models.py:1223 msgid "Decimal Places" msgstr "" -#: models.py:1180 +#: models.py:1224 msgid "Only used for decimal fields" msgstr "" -#: models.py:1186 +#: models.py:1230 msgid "Add empty first choice to List?" msgstr "" -#: models.py:1187 +#: models.py:1232 msgid "" "Only for List: adds an empty first entry to the choices list, which enforces" " that the user makes an active choice." msgstr "" -#: models.py:1191 +#: models.py:1236 msgid "List Values" msgstr "" -#: models.py:1192 +#: models.py:1237 msgid "For list fields only. Enter one option per line." msgstr "" -#: models.py:1198 +#: models.py:1243 msgid "Ordering" msgstr "" -#: models.py:1199 +#: models.py:1244 msgid "Lower numbers are displayed first; higher numbers are listed later" msgstr "" -#: models.py:1213 +#: models.py:1258 msgid "Required?" msgstr "" -#: models.py:1214 +#: models.py:1259 msgid "Does the user have to enter a value for this field?" msgstr "" -#: models.py:1218 +#: models.py:1263 msgid "Staff Only?" msgstr "" -#: models.py:1219 +#: models.py:1264 msgid "" "If this is ticked, then the public submission form will NOT show this field" msgstr "" -#: models.py:1262 +#: models.py:1273 +msgid "Custom field" +msgstr "" + +#: models.py:1274 +msgid "Custom fields" +msgstr "" + +#: models.py:1297 +msgid "Ticket custom field value" +msgstr "" + +#: models.py:1298 +msgid "Ticket custom field values" +msgstr "" + +#: models.py:1315 msgid "Depends On Ticket" msgstr "" -#: management/commands/create_usersettings.py:21 +#: models.py:1324 +msgid "Ticket dependency" +msgstr "" + +#: models.py:1325 +msgid "Ticket dependencies" +msgstr "" + +#: management/commands/create_usersettings.py:25 msgid "" "Check for user without django-helpdesk UserSettings and create settings if " "required. Uses settings.DEFAULT_USER_SETTINGS which can be overridden to " "suit your situation." msgstr "" -#: management/commands/escalate_tickets.py:143 +#: management/commands/escalate_tickets.py:148 #, python-format msgid "Ticket escalated after %s days" msgstr "" -#: management/commands/get_email.py:151 +#: management/commands/get_email.py:158 msgid "Created from e-mail" msgstr "" -#: management/commands/get_email.py:155 +#: management/commands/get_email.py:162 msgid "Unknown Sender" msgstr "" -#: management/commands/get_email.py:209 +#: management/commands/get_email.py:216 msgid "" "No plain-text email body available. Please see attachment " "email_html_body.html." msgstr "" -#: management/commands/get_email.py:213 +#: management/commands/get_email.py:220 msgid "email_html_body.html" msgstr "" -#: management/commands/get_email.py:256 +#: management/commands/get_email.py:263 #, python-format msgid "E-Mail Received from %(sender_email)s" msgstr "" -#: management/commands/get_email.py:264 +#: management/commands/get_email.py:271 #, python-format msgid "Ticket Re-Opened by E-Mail Received from %(sender_email)s" msgstr "" -#: management/commands/get_email.py:322 +#: management/commands/get_email.py:329 msgid " (Reopened)" msgstr "" -#: management/commands/get_email.py:324 +#: management/commands/get_email.py:331 msgid " (Updated)" msgstr "" #: templates/helpdesk/attribution.html:2 msgid "" -"Powered by django-" -"helpdesk." +"django-helpdesk." msgstr "" -#: templates/helpdesk/attribution.html:4 -msgid "For technical support please contact:" -msgstr "" - -#: templates/helpdesk/base.html:9 +#: templates/helpdesk/base.html:10 msgid "Powered by django-helpdesk" msgstr "" -#: templates/helpdesk/base.html:19 templates/helpdesk/rss_list.html:9 -#: templates/helpdesk/rss_list.html:23 templates/helpdesk/rss_list.html:28 +#: templates/helpdesk/base.html:20 templates/helpdesk/rss_list.html:9 +#: templates/helpdesk/rss_list.html:24 templates/helpdesk/rss_list.html:31 msgid "My Open Tickets" msgstr "" -#: templates/helpdesk/base.html:20 +#: templates/helpdesk/base.html:21 msgid "All Recent Activity" msgstr "" -#: templates/helpdesk/base.html:21 templates/helpdesk/dashboard.html:76 +#: templates/helpdesk/base.html:22 templates/helpdesk/dashboard.html:99 #: templates/helpdesk/rss_list.html:15 msgid "Unassigned Tickets" msgstr "" -#: templates/helpdesk/base.html:101 templates/helpdesk/public_base.html:6 -#: templates/helpdesk/public_base.html:14 +#: templates/helpdesk/base.html:52 templates/helpdesk/public_base.html:6 +#: templates/helpdesk/public_base.html:18 msgid "Helpdesk" msgstr "" -#: templates/helpdesk/base.html:111 templates/helpdesk/rss_list.html:9 +#: templates/helpdesk/base.html:62 templates/helpdesk/rss_list.html:9 #: templates/helpdesk/rss_list.html:12 templates/helpdesk/rss_list.html:15 -#: templates/helpdesk/rss_list.html:27 templates/helpdesk/rss_list.html:28 +#: templates/helpdesk/rss_list.html:30 templates/helpdesk/rss_list.html:31 msgid "RSS Icon" msgstr "" -#: templates/helpdesk/base.html:111 templates/helpdesk/rss_list.html:2 +#: templates/helpdesk/base.html:62 templates/helpdesk/rss_list.html:2 #: templates/helpdesk/rss_list.html.py:4 msgid "RSS Feeds" msgstr "" -#: templates/helpdesk/base.html:112 +#: templates/helpdesk/base.html:63 msgid "API" msgstr "" -#: templates/helpdesk/base.html:113 -msgid "User Settings" -msgstr "" - -#: templates/helpdesk/base.html:115 -msgid "Change Language" -msgstr "" - -#: templates/helpdesk/base.html:117 +#: templates/helpdesk/base.html:64 templates/helpdesk/system_settings.html:6 msgid "System Settings" msgstr "" #: templates/helpdesk/confirm_delete_saved_query.html:3 -#: templates/helpdesk/ticket_list.html:144 +#: templates/helpdesk/ticket_list.html:146 msgid "Delete Saved Query" msgstr "" -#: templates/helpdesk/confirm_delete_saved_query.html:5 +#: templates/helpdesk/confirm_delete_saved_query.html:6 +msgid "Delete Query" +msgstr "" + +#: templates/helpdesk/confirm_delete_saved_query.html:8 #, python-format msgid "" -"\n" -"

Delete Query

\n" -"\n" -"

Are you sure you want to delete this saved filter (%(query_title)s)? To re-create it, you will need to manually re-filter your ticket listing.

\n" +"Are you sure you want to delete this saved filter " +"(%(query_title)s)? To re-create it, you will need to manually re-" +"filter your ticket listing." msgstr "" #: templates/helpdesk/confirm_delete_saved_query.html:11 msgid "" -"\n" -"

You have shared this query, so other users may be using it. If you delete it, they will have to manually create their own query.

\n" +"You have shared this query, so other users may be using it. If you delete " +"it, they will have to manually create their own query." msgstr "" -#: templates/helpdesk/confirm_delete_saved_query.html:15 -#: templates/helpdesk/delete_ticket.html:11 +#: templates/helpdesk/confirm_delete_saved_query.html:14 +#: templates/helpdesk/delete_ticket.html:10 msgid "No, Don't Delete It" msgstr "" -#: templates/helpdesk/confirm_delete_saved_query.html:17 -#: templates/helpdesk/delete_ticket.html:13 +#: templates/helpdesk/confirm_delete_saved_query.html:16 +#: templates/helpdesk/delete_ticket.html:12 msgid "Yes - Delete It" msgstr "" @@ -1068,21 +1168,25 @@ msgstr "" msgid "Create Ticket" msgstr "" -#: templates/helpdesk/create_ticket.html:6 -msgid "" -"

Submit a Ticket

\n" -"\n" -"

Unless otherwise stated, all fields are required. Please provide as descriptive a title and description as possible.

" +#: templates/helpdesk/create_ticket.html:10 +#: templates/helpdesk/navigation.html:65 templates/helpdesk/navigation.html:68 +#: templates/helpdesk/public_homepage.html:27 +msgid "Submit a Ticket" msgstr "" -#: templates/helpdesk/create_ticket.html:17 -#: templates/helpdesk/edit_ticket.html:19 -#: templates/helpdesk/public_homepage.html:50 -msgid "(Optional)" +#: templates/helpdesk/create_ticket.html:11 +#: templates/helpdesk/edit_ticket.html:11 +msgid "Unless otherwise stated, all fields are required." msgstr "" -#: templates/helpdesk/create_ticket.html:26 -#: templates/helpdesk/public_homepage.html:59 +#: templates/helpdesk/create_ticket.html:11 +#: templates/helpdesk/edit_ticket.html:11 +#: templates/helpdesk/public_homepage.html:28 +msgid "Please provide as descriptive a title and description as possible." +msgstr "" + +#: templates/helpdesk/create_ticket.html:30 +#: templates/helpdesk/public_homepage.html:55 msgid "Submit Ticket" msgstr "" @@ -1090,136 +1194,176 @@ msgstr "" msgid "Helpdesk Dashboard" msgstr "" -#: templates/helpdesk/dashboard.html:10 -msgid "Helpdesk Summary" -msgstr "" - -#: templates/helpdesk/dashboard.html:25 +#: templates/helpdesk/dashboard.html:9 msgid "" "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." msgstr "" -#: templates/helpdesk/dashboard.html:27 -msgid "" -"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?" +#: templates/helpdesk/dashboard.html:14 +msgid "Helpdesk Summary" msgstr "" #: templates/helpdesk/dashboard.html:36 +msgid "Current Ticket Stats" +msgstr "" + +#: templates/helpdesk/dashboard.html:37 +msgid "Average number of days until ticket is closed (all tickets): " +msgstr "" + +#: templates/helpdesk/dashboard.html:38 +msgid "" +"Average number of days until ticket is closed (tickets opened in last 60 " +"days): " +msgstr "" + +#: templates/helpdesk/dashboard.html:39 +msgid "Click" +msgstr "" + +#: templates/helpdesk/dashboard.html:39 +msgid "for detailed average by month." +msgstr "" + +#: templates/helpdesk/dashboard.html:40 +msgid "Distribution of open tickets, grouped by time period:" +msgstr "" + +#: templates/helpdesk/dashboard.html:41 +msgid "Days since opened" +msgstr "" + +#: templates/helpdesk/dashboard.html:41 +msgid "Number of open tickets" +msgstr "" + +#: templates/helpdesk/dashboard.html:57 msgid "All Tickets submitted by you" msgstr "" -#: templates/helpdesk/dashboard.html:37 templates/helpdesk/dashboard.html:57 -#: templates/helpdesk/dashboard.html:77 templates/helpdesk/dashboard.html:99 -#: templates/helpdesk/ticket_list.html:199 +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:100 templates/helpdesk/dashboard.html:124 +#: templates/helpdesk/ticket_list.html:225 msgid "Pr" msgstr "" -#: templates/helpdesk/dashboard.html:37 templates/helpdesk/dashboard.html:57 -#: templates/helpdesk/dashboard.html:99 +#: templates/helpdesk/dashboard.html:58 templates/helpdesk/dashboard.html:78 +#: templates/helpdesk/dashboard.html:124 msgid "Last Update" msgstr "" -#: templates/helpdesk/dashboard.html:56 +#: templates/helpdesk/dashboard.html:77 msgid "Open Tickets assigned to you (you are working on this ticket)" msgstr "" -#: templates/helpdesk/dashboard.html:69 +#: templates/helpdesk/dashboard.html:92 msgid "You have no tickets assigned to you." msgstr "" -#: templates/helpdesk/dashboard.html:76 +#: templates/helpdesk/dashboard.html:99 msgid "(pick up a ticket if you start to work on it)" msgstr "" -#: templates/helpdesk/dashboard.html:85 -#: templates/helpdesk/ticket_desc_table.html:22 +#: templates/helpdesk/dashboard.html:110 +#: templates/helpdesk/ticket_desc_table.html:38 msgid "Take" msgstr "" -#: templates/helpdesk/dashboard.html:85 +#: templates/helpdesk/dashboard.html:110 #: templates/helpdesk/email_ignore_list.html:13 #: templates/helpdesk/email_ignore_list.html:23 #: templates/helpdesk/ticket_cc_list.html:15 #: templates/helpdesk/ticket_cc_list.html:23 -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Delete" msgstr "" -#: templates/helpdesk/dashboard.html:89 +#: templates/helpdesk/dashboard.html:114 msgid "There are no unassigned tickets." msgstr "" -#: templates/helpdesk/dashboard.html:98 +#: templates/helpdesk/dashboard.html:123 msgid "Closed & resolved Tickets you used to work on" msgstr "" #: templates/helpdesk/delete_ticket.html:3 +#: templates/helpdesk/delete_ticket.html:6 msgid "Delete Ticket" msgstr "" -#: templates/helpdesk/delete_ticket.html:5 +#: templates/helpdesk/delete_ticket.html:8 #, python-format msgid "" -"\n" -"

Delete Ticket

\n" -"\n" -"

Are you sure you want to delete this ticket (%(ticket_title)s)? All traces of the ticket, including followups, attachments, and updates will be irreversably removed.

\n" +"Are you sure you want to delete this ticket (%(ticket_title)s)? All" +" traces of the ticket, including followups, attachments, and updates will be" +" irreversibly removed." msgstr "" #: templates/helpdesk/edit_ticket.html:3 msgid "Edit Ticket" msgstr "" -#: templates/helpdesk/edit_ticket.html:6 -msgid "" -"

Edit a Ticket

\n" -"\n" -"

Unless otherwise stated, all fields are required. Please provide as descriptive a title and description as possible.

\n" -"\n" -"

Note: Editing a ticket does not send an e-mail to the ticket owner or submitter. No new details should be entered, this form should only be used to fix incorrect details or clean up the submission.

" +#: templates/helpdesk/edit_ticket.html:9 +msgid "Edit a Ticket" msgstr "" -#: templates/helpdesk/edit_ticket.html:28 +#: templates/helpdesk/edit_ticket.html:13 +msgid "Note" +msgstr "" + +#: templates/helpdesk/edit_ticket.html:13 +msgid "" +"Editing a ticket does not send an e-mail to the ticket owner or " +"submitter. No new details should be entered, this form should only be used " +"to fix incorrect details or clean up the submission." +msgstr "" + +#: templates/helpdesk/edit_ticket.html:33 msgid "Save Changes" msgstr "" #: templates/helpdesk/email_ignore_add.html:3 +#: templates/helpdesk/email_ignore_add.html:6 #: templates/helpdesk/email_ignore_add.html:23 msgid "Ignore E-Mail Address" msgstr "" -#: templates/helpdesk/email_ignore_add.html:5 +#: templates/helpdesk/email_ignore_add.html:8 msgid "" -"\n" -"

Ignore E-Mail Address

\n" -"\n" -"

To ignore an e-mail address and prevent any emails from that address creating tickets automatically, enter the e-mail address below.

\n" -"\n" -"

You can either enter a whole e-mail address such as email@domain.com or a portion of an e-mail address with a wildcard, such as *@domain.com or user@*.

" +"To ignore an e-mail address and prevent any emails from that address " +"creating tickets automatically, enter the e-mail address below." +msgstr "" + +#: templates/helpdesk/email_ignore_add.html:10 +msgid "" +"You can either enter a whole e-mail address such as " +"email@domain.com or a portion of an e-mail address with a wildcard," +" such as *@domain.com or user@*." msgstr "" #: templates/helpdesk/email_ignore_del.html:3 msgid "Delete Ignored E-Mail Address" msgstr "" -#: templates/helpdesk/email_ignore_del.html:5 -#, python-format -msgid "" -"\n" -"

Un-Ignore E-Mail Address

\n" -"\n" -"

Are you sure you wish to stop removing this email address (%(email_address)s) and allow their e-mails to automatically create tickets in your system? You can re-add this e-mail address at any time.

\n" +#: templates/helpdesk/email_ignore_del.html:6 +msgid "Un-Ignore E-Mail Address" msgstr "" -#: templates/helpdesk/email_ignore_del.html:11 +#: templates/helpdesk/email_ignore_del.html:8 +#, python-format +msgid "" +"Are you sure you wish to stop removing this email address " +"(%(email_address)s) and allow their e-mails to automatically create" +" tickets in your system? You can re-add this e-mail address at any time." +msgstr "" + +#: templates/helpdesk/email_ignore_del.html:10 msgid "Keep Ignoring It" msgstr "" -#: templates/helpdesk/email_ignore_del.html:13 +#: templates/helpdesk/email_ignore_del.html:12 msgid "Stop Ignoring It" msgstr "" @@ -1240,16 +1384,12 @@ msgstr "" msgid "Date Added" msgstr "" -#: templates/helpdesk/email_ignore_list.html:13 -msgid "Queues" -msgstr "" - #: templates/helpdesk/email_ignore_list.html:13 msgid "Keep in mailbox?" msgstr "" #: templates/helpdesk/email_ignore_list.html:21 -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "All" msgstr "" @@ -1284,7 +1424,7 @@ msgid "Comment:" msgstr "" #: templates/helpdesk/kb_category.html:4 -#: templates/helpdesk/kb_category.html:11 +#: templates/helpdesk/kb_category.html:12 #, python-format msgid "Knowledgebase Category: %(kbcat)s" msgstr "" @@ -1294,12 +1434,12 @@ msgstr "" msgid "You are viewing all items in the %(kbcat)s category." msgstr "" -#: templates/helpdesk/kb_category.html:12 +#: templates/helpdesk/kb_category.html:13 msgid "Article" msgstr "" -#: templates/helpdesk/kb_index.html:4 templates/helpdesk/navigation.html:11 -#: templates/helpdesk/navigation.html:33 +#: templates/helpdesk/kb_index.html:4 templates/helpdesk/navigation.html:21 +#: templates/helpdesk/navigation.html:71 msgid "Knowledgebase" msgstr "" @@ -1310,8 +1450,8 @@ msgid "" "your problem prior to opening a support ticket." msgstr "" -#: templates/helpdesk/kb_index.html:9 -#: templates/helpdesk/public_homepage.html:9 +#: templates/helpdesk/kb_index.html:10 +#: templates/helpdesk/public_homepage.html:10 msgid "Knowledgebase Categories" msgstr "" @@ -1320,7 +1460,7 @@ msgstr "" msgid "Knowledgebase: %(item)s" msgstr "" -#: templates/helpdesk/kb_item.html:13 +#: templates/helpdesk/kb_item.html:16 #, python-format msgid "" "View other %(category_title)s " @@ -1328,88 +1468,82 @@ msgid "" "articles." msgstr "" -#: templates/helpdesk/kb_item.html:15 +#: templates/helpdesk/kb_item.html:18 msgid "Feedback" msgstr "" -#: templates/helpdesk/kb_item.html:17 +#: templates/helpdesk/kb_item.html:20 msgid "" "We give our users an opportunity to vote for items that they believe have " "helped them out, in order for us to better serve future customers. We would " "appreciate your feedback on this article. Did you find it useful?" msgstr "" -#: templates/helpdesk/kb_item.html:20 +#: templates/helpdesk/kb_item.html:23 msgid "This article was useful to me" msgstr "" -#: templates/helpdesk/kb_item.html:21 +#: templates/helpdesk/kb_item.html:24 msgid "This article was not useful to me" msgstr "" -#: templates/helpdesk/kb_item.html:24 +#: templates/helpdesk/kb_item.html:27 msgid "The results of voting by other readers of this article are below:" msgstr "" -#: templates/helpdesk/kb_item.html:27 +#: templates/helpdesk/kb_item.html:30 #, python-format msgid "Recommendations: %(recommendations)s" msgstr "" -#: templates/helpdesk/kb_item.html:28 +#: templates/helpdesk/kb_item.html:31 #, python-format msgid "Votes: %(votes)s" msgstr "" -#: templates/helpdesk/kb_item.html:29 +#: templates/helpdesk/kb_item.html:32 #, python-format msgid "Overall Rating: %(score)s" msgstr "" -#: templates/helpdesk/navigation.html:4 +#: templates/helpdesk/navigation.html:16 templates/helpdesk/navigation.html:64 msgid "Dashboard" msgstr "" -#: templates/helpdesk/navigation.html:5 -#: templates/helpdesk/ticket_list.html:198 -msgid "Tickets" -msgstr "" - -#: templates/helpdesk/navigation.html:6 +#: templates/helpdesk/navigation.html:18 msgid "New Ticket" msgstr "" -#: templates/helpdesk/navigation.html:8 +#: templates/helpdesk/navigation.html:19 msgid "Stats" msgstr "" -#: templates/helpdesk/navigation.html:14 -#: templates/helpdesk/ticket_list.html:46 -msgid "Load Saved Query" +#: templates/helpdesk/navigation.html:24 +msgid "Saved Query" msgstr "" -#: templates/helpdesk/navigation.html:25 templates/helpdesk/navigation.html:35 -msgid "Logout" +#: templates/helpdesk/navigation.html:39 +msgid "Change password" msgstr "" -#: templates/helpdesk/navigation.html:26 +#: templates/helpdesk/navigation.html:50 msgid "Search..." msgstr "" -#: templates/helpdesk/navigation.html:26 +#: templates/helpdesk/navigation.html:50 msgid "Enter a keyword, or a ticket number to jump straight to that ticket." msgstr "" -#: templates/helpdesk/navigation.html:31 -msgid "Submit A Ticket" +#: templates/helpdesk/navigation.html:73 +msgid "Logout" msgstr "" -#: templates/helpdesk/navigation.html:35 +#: templates/helpdesk/navigation.html:73 msgid "Log In" msgstr "" #: templates/helpdesk/public_change_language.html:2 -#: templates/helpdesk/public_homepage.html:21 +#: templates/helpdesk/public_homepage.html:73 #: templates/helpdesk/public_view_form.html:4 #: templates/helpdesk/public_view_ticket.html:2 msgid "View a Ticket" @@ -1423,74 +1557,81 @@ msgstr "" msgid "Knowledgebase Articles" msgstr "" -#: templates/helpdesk/public_homepage.html:29 +#: templates/helpdesk/public_homepage.html:28 +msgid "All fields are required." +msgstr "" + +#: templates/helpdesk/public_homepage.html:66 +msgid "Please use button at upper right to login first." +msgstr "" + +#: templates/helpdesk/public_homepage.html:82 #: templates/helpdesk/public_view_form.html:15 msgid "Your E-mail Address" msgstr "" -#: templates/helpdesk/public_homepage.html:33 +#: templates/helpdesk/public_homepage.html:86 #: templates/helpdesk/public_view_form.html:19 msgid "View Ticket" msgstr "" -#: templates/helpdesk/public_homepage.html:39 -msgid "Submit a Ticket" -msgstr "" - -#: templates/helpdesk/public_homepage.html:41 -msgid "" -"All fields are required. Please provide as descriptive a title and " -"description as possible." -msgstr "" - -#: templates/helpdesk/public_homepage.html:67 -msgid "Please use button at upper right to login first." -msgstr "" - #: templates/helpdesk/public_spam.html:4 msgid "Unable To Open Ticket" msgstr "" +#: templates/helpdesk/public_spam.html:5 +msgid "Sorry, but there has been an error trying to submit your ticket." +msgstr "" + #: templates/helpdesk/public_spam.html:6 msgid "" -"

Sorry, but there has been an error trying to submit your ticket.

\n" -"\n" -"

Our system has marked your submission as spam, so we are unable to save it. If this is not spam, please press back and re-type your message. Be careful to avoid sounding 'spammy', and if you have heaps of links please try removing them if possible.

\n" -"\n" -"

We are sorry for any inconvenience, however this check is required to avoid our helpdesk resources being overloaded by spammers.

\n" +"Our system has marked your submission as spam, so we are " +"unable to save it. If this is not spam, please press back and re-type your " +"message. Be careful to avoid sounding 'spammy', and if you have heaps of " +"links please try removing them if possible." +msgstr "" + +#: templates/helpdesk/public_spam.html:7 +msgid "" +"We are sorry for any inconvenience, however this check is required to avoid " +"our helpdesk resources being overloaded by spammers." msgstr "" #: templates/helpdesk/public_view_form.html:8 msgid "Error:" msgstr "" -#: templates/helpdesk/public_view_ticket.html:8 +#: templates/helpdesk/public_view_ticket.html:9 #, python-format msgid "Queue: %(queue_name)s" msgstr "" -#: templates/helpdesk/public_view_ticket.html:11 -#: templates/helpdesk/ticket_desc_table.html:16 +#: templates/helpdesk/public_view_ticket.html:13 +#: templates/helpdesk/ticket_desc_table.html:32 msgid "Submitted On" msgstr "" -#: templates/helpdesk/public_view_ticket.html:46 -#: templates/helpdesk/ticket_desc_table.html:74 +#: templates/helpdesk/public_view_ticket.html:35 +msgid "Tags" +msgstr "" + +#: templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 msgid "Accept" msgstr "" -#: templates/helpdesk/public_view_ticket.html:46 -#: templates/helpdesk/ticket_desc_table.html:74 +#: templates/helpdesk/public_view_ticket.html:48 +#: templates/helpdesk/ticket_desc_table.html:26 msgid "Accept and Close" msgstr "" -#: templates/helpdesk/public_view_ticket.html:55 -#: templates/helpdesk/ticket.html:64 +#: templates/helpdesk/public_view_ticket.html:57 +#: templates/helpdesk/ticket.html:66 msgid "Follow-Ups" msgstr "" -#: templates/helpdesk/public_view_ticket.html:63 -#: templates/helpdesk/ticket.html:92 +#: templates/helpdesk/public_view_ticket.html:65 +#: templates/helpdesk/ticket.html:100 #, python-format msgid "Changed %(field)s from %(old_value)s to %(new_value)s." msgstr "" @@ -1533,6 +1674,10 @@ msgstr "" msgid "Reports By Queue" msgstr "" +#: templates/helpdesk/report_index.html:27 views/staff.py:1049 +msgid "Days until ticket closed by Month" +msgstr "" + #: templates/helpdesk/report_output.html:19 msgid "" "You can run this query on filtered data by using one of your saved queries." @@ -1590,15 +1735,15 @@ msgid "" "new tickets coming into that queue." msgstr "" -#: templates/helpdesk/rss_list.html:22 +#: templates/helpdesk/rss_list.html:23 msgid "Per-Queue Feeds" msgstr "" -#: templates/helpdesk/rss_list.html:23 +#: templates/helpdesk/rss_list.html:24 msgid "All Open Tickets" msgstr "" -#: templates/helpdesk/rss_list.html:27 +#: templates/helpdesk/rss_list.html:30 msgid "Open Tickets" msgstr "" @@ -1606,12 +1751,8 @@ msgstr "" msgid "Change System Settings" msgstr "" -#: templates/helpdesk/system_settings.html:5 -msgid "" -"\n" -"

System Settings

\n" -"\n" -"

The following items can be maintained by you or other superusers:

" +#: templates/helpdesk/system_settings.html:8 +msgid "The following items can be maintained by you or other superusers:" msgstr "" #: templates/helpdesk/system_settings.html:11 @@ -1650,77 +1791,81 @@ msgstr "" msgid "Attach another File" msgstr "" -#: templates/helpdesk/ticket.html:34 templates/helpdesk/ticket.html.py:197 +#: templates/helpdesk/ticket.html:34 templates/helpdesk/ticket.html.py:200 msgid "Add Another File" msgstr "" -#: templates/helpdesk/ticket.html:71 templates/helpdesk/ticket.html.py:81 +#: templates/helpdesk/ticket.html:73 templates/helpdesk/ticket.html.py:86 msgid "Private" msgstr "" -#: templates/helpdesk/ticket.html:111 +#: templates/helpdesk/ticket.html:119 msgid "Respond to this ticket" msgstr "" -#: templates/helpdesk/ticket.html:118 +#: templates/helpdesk/ticket.html:126 msgid "Use a Pre-set Reply" msgstr "" -#: templates/helpdesk/ticket.html:120 +#: templates/helpdesk/ticket.html:126 templates/helpdesk/ticket.html.py:166 +msgid "(Optional)" +msgstr "" + +#: templates/helpdesk/ticket.html:128 msgid "" "Selecting a pre-set reply will over-write your comment below. You can then " "modify the pre-set reply to your liking before saving this update." msgstr "" -#: templates/helpdesk/ticket.html:123 +#: templates/helpdesk/ticket.html:131 msgid "Comment / Resolution" msgstr "" -#: templates/helpdesk/ticket.html:125 +#: templates/helpdesk/ticket.html:133 msgid "" "You can insert ticket and queue details in your message. For more " "information, see the context help page." msgstr "" -#: templates/helpdesk/ticket.html:128 +#: templates/helpdesk/ticket.html:136 msgid "" "This ticket cannot be resolved or closed until the tickets it depends on are" " resolved." msgstr "" -#: templates/helpdesk/ticket.html:158 +#: templates/helpdesk/ticket.html:166 msgid "Is this update public?" msgstr "" -#: templates/helpdesk/ticket.html:160 +#: templates/helpdesk/ticket.html:168 msgid "" "If this is public, the submitter will be e-mailed your comment or " "resolution." msgstr "" -#: templates/helpdesk/ticket.html:164 +#: templates/helpdesk/ticket.html:172 msgid "Change Further Details »" msgstr "" -#: templates/helpdesk/ticket.html:173 templates/helpdesk/ticket_list.html:55 -#: templates/helpdesk/ticket_list.html:87 -#: templates/helpdesk/ticket_list.html:199 +#: templates/helpdesk/ticket.html:181 templates/helpdesk/ticket_list.html:68 +#: templates/helpdesk/ticket_list.html:97 +#: templates/helpdesk/ticket_list.html:225 msgid "Owner" msgstr "" -#: templates/helpdesk/ticket.html:174 +#: templates/helpdesk/ticket.html:182 msgid "Unassign" msgstr "" -#: templates/helpdesk/ticket.html:190 +#: templates/helpdesk/ticket.html:193 msgid "Attach File(s) »" msgstr "" -#: templates/helpdesk/ticket.html:196 +#: templates/helpdesk/ticket.html:199 msgid "Attach a File" msgstr "" -#: templates/helpdesk/ticket.html:204 +#: templates/helpdesk/ticket.html:207 msgid "Update This Ticket" msgstr "" @@ -1823,263 +1968,256 @@ msgid "" "

Are you sure you wish to remove the dependency on this ticket?

\n" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:11 +#: templates/helpdesk/ticket_desc_table.html:7 msgid "Unhold" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:11 +#: templates/helpdesk/ticket_desc_table.html:7 msgid "Hold" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:13 +#: templates/helpdesk/ticket_desc_table.html:9 #, python-format msgid "Queue: %(queue)s" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:21 +#: templates/helpdesk/ticket_desc_table.html:37 msgid "Assigned To" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:27 +#: templates/helpdesk/ticket_desc_table.html:43 msgid "Ignore" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:36 +#: templates/helpdesk/ticket_desc_table.html:52 msgid "Copies To" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:37 +#: templates/helpdesk/ticket_desc_table.html:53 msgid "Manage" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:37 +#: templates/helpdesk/ticket_desc_table.html:53 msgid "" "Click here to add / remove people who should receive an e-mail whenever this" " ticket is updated." msgstr "" -#: templates/helpdesk/ticket_desc_table.html:48 +#: templates/helpdesk/ticket_desc_table.html:53 +msgid "Subscribe" +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:53 +msgid "" +"Click here to subscribe yourself to this ticket, if you want to receive an " +"e-mail whenever this ticket is updated." +msgstr "" + +#: templates/helpdesk/ticket_desc_table.html:57 msgid "Dependencies" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:50 +#: templates/helpdesk/ticket_desc_table.html:59 msgid "" "This ticket cannot be resolved until the following ticket(s) are resolved" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:51 +#: templates/helpdesk/ticket_desc_table.html:60 msgid "Remove Dependency" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:54 +#: templates/helpdesk/ticket_desc_table.html:63 msgid "This ticket has no dependencies." msgstr "" -#: templates/helpdesk/ticket_desc_table.html:56 +#: templates/helpdesk/ticket_desc_table.html:65 msgid "Add Dependency" msgstr "" -#: templates/helpdesk/ticket_desc_table.html:56 +#: templates/helpdesk/ticket_desc_table.html:65 msgid "" "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." msgstr "" -#: templates/helpdesk/ticket_list.html:2 -msgid "Ticket Listing" -msgstr "" - -#: templates/helpdesk/ticket_list.html:41 -msgid "Query Options" -msgstr "" - -#: templates/helpdesk/ticket_list.html:43 -msgid "Save This Query" -msgstr "" - -#: templates/helpdesk/ticket_list.html:51 +#: templates/helpdesk/ticket_list.html:59 msgid "Change Query" msgstr "" -#: templates/helpdesk/ticket_list.html:54 -#: templates/helpdesk/ticket_list.html:69 +#: templates/helpdesk/ticket_list.html:67 +#: templates/helpdesk/ticket_list.html:79 msgid "Sorting" msgstr "" -#: templates/helpdesk/ticket_list.html:58 -#: templates/helpdesk/ticket_list.html:137 +#: templates/helpdesk/ticket_list.html:71 +#: templates/helpdesk/ticket_list.html:139 msgid "Keywords" msgstr "" -#: templates/helpdesk/ticket_list.html:59 +#: templates/helpdesk/ticket_list.html:72 msgid "Date Range" msgstr "" -#: templates/helpdesk/ticket_list.html:90 +#: templates/helpdesk/ticket_list.html:100 msgid "Reverse" msgstr "" -#: templates/helpdesk/ticket_list.html:92 +#: templates/helpdesk/ticket_list.html:102 msgid "Ordering applied to tickets" msgstr "" -#: templates/helpdesk/ticket_list.html:97 +#: templates/helpdesk/ticket_list.html:107 msgid "Owner(s)" msgstr "" -#: templates/helpdesk/ticket_list.html:101 +#: templates/helpdesk/ticket_list.html:111 msgid "(ME)" msgstr "" -#: templates/helpdesk/ticket_list.html:105 +#: templates/helpdesk/ticket_list.html:115 msgid "Ctrl-Click to select multiple options" msgstr "" -#: templates/helpdesk/ticket_list.html:110 +#: templates/helpdesk/ticket_list.html:120 msgid "Queue(s)" msgstr "" -#: templates/helpdesk/ticket_list.html:111 -#: templates/helpdesk/ticket_list.html:117 -#: templates/helpdesk/ticket_list.html:131 +#: templates/helpdesk/ticket_list.html:121 +#: templates/helpdesk/ticket_list.html:127 msgid "Ctrl-click to select multiple options" msgstr "" -#: templates/helpdesk/ticket_list.html:116 +#: templates/helpdesk/ticket_list.html:126 msgid "Status(es)" msgstr "" -#: templates/helpdesk/ticket_list.html:122 +#: templates/helpdesk/ticket_list.html:132 msgid "Date (From)" msgstr "" -#: templates/helpdesk/ticket_list.html:123 +#: templates/helpdesk/ticket_list.html:133 msgid "Date (To)" msgstr "" -#: templates/helpdesk/ticket_list.html:124 +#: templates/helpdesk/ticket_list.html:134 msgid "Use YYYY-MM-DD date format, eg 2011-05-29" msgstr "" -#: templates/helpdesk/ticket_list.html:130 -msgid "Tag(s)" -msgstr "" - -#: templates/helpdesk/ticket_list.html:138 +#: templates/helpdesk/ticket_list.html:140 msgid "" "Keywords are case-insensitive, and will be looked for in the title, body and" " submitter fields." msgstr "" -#: templates/helpdesk/ticket_list.html:142 +#: templates/helpdesk/ticket_list.html:144 msgid "Apply Filter" msgstr "" -#: templates/helpdesk/ticket_list.html:144 +#: templates/helpdesk/ticket_list.html:146 #, python-format -msgid "You are currently viewing saved query %(query_name)s." +msgid "You are currently viewing saved query \"%(query_name)s\"." msgstr "" -#: templates/helpdesk/ticket_list.html:147 +#: templates/helpdesk/ticket_list.html:149 #, python-format msgid "" "Run a report on this " "query to see stats and charts for the data listed below." msgstr "" -#: templates/helpdesk/ticket_list.html:154 -#: templates/helpdesk/ticket_list.html:169 +#: templates/helpdesk/ticket_list.html:162 +#: templates/helpdesk/ticket_list.html:181 msgid "Save Query" msgstr "" -#: templates/helpdesk/ticket_list.html:160 +#: templates/helpdesk/ticket_list.html:172 msgid "" "This name appears in the drop-down list of saved queries. If you share your " "query, other users will see this name, so choose something clear and " "descriptive!" msgstr "" -#: templates/helpdesk/ticket_list.html:162 +#: templates/helpdesk/ticket_list.html:174 msgid "Shared?" msgstr "" -#: templates/helpdesk/ticket_list.html:163 +#: templates/helpdesk/ticket_list.html:175 msgid "Yes, share this query with other users." msgstr "" -#: templates/helpdesk/ticket_list.html:164 +#: templates/helpdesk/ticket_list.html:176 msgid "" "If you share this query, it will be visible by all other logged-in " "users." msgstr "" -#: templates/helpdesk/ticket_list.html:176 +#: templates/helpdesk/ticket_list.html:195 msgid "Use Saved Query" msgstr "" -#: templates/helpdesk/ticket_list.html:178 +#: templates/helpdesk/ticket_list.html:202 msgid "Query" msgstr "" -#: templates/helpdesk/ticket_list.html:183 +#: templates/helpdesk/ticket_list.html:207 msgid "Run Query" msgstr "" -#: templates/helpdesk/ticket_list.html:213 +#: templates/helpdesk/ticket_list.html:240 msgid "No Tickets Match Your Selection" msgstr "" -#: templates/helpdesk/ticket_list.html:219 +#: templates/helpdesk/ticket_list.html:247 msgid "Previous" msgstr "" -#: templates/helpdesk/ticket_list.html:223 +#: templates/helpdesk/ticket_list.html:251 #, python-format msgid "Page %(ticket_num)s of %(num_pages)s." msgstr "" -#: templates/helpdesk/ticket_list.html:227 +#: templates/helpdesk/ticket_list.html:255 msgid "Next" msgstr "" -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "Select:" msgstr "" -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "None" msgstr "" -#: templates/helpdesk/ticket_list.html:232 +#: templates/helpdesk/ticket_list.html:260 msgid "Inverse" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "With Selected Tickets:" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Take (Assign to me)" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Close" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Close (Don't Send E-Mail)" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Close (Send E-Mail)" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Assign To" msgstr "" -#: templates/helpdesk/ticket_list.html:234 +#: templates/helpdesk/ticket_list.html:262 msgid "Nobody (Unassign)" msgstr "" @@ -2087,15 +2225,13 @@ msgstr "" msgid "Change User Settings" msgstr "" -#: templates/helpdesk/user_settings.html:14 +#: templates/helpdesk/user_settings.html:8 msgid "" -"\n" -"

User Settings

\n" -"\n" -"

Use the following options to change the way your helpdesk system works for you. These settings do not impact any other user.

\n" +"Use the following options to change the way your helpdesk system works for " +"you. These settings do not impact any other user." msgstr "" -#: templates/helpdesk/user_settings.html:29 +#: templates/helpdesk/user_settings.html:14 msgid "Save Options" msgstr "" @@ -2116,116 +2252,101 @@ msgstr "" msgid "Helpdesk Login" msgstr "" -#: templates/helpdesk/registration/login.html:9 -#: templates/helpdesk/registration/login.html:21 -msgid "Login" -msgstr "" - -#: templates/helpdesk/registration/login.html:11 -msgid "" -"To log in and begin responding to cases, simply enter your username and " -"password below." -msgstr "" - #: templates/helpdesk/registration/login.html:14 +msgid "To log in simply enter your username and password below." +msgstr "" + +#: templates/helpdesk/registration/login.html:17 msgid "Your username and password didn't match. Please try again." msgstr "" -#: templates/helpdesk/registration/login.html:16 -msgid "Username" +#: templates/helpdesk/registration/login.html:20 +msgid "Login" msgstr "" -#: templates/helpdesk/registration/login.html:18 -msgid "Password" -msgstr "" - -#: views/feeds.py:35 +#: views/feeds.py:39 #, python-format msgid "Helpdesk: Open Tickets in queue %(queue)s for %(username)s" msgstr "" -#: views/feeds.py:40 +#: views/feeds.py:44 #, python-format msgid "Helpdesk: Open Tickets for %(username)s" msgstr "" -#: views/feeds.py:46 +#: views/feeds.py:50 #, python-format msgid "Open and Reopened Tickets in queue %(queue)s for %(username)s" msgstr "" -#: views/feeds.py:51 +#: views/feeds.py:55 #, python-format msgid "Open and Reopened Tickets for %(username)s" msgstr "" -#: views/feeds.py:98 +#: views/feeds.py:102 msgid "Helpdesk: Unassigned Tickets" msgstr "" -#: views/feeds.py:99 +#: views/feeds.py:103 msgid "Unassigned Open and Reopened tickets" msgstr "" -#: views/feeds.py:124 +#: views/feeds.py:128 msgid "Helpdesk: Recent Followups" msgstr "" -#: views/feeds.py:125 +#: views/feeds.py:129 msgid "" "Recent FollowUps, such as e-mail replies, comments, attachments and " "resolutions" msgstr "" -#: views/feeds.py:140 +#: views/feeds.py:144 #, python-format msgid "Helpdesk: Open Tickets in queue %(queue)s" msgstr "" -#: views/feeds.py:145 +#: views/feeds.py:149 #, python-format msgid "Open and Reopened Tickets in queue %(queue)s" msgstr "" -#: views/public.py:91 +#: views/public.py:89 msgid "Invalid ticket ID or e-mail address. Please try again." msgstr "" -#: views/public.py:109 +#: views/public.py:107 msgid "Submitter accepted resolution and closed ticket" msgstr "" -#: views/staff.py:218 +#: views/staff.py:235 msgid "Accepted resolution and closed ticket" msgstr "" -#: views/staff.py:246 -msgid "Sorry, you need to login to do that." -msgstr "" - -#: views/staff.py:295 +#: views/staff.py:369 #, python-format msgid "Assigned to %(username)s" msgstr "" -#: views/staff.py:318 +#: views/staff.py:392 msgid "Updated" msgstr "" -#: views/staff.py:496 +#: views/staff.py:577 #, python-format msgid "Assigned to %(username)s in bulk update" msgstr "" -#: views/staff.py:501 +#: views/staff.py:582 msgid "Unassigned in bulk update" msgstr "" -#: views/staff.py:506 views/staff.py:511 +#: views/staff.py:587 views/staff.py:592 msgid "Closed in bulk update" msgstr "" -#: views/staff.py:732 +#: views/staff.py:806 msgid "" "

Note: Your keyword search is case sensitive because of " "your database. This means the search will not be accurate. " @@ -2235,86 +2356,38 @@ msgid "" "matching\">Django Documentation on string matching in SQLite." msgstr "" -#: views/staff.py:843 +#: views/staff.py:910 msgid "Ticket taken off hold" msgstr "" -#: views/staff.py:846 +#: views/staff.py:913 msgid "Ticket placed on hold" msgstr "" -#: views/staff.py:914 -msgid "Jan" -msgstr "" - -#: views/staff.py:915 -msgid "Feb" -msgstr "" - -#: views/staff.py:916 -msgid "Mar" -msgstr "" - -#: views/staff.py:917 -msgid "Apr" -msgstr "" - -#: views/staff.py:918 -msgid "May" -msgstr "" - -#: views/staff.py:919 -msgid "Jun" -msgstr "" - -#: views/staff.py:920 -msgid "Jul" -msgstr "" - -#: views/staff.py:921 -msgid "Aug" -msgstr "" - -#: views/staff.py:922 -msgid "Sep" -msgstr "" - -#: views/staff.py:923 -msgid "Oct" -msgstr "" - -#: views/staff.py:924 -msgid "Nov" -msgstr "" - -#: views/staff.py:925 -msgid "Dec" -msgstr "" - -#: views/staff.py:951 +#: views/staff.py:1007 msgid "User by Priority" msgstr "" -#: views/staff.py:957 +#: views/staff.py:1013 msgid "User by Queue" msgstr "" -#: views/staff.py:963 +#: views/staff.py:1019 msgid "User by Status" msgstr "" -#: views/staff.py:969 +#: views/staff.py:1025 msgid "User by Month" msgstr "" -#: views/staff.py:975 +#: views/staff.py:1031 msgid "Queue by Priority" msgstr "" -#: views/staff.py:981 +#: views/staff.py:1037 msgid "Queue by Status" msgstr "" -#: views/staff.py:987 +#: views/staff.py:1043 msgid "Queue by Month" msgstr "" diff --git a/helpdesk/management/commands/create_usersettings.py b/helpdesk/management/commands/create_usersettings.py index 9309f7ec..eafa6278 100644 --- a/helpdesk/management/commands/create_usersettings.py +++ b/helpdesk/management/commands/create_usersettings.py @@ -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 diff --git a/helpdesk/management/commands/get_email.py b/helpdesk/management/commands/get_email.py index e3893711..8d4fede6 100644 --- a/helpdesk/management/commands/get_email.py +++ b/helpdesk/management/commands/get_email.py @@ -21,6 +21,8 @@ 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 @@ -192,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: diff --git a/helpdesk/migrations/0001_initial.py b/helpdesk/migrations/0001_initial.py index 57716b45..dfd93b4b 100644 --- a/helpdesk/migrations/0001_initial.py +++ b/helpdesk/migrations/0001_initial.py @@ -1,490 +1,346 @@ -# encoding: utf-8 -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models +# -*- coding: utf-8 -*- +from __future__ import unicode_literals -class Migration(SchemaMigration): - - def forwards(self, orm): - - # Adding model 'Queue' - db.create_table('helpdesk_queue', ( - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('title', self.gf('django.db.models.fields.CharField')(max_length=100)), - ('slug', self.gf('django.db.models.fields.SlugField')(max_length=50, db_index=True)), - ('email_address', self.gf('django.db.models.fields.EmailField')(max_length=75, null=True, blank=True)), - ('locale', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)), - ('allow_public_submission', self.gf('django.db.models.fields.BooleanField')(default=False)), - ('allow_email_submission', self.gf('django.db.models.fields.BooleanField')(default=False)), - ('escalate_days', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), - ('new_ticket_cc', self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True)), - ('updated_ticket_cc', self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True)), - ('email_box_type', self.gf('django.db.models.fields.CharField')(max_length=5, null=True, blank=True)), - ('email_box_host', self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True)), - ('email_box_port', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), - ('email_box_ssl', self.gf('django.db.models.fields.BooleanField')(default=False)), - ('email_box_user', self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True)), - ('email_box_pass', self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True)), - ('email_box_imap_folder', self.gf('django.db.models.fields.CharField')(max_length=100, null=True, blank=True)), - ('email_box_interval', self.gf('django.db.models.fields.IntegerField')(default='5', null=True, blank=True)), - ('email_box_last_check', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), - )) - db.send_create_signal('helpdesk', ['Queue']) - - # Adding model 'Ticket' - db.create_table('helpdesk_ticket', ( - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('title', self.gf('django.db.models.fields.CharField')(max_length=200)), - ('queue', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['helpdesk.Queue'])), - ('created', self.gf('django.db.models.fields.DateTimeField')(blank=True)), - ('modified', self.gf('django.db.models.fields.DateTimeField')(blank=True)), - ('submitter_email', self.gf('django.db.models.fields.EmailField')(max_length=75, null=True, blank=True)), - ('assigned_to', self.gf('django.db.models.fields.related.ForeignKey')(related_name='assigned_to', blank=True, null=True, to=orm['auth.User'])), - ('status', self.gf('django.db.models.fields.IntegerField')(default=1)), - ('on_hold', self.gf('django.db.models.fields.BooleanField')(default=False)), - ('description', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), - ('resolution', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), - ('priority', self.gf('django.db.models.fields.IntegerField')(default=3, blank=3)), - ('last_escalation', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), - )) - db.send_create_signal('helpdesk', ['Ticket']) - - # Adding model 'FollowUp' - db.create_table('helpdesk_followup', ( - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('ticket', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['helpdesk.Ticket'])), - ('date', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime(2011, 4, 27, 15, 17, 4, 272904))), - ('title', self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True)), - ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), - ('public', self.gf('django.db.models.fields.BooleanField')(default=False)), - ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'], null=True, blank=True)), - ('new_status', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), - )) - db.send_create_signal('helpdesk', ['FollowUp']) - - # Adding model 'TicketChange' - db.create_table('helpdesk_ticketchange', ( - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('followup', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['helpdesk.FollowUp'])), - ('field', self.gf('django.db.models.fields.CharField')(max_length=100)), - ('old_value', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), - ('new_value', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), - )) - db.send_create_signal('helpdesk', ['TicketChange']) - - # Adding model 'Attachment' - db.create_table('helpdesk_attachment', ( - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('followup', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['helpdesk.FollowUp'])), - ('file', self.gf('django.db.models.fields.files.FileField')(max_length=100)), - ('filename', self.gf('django.db.models.fields.CharField')(max_length=100)), - ('mime_type', self.gf('django.db.models.fields.CharField')(max_length=30)), - ('size', self.gf('django.db.models.fields.IntegerField')()), - )) - db.send_create_signal('helpdesk', ['Attachment']) - - # Adding model 'PreSetReply' - db.create_table('helpdesk_presetreply', ( - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('name', self.gf('django.db.models.fields.CharField')(max_length=100)), - ('body', self.gf('django.db.models.fields.TextField')()), - )) - db.send_create_signal('helpdesk', ['PreSetReply']) - - # Adding M2M table for field queues on 'PreSetReply' - db.create_table('helpdesk_presetreply_queues', ( - ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), - ('presetreply', models.ForeignKey(orm['helpdesk.presetreply'], null=False)), - ('queue', models.ForeignKey(orm['helpdesk.queue'], null=False)) - )) - db.create_unique('helpdesk_presetreply_queues', ['presetreply_id', 'queue_id']) - - # Adding model 'EscalationExclusion' - db.create_table('helpdesk_escalationexclusion', ( - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('name', self.gf('django.db.models.fields.CharField')(max_length=100)), - ('date', self.gf('django.db.models.fields.DateField')()), - )) - db.send_create_signal('helpdesk', ['EscalationExclusion']) - - # Adding M2M table for field queues on 'EscalationExclusion' - db.create_table('helpdesk_escalationexclusion_queues', ( - ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), - ('escalationexclusion', models.ForeignKey(orm['helpdesk.escalationexclusion'], null=False)), - ('queue', models.ForeignKey(orm['helpdesk.queue'], null=False)) - )) - db.create_unique('helpdesk_escalationexclusion_queues', ['escalationexclusion_id', 'queue_id']) - - # Adding model 'EmailTemplate' - db.create_table('helpdesk_emailtemplate', ( - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('template_name', self.gf('django.db.models.fields.CharField')(max_length=100)), - ('subject', self.gf('django.db.models.fields.CharField')(max_length=100)), - ('heading', self.gf('django.db.models.fields.CharField')(max_length=100)), - ('plain_text', self.gf('django.db.models.fields.TextField')()), - ('html', self.gf('django.db.models.fields.TextField')()), - ('locale', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)), - )) - db.send_create_signal('helpdesk', ['EmailTemplate']) - - # Adding model 'KBCategory' - db.create_table('helpdesk_kbcategory', ( - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('title', self.gf('django.db.models.fields.CharField')(max_length=100)), - ('slug', self.gf('django.db.models.fields.SlugField')(max_length=50, db_index=True)), - ('description', self.gf('django.db.models.fields.TextField')()), - )) - db.send_create_signal('helpdesk', ['KBCategory']) - - # Adding model 'KBItem' - db.create_table('helpdesk_kbitem', ( - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('category', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['helpdesk.KBCategory'])), - ('title', self.gf('django.db.models.fields.CharField')(max_length=100)), - ('question', self.gf('django.db.models.fields.TextField')()), - ('answer', self.gf('django.db.models.fields.TextField')()), - ('votes', self.gf('django.db.models.fields.IntegerField')(default=0)), - ('recommendations', self.gf('django.db.models.fields.IntegerField')(default=0)), - ('last_updated', self.gf('django.db.models.fields.DateTimeField')(blank=True)), - )) - db.send_create_signal('helpdesk', ['KBItem']) - - # Adding model 'SavedSearch' - db.create_table('helpdesk_savedsearch', ( - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), - ('title', self.gf('django.db.models.fields.CharField')(max_length=100)), - ('shared', self.gf('django.db.models.fields.BooleanField')(default=False)), - ('query', self.gf('django.db.models.fields.TextField')()), - )) - db.send_create_signal('helpdesk', ['SavedSearch']) - - # Adding model 'UserSettings' - db.create_table('helpdesk_usersettings', ( - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('user', self.gf('django.db.models.fields.related.OneToOneField')(to=orm['auth.User'], unique=True)), - ('settings_pickled', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), - )) - db.send_create_signal('helpdesk', ['UserSettings']) - - # Adding model 'IgnoreEmail' - db.create_table('helpdesk_ignoreemail', ( - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('name', self.gf('django.db.models.fields.CharField')(max_length=100)), - ('date', self.gf('django.db.models.fields.DateField')(blank=True)), - ('email_address', self.gf('django.db.models.fields.CharField')(max_length=150)), - ('keep_in_mailbox', self.gf('django.db.models.fields.BooleanField')(default=False)), - )) - db.send_create_signal('helpdesk', ['IgnoreEmail']) - - # Adding M2M table for field queues on 'IgnoreEmail' - db.create_table('helpdesk_ignoreemail_queues', ( - ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), - ('ignoreemail', models.ForeignKey(orm['helpdesk.ignoreemail'], null=False)), - ('queue', models.ForeignKey(orm['helpdesk.queue'], null=False)) - )) - db.create_unique('helpdesk_ignoreemail_queues', ['ignoreemail_id', 'queue_id']) - - # Adding model 'TicketCC' - db.create_table('helpdesk_ticketcc', ( - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('ticket', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['helpdesk.Ticket'])), - ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'], null=True, blank=True)), - ('email', self.gf('django.db.models.fields.EmailField')(max_length=75, null=True, blank=True)), - ('can_view', self.gf('django.db.models.fields.BooleanField')(default=False)), - ('can_update', self.gf('django.db.models.fields.BooleanField')(default=False)), - )) - db.send_create_signal('helpdesk', ['TicketCC']) - - # Adding model 'CustomField' - db.create_table('helpdesk_customfield', ( - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('name', self.gf('django.db.models.fields.SlugField')(max_length=50, unique=True, db_index=True)), - ('label', self.gf('django.db.models.fields.CharField')(max_length='30')), - ('help_text', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), - ('data_type', self.gf('django.db.models.fields.CharField')(max_length=100)), - ('max_length', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), - ('decimal_places', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), - ('list_values', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), - ('required', self.gf('django.db.models.fields.BooleanField')(default=False)), - ('staff_only', self.gf('django.db.models.fields.BooleanField')(default=False)), - )) - db.send_create_signal('helpdesk', ['CustomField']) - - # Adding model 'TicketCustomFieldValue' - db.create_table('helpdesk_ticketcustomfieldvalue', ( - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('ticket', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['helpdesk.Ticket'])), - ('field', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['helpdesk.CustomField'])), - ('value', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), - )) - db.send_create_signal('helpdesk', ['TicketCustomFieldValue']) - - # Adding unique constraint on 'TicketCustomFieldValue', fields ['ticket', 'field'] - db.create_unique('helpdesk_ticketcustomfieldvalue', ['ticket_id', 'field_id']) +from django.db import models, migrations +import django.utils.timezone +from django.conf import settings +import helpdesk.models - def backwards(self, orm): - - # Removing unique constraint on 'TicketCustomFieldValue', fields ['ticket', 'field'] - db.delete_unique('helpdesk_ticketcustomfieldvalue', ['ticket_id', 'field_id']) +class Migration(migrations.Migration): - # Deleting model 'Queue' - db.delete_table('helpdesk_queue') + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] - # Deleting model 'Ticket' - db.delete_table('helpdesk_ticket') - - # Deleting model 'FollowUp' - db.delete_table('helpdesk_followup') - - # Deleting model 'TicketChange' - db.delete_table('helpdesk_ticketchange') - - # Deleting model 'Attachment' - db.delete_table('helpdesk_attachment') - - # Deleting model 'PreSetReply' - db.delete_table('helpdesk_presetreply') - - # Removing M2M table for field queues on 'PreSetReply' - db.delete_table('helpdesk_presetreply_queues') - - # Deleting model 'EscalationExclusion' - db.delete_table('helpdesk_escalationexclusion') - - # Removing M2M table for field queues on 'EscalationExclusion' - db.delete_table('helpdesk_escalationexclusion_queues') - - # Deleting model 'EmailTemplate' - db.delete_table('helpdesk_emailtemplate') - - # Deleting model 'KBCategory' - db.delete_table('helpdesk_kbcategory') - - # Deleting model 'KBItem' - db.delete_table('helpdesk_kbitem') - - # Deleting model 'SavedSearch' - db.delete_table('helpdesk_savedsearch') - - # Deleting model 'UserSettings' - db.delete_table('helpdesk_usersettings') - - # Deleting model 'IgnoreEmail' - db.delete_table('helpdesk_ignoreemail') - - # Removing M2M table for field queues on 'IgnoreEmail' - db.delete_table('helpdesk_ignoreemail_queues') - - # Deleting model 'TicketCC' - db.delete_table('helpdesk_ticketcc') - - # Deleting model 'CustomField' - db.delete_table('helpdesk_customfield') - - # Deleting model 'TicketCustomFieldValue' - db.delete_table('helpdesk_ticketcustomfieldvalue') - - - models = { - 'auth.group': { - 'Meta': {'object_name': 'Group'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80', 'unique': 'True'}), - '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', [], {'max_length': '30', 'unique': 'True'}) - }, - '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'}), - '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', [], {'max_length': '50', 'unique': 'True', 'db_index': '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', [], {'to': "orm['helpdesk.Queue']", 'symmetrical': 'False', '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(2011, 4, 27, 15, 17, 4, 272904)'}), - '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', [], {'to': "orm['helpdesk.Queue']", 'symmetrical': 'False', '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', 'db_index': 'True'}), - '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', [], {'to': "orm['helpdesk.Queue']", 'symmetrical': 'False', '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', 'db_index': 'True'}), - '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', [], {'related_name': "'assigned_to'", 'blank': 'True', 'null': 'True', 'to': "orm['auth.User']"}), - 'created': ('django.db.models.fields.DateTimeField', [], {'blank': 'True'}), - 'description': ('django.db.models.fields.TextField', [], {'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.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'] + operations = [ + migrations.CreateModel( + name='Attachment', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('file', models.FileField(upload_to=helpdesk.models.attachment_path, max_length=1000, verbose_name='File')), + ('filename', models.CharField(max_length=1000, verbose_name='Filename')), + ('mime_type', models.CharField(max_length=255, verbose_name='MIME Type')), + ('size', models.IntegerField(help_text='Size of this file in bytes', verbose_name='Size')), + ], + options={ + 'ordering': ['filename'], + 'verbose_name': 'Attachment', + 'verbose_name_plural': 'Attachments', + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='CustomField', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('name', models.SlugField(help_text='As used in the database and behind the scenes. Must be unique and consist of only lowercase letters with no punctuation.', unique=True, verbose_name='Field Name')), + ('label', models.CharField(help_text='The display label for this field', max_length=b'30', verbose_name='Label')), + ('help_text', models.TextField(help_text='Shown to the user when editing the ticket', null=True, verbose_name='Help Text', blank=True)), + ('data_type', models.CharField(help_text='Allows you to restrict the data entered into this field', max_length=100, verbose_name='Data Type', choices=[(b'varchar', 'Character (single line)'), (b'text', 'Text (multi-line)'), (b'integer', 'Integer'), (b'decimal', 'Decimal'), (b'list', 'List'), (b'boolean', 'Boolean (checkbox yes/no)'), (b'date', 'Date'), (b'time', 'Time'), (b'datetime', 'Date & Time'), (b'email', 'E-Mail Address'), (b'url', 'URL'), (b'ipaddress', 'IP Address'), (b'slug', 'Slug')])), + ('max_length', models.IntegerField(null=True, verbose_name='Maximum Length (characters)', blank=True)), + ('decimal_places', models.IntegerField(help_text='Only used for decimal fields', null=True, verbose_name='Decimal Places', blank=True)), + ('empty_selection_list', models.BooleanField(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.', verbose_name='Add empty first choice to List?')), + ('list_values', models.TextField(help_text='For list fields only. Enter one option per line.', null=True, verbose_name='List Values', blank=True)), + ('ordering', models.IntegerField(help_text='Lower numbers are displayed first; higher numbers are listed later', null=True, verbose_name='Ordering', blank=True)), + ('required', models.BooleanField(default=False, help_text='Does the user have to enter a value for this field?', verbose_name='Required?')), + ('staff_only', models.BooleanField(default=False, help_text='If this is ticked, then the public submission form will NOT show this field', verbose_name='Staff Only?')), + ], + options={ + 'verbose_name': 'Custom field', + 'verbose_name_plural': 'Custom fields', + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='EmailTemplate', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('template_name', models.CharField(max_length=100, verbose_name='Template Name')), + ('subject', models.CharField(help_text='This will be prefixed with "[ticket.ticket] ticket.title". We recommend something simple such as "(Updated") or "(Closed)" - the same context is available as in plain_text, below.', max_length=100, verbose_name='Subject')), + ('heading', models.CharField(help_text='In HTML e-mails, this will be the heading at the top of the email - the same context is available as in plain_text, below.', max_length=100, verbose_name='Heading')), + ('plain_text', models.TextField(help_text='The context available to you includes {{ ticket }}, {{ queue }}, and depending on the time of the call: {{ resolution }} or {{ comment }}.', verbose_name='Plain Text')), + ('html', models.TextField(help_text='The same context is available here as in plain_text, above.', verbose_name='HTML')), + ('locale', models.CharField(help_text='Locale of this template.', max_length=10, null=True, verbose_name='Locale', blank=True)), + ], + options={ + 'ordering': ['template_name', 'locale'], + 'verbose_name': 'e-mail template', + 'verbose_name_plural': 'e-mail templates', + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='EscalationExclusion', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('name', models.CharField(max_length=100, verbose_name='Name')), + ('date', models.DateField(help_text='Date on which escalation should not happen', verbose_name='Date')), + ], + options={ + 'verbose_name': 'Escalation exclusion', + 'verbose_name_plural': 'Escalation exclusions', + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='FollowUp', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('date', models.DateTimeField(default=django.utils.timezone.now, verbose_name='Date')), + ('title', models.CharField(max_length=200, null=True, verbose_name='Title', blank=True)), + ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), + ('public', models.BooleanField(default=False, help_text='Public tickets are viewable by the submitter and all staff, but non-public tickets can only be seen by staff.', verbose_name='Public')), + ('new_status', models.IntegerField(blank=True, help_text='If the status was changed, what was it changed to?', null=True, verbose_name='New Status', choices=[(1, 'Open'), (2, 'Reopened'), (3, 'Resolved'), (4, 'Closed'), (5, 'Duplicate')])), + ], + options={ + 'ordering': ['date'], + 'verbose_name': 'Follow-up', + 'verbose_name_plural': 'Follow-ups', + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='IgnoreEmail', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('name', models.CharField(max_length=100, verbose_name='Name')), + ('date', models.DateField(help_text='Date on which this e-mail address was added', verbose_name='Date', editable=False, blank=True)), + ('email_address', models.CharField(help_text='Enter a full e-mail address, or portions with wildcards, eg *@domain.com or postmaster@*.', max_length=150, verbose_name='E-Mail Address')), + ('keep_in_mailbox', models.BooleanField(default=False, help_text='Do you want to save emails from this address in the mailbox? If this is unticked, emails from this address will be deleted.', verbose_name='Save Emails in Mailbox?')), + ], + options={ + 'verbose_name': 'Ignored e-mail address', + 'verbose_name_plural': 'Ignored e-mail addresses', + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='KBCategory', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('title', models.CharField(max_length=100, verbose_name='Title')), + ('slug', models.SlugField(verbose_name='Slug')), + ('description', models.TextField(verbose_name='Description')), + ], + options={ + 'ordering': ['title'], + 'verbose_name': 'Knowledge base category', + 'verbose_name_plural': 'Knowledge base categories', + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='KBItem', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('title', models.CharField(max_length=100, verbose_name='Title')), + ('question', models.TextField(verbose_name='Question')), + ('answer', models.TextField(verbose_name='Answer')), + ('votes', models.IntegerField(default=0, help_text='Total number of votes cast for this item', verbose_name='Votes')), + ('recommendations', models.IntegerField(default=0, help_text='Number of votes for this item which were POSITIVE.', verbose_name='Positive Votes')), + ('last_updated', models.DateTimeField(help_text='The date on which this question was most recently changed.', verbose_name='Last Updated', blank=True)), + ('category', models.ForeignKey(verbose_name='Category', to='helpdesk.KBCategory')), + ], + options={ + 'ordering': ['title'], + 'verbose_name': 'Knowledge base item', + 'verbose_name_plural': 'Knowledge base items', + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='PreSetReply', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('name', models.CharField(help_text='Only used to assist users with selecting a reply - not shown to the user.', max_length=100, verbose_name='Name')), + ('body', models.TextField(help_text='Context available: {{ ticket }} - ticket object (eg {{ ticket.title }}); {{ queue }} - The queue; and {{ user }} - the current user.', verbose_name='Body')), + ], + options={ + 'ordering': ['name'], + 'verbose_name': 'Pre-set reply', + 'verbose_name_plural': 'Pre-set replies', + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='Queue', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('title', models.CharField(max_length=100, verbose_name='Title')), + ('slug', models.SlugField(help_text="This slug is used when building ticket ID's. Once set, try not to change it or e-mailing may get messy.", verbose_name='Slug')), + ('email_address', models.EmailField(help_text='All outgoing e-mails for this queue will use this e-mail address. If you use IMAP or POP3, this should be the e-mail address for that mailbox.', max_length=75, null=True, verbose_name='E-Mail Address', blank=True)), + ('locale', models.CharField(help_text='Locale of this queue. All correspondence in this queue will be in this language.', max_length=10, null=True, verbose_name='Locale', blank=True)), + ('allow_public_submission', models.BooleanField(default=False, help_text='Should this queue be listed on the public submission form?', verbose_name='Allow Public Submission?')), + ('allow_email_submission', models.BooleanField(default=False, help_text='Do you want to poll the e-mail box below for new tickets?', verbose_name='Allow E-Mail Submission?')), + ('escalate_days', models.IntegerField(help_text='For tickets which are not held, how often do you wish to increase their priority? Set to 0 for no escalation.', null=True, verbose_name='Escalation Days', blank=True)), + ('new_ticket_cc', models.CharField(help_text='If an e-mail address is entered here, then it will receive notification of all new tickets created for this queue. Enter a comma between multiple e-mail addresses.', max_length=200, null=True, verbose_name='New Ticket CC Address', blank=True)), + ('updated_ticket_cc', models.CharField(help_text='If an e-mail address is entered here, then it will receive notification of all activity (new tickets, closed tickets, updates, reassignments, etc) for this queue. Separate multiple addresses with a comma.', max_length=200, null=True, verbose_name='Updated Ticket CC Address', blank=True)), + ('email_box_type', models.CharField(choices=[(b'pop3', 'POP 3'), (b'imap', 'IMAP')], max_length=5, blank=True, help_text='E-Mail server type for creating tickets automatically from a mailbox - both POP3 and IMAP are supported.', null=True, verbose_name='E-Mail Box Type')), + ('email_box_host', models.CharField(help_text='Your e-mail server address - either the domain name or IP address. May be "localhost".', max_length=200, null=True, verbose_name='E-Mail Hostname', blank=True)), + ('email_box_port', models.IntegerField(help_text='Port number to use for accessing e-mail. Default for POP3 is "110", and for IMAP is "143". This may differ on some servers. Leave it blank to use the defaults.', null=True, verbose_name='E-Mail Port', blank=True)), + ('email_box_ssl', models.BooleanField(default=False, help_text='Whether to use SSL for IMAP or POP3 - the default ports when using SSL are 993 for IMAP and 995 for POP3.', verbose_name='Use SSL for E-Mail?')), + ('email_box_user', models.CharField(help_text='Username for accessing this mailbox.', max_length=200, null=True, verbose_name='E-Mail Username', blank=True)), + ('email_box_pass', models.CharField(help_text='Password for the above username', max_length=200, null=True, verbose_name='E-Mail Password', blank=True)), + ('email_box_imap_folder', models.CharField(help_text='If using IMAP, what folder do you wish to fetch messages from? This allows you to use one IMAP account for multiple queues, by filtering messages on your IMAP server into separate folders. Default: INBOX.', max_length=100, null=True, verbose_name='IMAP Folder', blank=True)), + ('email_box_interval', models.IntegerField(default=b'5', help_text='How often do you wish to check this mailbox? (in Minutes)', null=True, verbose_name='E-Mail Check Interval', blank=True)), + ('email_box_last_check', models.DateTimeField(null=True, editable=False, blank=True)), + ], + options={ + 'ordering': ('title',), + 'verbose_name': 'Queue', + 'verbose_name_plural': 'Queues', + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='SavedSearch', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('title', models.CharField(help_text='User-provided name for this query', max_length=100, verbose_name='Query Name')), + ('shared', models.BooleanField(default=False, help_text='Should other users see this query?', verbose_name='Shared With Other Users?')), + ('query', models.TextField(help_text='Pickled query object. Be wary changing this.', verbose_name='Search Query')), + ('user', models.ForeignKey(verbose_name='User', to=settings.AUTH_USER_MODEL)), + ], + options={ + 'verbose_name': 'Saved search', + 'verbose_name_plural': 'Saved searches', + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='Ticket', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('title', models.CharField(max_length=200, verbose_name='Title')), + ('created', models.DateTimeField(help_text='Date this ticket was first created', verbose_name='Created', blank=True)), + ('modified', models.DateTimeField(help_text='Date this ticket was most recently changed.', verbose_name='Modified', blank=True)), + ('submitter_email', models.EmailField(help_text='The submitter will receive an email for all public follow-ups left for this task.', max_length=75, null=True, verbose_name='Submitter E-Mail', blank=True)), + ('status', models.IntegerField(default=1, verbose_name='Status', choices=[(1, 'Open'), (2, 'Reopened'), (3, 'Resolved'), (4, 'Closed'), (5, 'Duplicate')])), + ('on_hold', models.BooleanField(default=False, help_text='If a ticket is on hold, it will not automatically be escalated.', verbose_name='On Hold')), + ('description', models.TextField(help_text='The content of the customers query.', null=True, verbose_name='Description', blank=True)), + ('resolution', models.TextField(help_text='The resolution provided to the customer by our staff.', null=True, verbose_name='Resolution', blank=True)), + ('priority', models.IntegerField(default=3, help_text='1 = Highest Priority, 5 = Low Priority', blank=3, verbose_name='Priority', choices=[(1, '1. Critical'), (2, '2. High'), (3, '3. Normal'), (4, '4. Low'), (5, '5. Very Low')])), + ('due_date', models.DateTimeField(null=True, verbose_name='Due on', blank=True)), + ('last_escalation', models.DateTimeField(help_text='The date this ticket was last escalated - updated automatically by management/commands/escalate_tickets.py.', null=True, editable=False, blank=True)), + ('assigned_to', models.ForeignKey(related_name=b'assigned_to', verbose_name='Assigned to', blank=True, to=settings.AUTH_USER_MODEL, null=True)), + ('queue', models.ForeignKey(verbose_name='Queue', to='helpdesk.Queue')), + ], + options={ + 'ordering': ('id',), + 'get_latest_by': 'created', + 'verbose_name': 'Ticket', + 'verbose_name_plural': 'Tickets', + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='TicketCC', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('email', models.EmailField(help_text='For non-user followers, enter their e-mail address', max_length=75, null=True, verbose_name='E-Mail Address', blank=True)), + ('can_view', models.BooleanField(default=False, help_text='Can this CC login to view the ticket details?', verbose_name='Can View Ticket?')), + ('can_update', models.BooleanField(default=False, help_text='Can this CC login and update the ticket?', verbose_name='Can Update Ticket?')), + ('ticket', models.ForeignKey(verbose_name='Ticket', to='helpdesk.Ticket')), + ('user', models.ForeignKey(blank=True, to=settings.AUTH_USER_MODEL, help_text='User who wishes to receive updates for this ticket.', null=True, verbose_name='User')), + ], + options={ + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='TicketChange', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('field', models.CharField(max_length=100, verbose_name='Field')), + ('old_value', models.TextField(null=True, verbose_name='Old Value', blank=True)), + ('new_value', models.TextField(null=True, verbose_name='New Value', blank=True)), + ('followup', models.ForeignKey(verbose_name='Follow-up', to='helpdesk.FollowUp')), + ], + options={ + 'verbose_name': 'Ticket change', + 'verbose_name_plural': 'Ticket changes', + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='TicketCustomFieldValue', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('value', models.TextField(null=True, blank=True)), + ('field', models.ForeignKey(verbose_name='Field', to='helpdesk.CustomField')), + ('ticket', models.ForeignKey(verbose_name='Ticket', to='helpdesk.Ticket')), + ], + options={ + 'verbose_name': 'Ticket custom field value', + 'verbose_name_plural': 'Ticket custom field values', + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='TicketDependency', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('depends_on', models.ForeignKey(related_name=b'depends_on', verbose_name='Depends On Ticket', to='helpdesk.Ticket')), + ('ticket', models.ForeignKey(related_name=b'ticketdependency', verbose_name='Ticket', to='helpdesk.Ticket')), + ], + options={ + 'verbose_name': 'Ticket dependency', + 'verbose_name_plural': 'Ticket dependencies', + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='UserSettings', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('settings_pickled', models.TextField(help_text='This is a base64-encoded representation of a pickled Python dictionary. Do not change this field via the admin.', null=True, verbose_name='Settings Dictionary', blank=True)), + ('user', models.OneToOneField(to=settings.AUTH_USER_MODEL)), + ], + options={ + 'verbose_name': 'User Setting', + 'verbose_name_plural': 'User Settings', + }, + bases=(models.Model,), + ), + migrations.AlterUniqueTogether( + name='ticketdependency', + unique_together=set([('ticket', 'depends_on')]), + ), + migrations.AddField( + model_name='presetreply', + name='queues', + field=models.ManyToManyField(help_text='Leave blank to allow this reply to be used for all queues, or select those queues you wish to limit this reply to.', to='helpdesk.Queue', null=True, blank=True), + preserve_default=True, + ), + migrations.AddField( + model_name='ignoreemail', + name='queues', + field=models.ManyToManyField(help_text='Leave blank for this e-mail to be ignored on all queues, or select those queues you wish to ignore this e-mail for.', to='helpdesk.Queue', null=True, blank=True), + preserve_default=True, + ), + migrations.AddField( + model_name='followup', + name='ticket', + field=models.ForeignKey(verbose_name='Ticket', to='helpdesk.Ticket'), + preserve_default=True, + ), + migrations.AddField( + model_name='followup', + name='user', + field=models.ForeignKey(verbose_name='User', blank=True, to=settings.AUTH_USER_MODEL, null=True), + preserve_default=True, + ), + migrations.AddField( + model_name='escalationexclusion', + name='queues', + field=models.ManyToManyField(help_text='Leave blank for this exclusion to be applied to all queues, or select those queues you wish to exclude with this entry.', to='helpdesk.Queue', null=True, blank=True), + preserve_default=True, + ), + migrations.AddField( + model_name='attachment', + name='followup', + field=models.ForeignKey(verbose_name='Follow-up', to='helpdesk.FollowUp'), + preserve_default=True, + ), + ] diff --git a/helpdesk/models.py b/helpdesk/models.py index 15946286..453b337d 100644 --- a/helpdesk/models.py +++ b/helpdesk/models.py @@ -7,8 +7,8 @@ models.py - Model (and hence database) definitions. This is the core of the helpdesk structure. """ -from django.contrib.auth.models import User from django.db import models +from django.contrib.auth import get_user_model from django.conf import settings from django.utils.translation import ugettext_lazy as _, ugettext @@ -17,11 +17,6 @@ try: except ImportError: from datetime import datetime as timezone -from helpdesk.settings import HAS_TAG_SUPPORT - -if HAS_TAG_SUPPORT: - from tagging.fields import TagField - class Queue(models.Model): """ A queue is a collection of tickets into what would generally be business @@ -188,6 +183,8 @@ class Queue(models.Model): class Meta: ordering = ('title',) + verbose_name = _('Queue') + verbose_name_plural = _('Queues') def _from_address(self): """ @@ -245,7 +242,7 @@ class Ticket(models.Model): (REOPENED_STATUS, _('Reopened')), (RESOLVED_STATUS, _('Resolved')), (CLOSED_STATUS, _('Closed')), - (DUPLICATE_STATUS, _('Duplicate')), + (DUPLICATE_STATUS, _('Duplicate')), ) PRIORITY_CHOICES = ( @@ -287,7 +284,7 @@ class Ticket(models.Model): ) assigned_to = models.ForeignKey( - User, + settings.AUTH_USER_MODEL, related_name='assigned_to', blank=True, null=True, @@ -375,13 +372,17 @@ class Ticket(models.Model): return u"%shelpdesk/priorities/priority%s.png" % (settings.MEDIA_URL, self.priority) get_priority_img = property(_get_priority_img) - def _get_priority_span(self): + def _get_priority_css_class(self): """ - A HTML providing a CSS_styled representation of the priority. + Return the boostrap class corresponding to the priority. """ - from django.utils.safestring import mark_safe - return mark_safe(u"%s" % (self.priority, self.priority)) - get_priority_span = property(_get_priority_span) + if self.priority == 2: + return "warning" + elif self.priority == 1: + return "danger" + else: + return "" + get_priority_css_class = property(_get_priority_css_class) def _get_status(self): """ @@ -441,14 +442,14 @@ 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',) + verbose_name = _('Ticket') + verbose_name_plural = _('Tickets') 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,)) @@ -494,8 +495,8 @@ class FollowUp(models.Model): ) date = models.DateTimeField( - _('Date'), - default = timezone.now() + _('Date'), + default = timezone.now ) title = models.CharField( @@ -520,7 +521,7 @@ class FollowUp(models.Model): ) user = models.ForeignKey( - User, + settings.AUTH_USER_MODEL, blank=True, null=True, verbose_name=_('User'), @@ -538,6 +539,8 @@ class FollowUp(models.Model): class Meta: ordering = ['date'] + verbose_name = _('Follow-up') + verbose_name_plural = _('Follow-ups') def __unicode__(self): return u'%s' % self.title @@ -593,6 +596,10 @@ class TicketChange(models.Model): } return str + class Meta: + verbose_name = _('Ticket change') + verbose_name_plural = _('Ticket changes') + def attachment_path(instance, filename): """ @@ -624,11 +631,12 @@ class Attachment(models.Model): file = models.FileField( _('File'), upload_to=attachment_path, + max_length=1000, ) filename = models.CharField( _('Filename'), - max_length=100, + max_length=1000, ) mime_type = models.CharField( @@ -655,6 +663,8 @@ class Attachment(models.Model): class Meta: ordering = ['filename',] + verbose_name = _('Attachment') + verbose_name_plural = _('Attachments') class PreSetReply(models.Model): @@ -693,6 +703,8 @@ class PreSetReply(models.Model): class Meta: ordering = ['name',] + verbose_name = _('Pre-set reply') + verbose_name_plural = _('Pre-set replies') def __unicode__(self): return u'%s' % self.name @@ -731,6 +743,10 @@ class EscalationExclusion(models.Model): def __unicode__(self): return u'%s' % self.name + class Meta: + verbose_name = _('Escalation exclusion') + verbose_name_plural = _('Escalation exclusions') + class EmailTemplate(models.Model): """ @@ -774,7 +790,7 @@ class EmailTemplate(models.Model): help_text=_('The same context is available here as in plain_text, ' 'above.'), ) - + locale = models.CharField( _('Locale'), max_length=10, @@ -788,6 +804,8 @@ class EmailTemplate(models.Model): class Meta: ordering = ['template_name', 'locale'] + verbose_name = _('e-mail template') + verbose_name_plural = _('e-mail templates') class KBCategory(models.Model): @@ -814,6 +832,8 @@ class KBCategory(models.Model): class Meta: ordering = ['title',] + verbose_name = _('Knowledge base category') + verbose_name_plural = _('Knowledge base categories') def get_absolute_url(self): return ('helpdesk_kb_category', (), {'slug': self.slug}) @@ -879,6 +899,8 @@ class KBItem(models.Model): class Meta: ordering = ['title',] + verbose_name = _('Knowledge base item') + verbose_name_plural = _('Knowledge base items') def get_absolute_url(self): return ('helpdesk_kb_item', (self.id,)) @@ -888,7 +910,7 @@ class KBItem(models.Model): class SavedSearch(models.Model): """ Allow a user to save a ticket search, eg their filtering and sorting - options, and optionally share it with other users. This lets people + options, and optionally share it with other users. This lets people easily create a set of commonly-used filters, such as: * My tickets waiting on me * My tickets waiting on submitter @@ -897,7 +919,7 @@ class SavedSearch(models.Model): etc... """ user = models.ForeignKey( - User, + settings.AUTH_USER_MODEL, verbose_name=_('User'), ) @@ -925,16 +947,21 @@ class SavedSearch(models.Model): else: return u'%s' % self.title + class Meta: + verbose_name = _('Saved search') + verbose_name_plural = _('Saved searches') + + class UserSettings(models.Model): """ A bunch of user-specific settings that we want to be able to define, such - as notification preferences and other things that should probably be + as notification preferences and other things that should probably be configurable. We should always refer to user.usersettings.settings['setting_name']. """ - user = models.OneToOneField(User) + user = models.OneToOneField(settings.AUTH_USER_MODEL) settings_pickled = models.TextField( _('Settings Dictionary'), @@ -964,13 +991,13 @@ class UserSettings(models.Model): return u'Preferences for %s' % self.user class Meta: - verbose_name = 'User Settings' - verbose_name_plural = 'User Settings' + verbose_name = _('User Setting') + verbose_name_plural = _('User Settings') def create_usersettings(sender, created_models=[], instance=None, created=False, **kwargs): """ - Helper function to create UserSettings instances as + Helper function to create UserSettings instances as required, eg when we first create the UserSettings database table via 'syncdb' or when we save a new user. @@ -978,14 +1005,15 @@ def create_usersettings(sender, created_models=[], instance=None, created=False, 'DoesNotExist: UserSettings matching query does not exist.' errors. """ from helpdesk.settings import DEFAULT_USER_SETTINGS - if sender == User and created: + if sender == settings.AUTH_USER_MODEL and created: # This is a new user, so lets create their settings entry. s, created = UserSettings.objects.get_or_create(user=instance, defaults={'settings': DEFAULT_USER_SETTINGS}) s.save() elif UserSettings in created_models: + User = get_user_model() # We just created the UserSettings model, lets create a UserSettings # entry for each existing user. This will only happen once (at install - # time, or at upgrade) when the UserSettings model doesn't already + # time, or at upgrade) when the UserSettings model doesn't already # exist. for u in User.objects.all(): try: @@ -995,12 +1023,16 @@ def create_usersettings(sender, created_models=[], instance=None, created=False, s.save() models.signals.post_syncdb.connect(create_usersettings) -models.signals.post_save.connect(create_usersettings, sender=User) +try: + models.signals.post_save.connect(create_usersettings, sender=settings.AUTH_USER_MODEL) +except: + signal_user = get_user_model() + models.signals.post_save.connect(create_usersettings, sender=signal_user) class IgnoreEmail(models.Model): """ - This model lets us easily ignore e-mails from certain senders when - processing IMAP and POP3 mailboxes, eg mails from postmaster or from + This model lets us easily ignore e-mails from certain senders when + processing IMAP and POP3 mailboxes, eg mails from postmaster or from known trouble-makers. """ queues = models.ManyToManyField( @@ -1071,13 +1103,18 @@ class IgnoreEmail(models.Model): else: return False + class Meta: + verbose_name = _('Ignored e-mail address') + verbose_name_plural = _('Ignored e-mail addresses') + + class TicketCC(models.Model): """ - Often, there are people who wish to follow a ticket who aren't the + Often, there are people who wish to follow a ticket who aren't the person who originally submitted it. This model provides a way for those people to follow a ticket. - In this circumstance, a 'person' could be either an e-mail address or + In this circumstance, a 'person' could be either an e-mail address or an existing system user. """ @@ -1087,7 +1124,7 @@ class TicketCC(models.Model): ) user = models.ForeignKey( - User, + settings.AUTH_USER_MODEL, blank=True, null=True, help_text=_('User who wishes to receive updates for this ticket.'), @@ -1104,12 +1141,14 @@ class TicketCC(models.Model): can_view = models.BooleanField( _('Can View Ticket?'), blank=True, + default=False, help_text=_('Can this CC login to view the ticket details?'), ) can_update = models.BooleanField( _('Can Update Ticket?'), blank=True, + default=False, help_text=_('Can this CC login and update the ticket?'), ) @@ -1131,8 +1170,8 @@ class TicketCC(models.Model): return u'%s for %s' % (self.display, self.ticket.title) class CustomFieldManager(models.Manager): - def get_query_set(self): - return super(CustomFieldManager, self).get_query_set().order_by('ordering') + def get_queryset(self): + return super(CustomFieldManager, self).get_queryset().order_by('ordering') class CustomField(models.Model): @@ -1194,11 +1233,12 @@ class CustomField(models.Model): blank=True, null=True, ) - + 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.'), - ) + ) list_values = models.TextField( _('List Values'), @@ -1206,7 +1246,7 @@ class CustomField(models.Model): blank=True, null=True, ) - + ordering = models.IntegerField( _('Ordering'), help_text=_('Lower numbers are displayed first; higher numbers are listed later'), @@ -1225,11 +1265,13 @@ class CustomField(models.Model): required = models.BooleanField( _('Required?'), help_text=_('Does the user have to enter a value for this field?'), + default=False, ) staff_only = models.BooleanField( _('Staff Only?'), help_text=_('If this is ticked, then the public submission form will NOT show this field'), + default=False, ) objects = CustomFieldManager() @@ -1237,6 +1279,10 @@ class CustomField(models.Model): def __unicode__(self): return '%s' % (self.name) + class Meta: + verbose_name = _('Custom field') + verbose_name_plural = _('Custom fields') + class TicketCustomFieldValue(models.Model): ticket = models.ForeignKey( @@ -1257,11 +1303,15 @@ class TicketCustomFieldValue(models.Model): class Meta: unique_together = ('ticket', 'field'), + class Meta: + verbose_name = _('Ticket custom field value') + verbose_name_plural = _('Ticket custom field values') + class TicketDependency(models.Model): """ The ticket identified by `ticket` cannot be resolved until the ticket in `depends_on` has been resolved. - To help enforce this, a helper function `can_be_resolved` on each Ticket instance checks that + To help enforce this, a helper function `can_be_resolved` on each Ticket instance checks that these have all been resolved. """ ticket = models.ForeignKey( @@ -1281,3 +1331,5 @@ class TicketDependency(models.Model): class Meta: unique_together = ('ticket', 'depends_on') + verbose_name = _('Ticket dependency') + verbose_name_plural = _('Ticket dependencies') diff --git a/helpdesk/settings.py b/helpdesk/settings.py index 1645d5c8..52fb4900 100644 --- a/helpdesk/settings.py +++ b/helpdesk/settings.py @@ -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,6 @@ 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) @@ -80,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 ''' @@ -96,17 +70,8 @@ HELPDESK_SHOW_EDIT_BUTTON_FOLLOW_UP = getattr(settings, 'HELPDESK_SHOW_EDIT_BUTT # 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) -# 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) - # 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) @@ -115,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? @@ -122,26 +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) - -# show basic ticket stats on dashboard? -HELPDESK_DASHBOARD_BASIC_TICKET_STATS = getattr(settings, 'HELPDESK_DASHBOARD_BASIC_TICKET_STATS', False) - - - - -''' 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) diff --git a/helpdesk/south_migrations/0001_initial.py b/helpdesk/south_migrations/0001_initial.py new file mode 100644 index 00000000..57716b45 --- /dev/null +++ b/helpdesk/south_migrations/0001_initial.py @@ -0,0 +1,490 @@ +# encoding: 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): + + # Adding model 'Queue' + db.create_table('helpdesk_queue', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('title', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('slug', self.gf('django.db.models.fields.SlugField')(max_length=50, db_index=True)), + ('email_address', self.gf('django.db.models.fields.EmailField')(max_length=75, null=True, blank=True)), + ('locale', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)), + ('allow_public_submission', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('allow_email_submission', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('escalate_days', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), + ('new_ticket_cc', self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True)), + ('updated_ticket_cc', self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True)), + ('email_box_type', self.gf('django.db.models.fields.CharField')(max_length=5, null=True, blank=True)), + ('email_box_host', self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True)), + ('email_box_port', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), + ('email_box_ssl', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('email_box_user', self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True)), + ('email_box_pass', self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True)), + ('email_box_imap_folder', self.gf('django.db.models.fields.CharField')(max_length=100, null=True, blank=True)), + ('email_box_interval', self.gf('django.db.models.fields.IntegerField')(default='5', null=True, blank=True)), + ('email_box_last_check', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), + )) + db.send_create_signal('helpdesk', ['Queue']) + + # Adding model 'Ticket' + db.create_table('helpdesk_ticket', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('title', self.gf('django.db.models.fields.CharField')(max_length=200)), + ('queue', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['helpdesk.Queue'])), + ('created', self.gf('django.db.models.fields.DateTimeField')(blank=True)), + ('modified', self.gf('django.db.models.fields.DateTimeField')(blank=True)), + ('submitter_email', self.gf('django.db.models.fields.EmailField')(max_length=75, null=True, blank=True)), + ('assigned_to', self.gf('django.db.models.fields.related.ForeignKey')(related_name='assigned_to', blank=True, null=True, to=orm['auth.User'])), + ('status', self.gf('django.db.models.fields.IntegerField')(default=1)), + ('on_hold', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('description', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), + ('resolution', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), + ('priority', self.gf('django.db.models.fields.IntegerField')(default=3, blank=3)), + ('last_escalation', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), + )) + db.send_create_signal('helpdesk', ['Ticket']) + + # Adding model 'FollowUp' + db.create_table('helpdesk_followup', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('ticket', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['helpdesk.Ticket'])), + ('date', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime(2011, 4, 27, 15, 17, 4, 272904))), + ('title', self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True)), + ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), + ('public', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'], null=True, blank=True)), + ('new_status', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), + )) + db.send_create_signal('helpdesk', ['FollowUp']) + + # Adding model 'TicketChange' + db.create_table('helpdesk_ticketchange', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('followup', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['helpdesk.FollowUp'])), + ('field', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('old_value', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), + ('new_value', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), + )) + db.send_create_signal('helpdesk', ['TicketChange']) + + # Adding model 'Attachment' + db.create_table('helpdesk_attachment', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('followup', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['helpdesk.FollowUp'])), + ('file', self.gf('django.db.models.fields.files.FileField')(max_length=100)), + ('filename', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('mime_type', self.gf('django.db.models.fields.CharField')(max_length=30)), + ('size', self.gf('django.db.models.fields.IntegerField')()), + )) + db.send_create_signal('helpdesk', ['Attachment']) + + # Adding model 'PreSetReply' + db.create_table('helpdesk_presetreply', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('name', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('body', self.gf('django.db.models.fields.TextField')()), + )) + db.send_create_signal('helpdesk', ['PreSetReply']) + + # Adding M2M table for field queues on 'PreSetReply' + db.create_table('helpdesk_presetreply_queues', ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('presetreply', models.ForeignKey(orm['helpdesk.presetreply'], null=False)), + ('queue', models.ForeignKey(orm['helpdesk.queue'], null=False)) + )) + db.create_unique('helpdesk_presetreply_queues', ['presetreply_id', 'queue_id']) + + # Adding model 'EscalationExclusion' + db.create_table('helpdesk_escalationexclusion', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('name', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('date', self.gf('django.db.models.fields.DateField')()), + )) + db.send_create_signal('helpdesk', ['EscalationExclusion']) + + # Adding M2M table for field queues on 'EscalationExclusion' + db.create_table('helpdesk_escalationexclusion_queues', ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('escalationexclusion', models.ForeignKey(orm['helpdesk.escalationexclusion'], null=False)), + ('queue', models.ForeignKey(orm['helpdesk.queue'], null=False)) + )) + db.create_unique('helpdesk_escalationexclusion_queues', ['escalationexclusion_id', 'queue_id']) + + # Adding model 'EmailTemplate' + db.create_table('helpdesk_emailtemplate', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('template_name', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('subject', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('heading', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('plain_text', self.gf('django.db.models.fields.TextField')()), + ('html', self.gf('django.db.models.fields.TextField')()), + ('locale', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)), + )) + db.send_create_signal('helpdesk', ['EmailTemplate']) + + # Adding model 'KBCategory' + db.create_table('helpdesk_kbcategory', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('title', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('slug', self.gf('django.db.models.fields.SlugField')(max_length=50, db_index=True)), + ('description', self.gf('django.db.models.fields.TextField')()), + )) + db.send_create_signal('helpdesk', ['KBCategory']) + + # Adding model 'KBItem' + db.create_table('helpdesk_kbitem', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('category', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['helpdesk.KBCategory'])), + ('title', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('question', self.gf('django.db.models.fields.TextField')()), + ('answer', self.gf('django.db.models.fields.TextField')()), + ('votes', self.gf('django.db.models.fields.IntegerField')(default=0)), + ('recommendations', self.gf('django.db.models.fields.IntegerField')(default=0)), + ('last_updated', self.gf('django.db.models.fields.DateTimeField')(blank=True)), + )) + db.send_create_signal('helpdesk', ['KBItem']) + + # Adding model 'SavedSearch' + db.create_table('helpdesk_savedsearch', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), + ('title', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('shared', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('query', self.gf('django.db.models.fields.TextField')()), + )) + db.send_create_signal('helpdesk', ['SavedSearch']) + + # Adding model 'UserSettings' + db.create_table('helpdesk_usersettings', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('user', self.gf('django.db.models.fields.related.OneToOneField')(to=orm['auth.User'], unique=True)), + ('settings_pickled', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), + )) + db.send_create_signal('helpdesk', ['UserSettings']) + + # Adding model 'IgnoreEmail' + db.create_table('helpdesk_ignoreemail', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('name', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('date', self.gf('django.db.models.fields.DateField')(blank=True)), + ('email_address', self.gf('django.db.models.fields.CharField')(max_length=150)), + ('keep_in_mailbox', self.gf('django.db.models.fields.BooleanField')(default=False)), + )) + db.send_create_signal('helpdesk', ['IgnoreEmail']) + + # Adding M2M table for field queues on 'IgnoreEmail' + db.create_table('helpdesk_ignoreemail_queues', ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('ignoreemail', models.ForeignKey(orm['helpdesk.ignoreemail'], null=False)), + ('queue', models.ForeignKey(orm['helpdesk.queue'], null=False)) + )) + db.create_unique('helpdesk_ignoreemail_queues', ['ignoreemail_id', 'queue_id']) + + # Adding model 'TicketCC' + db.create_table('helpdesk_ticketcc', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('ticket', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['helpdesk.Ticket'])), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'], null=True, blank=True)), + ('email', self.gf('django.db.models.fields.EmailField')(max_length=75, null=True, blank=True)), + ('can_view', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('can_update', self.gf('django.db.models.fields.BooleanField')(default=False)), + )) + db.send_create_signal('helpdesk', ['TicketCC']) + + # Adding model 'CustomField' + db.create_table('helpdesk_customfield', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('name', self.gf('django.db.models.fields.SlugField')(max_length=50, unique=True, db_index=True)), + ('label', self.gf('django.db.models.fields.CharField')(max_length='30')), + ('help_text', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), + ('data_type', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('max_length', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), + ('decimal_places', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), + ('list_values', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), + ('required', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('staff_only', self.gf('django.db.models.fields.BooleanField')(default=False)), + )) + db.send_create_signal('helpdesk', ['CustomField']) + + # Adding model 'TicketCustomFieldValue' + db.create_table('helpdesk_ticketcustomfieldvalue', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('ticket', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['helpdesk.Ticket'])), + ('field', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['helpdesk.CustomField'])), + ('value', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), + )) + db.send_create_signal('helpdesk', ['TicketCustomFieldValue']) + + # Adding unique constraint on 'TicketCustomFieldValue', fields ['ticket', 'field'] + db.create_unique('helpdesk_ticketcustomfieldvalue', ['ticket_id', 'field_id']) + + + def backwards(self, orm): + + # Removing unique constraint on 'TicketCustomFieldValue', fields ['ticket', 'field'] + db.delete_unique('helpdesk_ticketcustomfieldvalue', ['ticket_id', 'field_id']) + + # Deleting model 'Queue' + db.delete_table('helpdesk_queue') + + # Deleting model 'Ticket' + db.delete_table('helpdesk_ticket') + + # Deleting model 'FollowUp' + db.delete_table('helpdesk_followup') + + # Deleting model 'TicketChange' + db.delete_table('helpdesk_ticketchange') + + # Deleting model 'Attachment' + db.delete_table('helpdesk_attachment') + + # Deleting model 'PreSetReply' + db.delete_table('helpdesk_presetreply') + + # Removing M2M table for field queues on 'PreSetReply' + db.delete_table('helpdesk_presetreply_queues') + + # Deleting model 'EscalationExclusion' + db.delete_table('helpdesk_escalationexclusion') + + # Removing M2M table for field queues on 'EscalationExclusion' + db.delete_table('helpdesk_escalationexclusion_queues') + + # Deleting model 'EmailTemplate' + db.delete_table('helpdesk_emailtemplate') + + # Deleting model 'KBCategory' + db.delete_table('helpdesk_kbcategory') + + # Deleting model 'KBItem' + db.delete_table('helpdesk_kbitem') + + # Deleting model 'SavedSearch' + db.delete_table('helpdesk_savedsearch') + + # Deleting model 'UserSettings' + db.delete_table('helpdesk_usersettings') + + # Deleting model 'IgnoreEmail' + db.delete_table('helpdesk_ignoreemail') + + # Removing M2M table for field queues on 'IgnoreEmail' + db.delete_table('helpdesk_ignoreemail_queues') + + # Deleting model 'TicketCC' + db.delete_table('helpdesk_ticketcc') + + # Deleting model 'CustomField' + db.delete_table('helpdesk_customfield') + + # Deleting model 'TicketCustomFieldValue' + db.delete_table('helpdesk_ticketcustomfieldvalue') + + + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '80', 'unique': 'True'}), + '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', [], {'max_length': '30', 'unique': 'True'}) + }, + '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'}), + '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', [], {'max_length': '50', 'unique': 'True', 'db_index': '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', [], {'to': "orm['helpdesk.Queue']", 'symmetrical': 'False', '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(2011, 4, 27, 15, 17, 4, 272904)'}), + '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', [], {'to': "orm['helpdesk.Queue']", 'symmetrical': 'False', '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', 'db_index': 'True'}), + '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', [], {'to': "orm['helpdesk.Queue']", 'symmetrical': 'False', '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', 'db_index': 'True'}), + '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', [], {'related_name': "'assigned_to'", 'blank': 'True', 'null': 'True', 'to': "orm['auth.User']"}), + 'created': ('django.db.models.fields.DateTimeField', [], {'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {'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.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'] diff --git a/helpdesk/migrations/0002_auto__add_ticketdependency__add_unique_ticketdependency_ticket_depends.py b/helpdesk/south_migrations/0002_auto__add_ticketdependency__add_unique_ticketdependency_ticket_depends.py similarity index 100% rename from helpdesk/migrations/0002_auto__add_ticketdependency__add_unique_ticketdependency_ticket_depends.py rename to helpdesk/south_migrations/0002_auto__add_ticketdependency__add_unique_ticketdependency_ticket_depends.py diff --git a/helpdesk/migrations/0003_auto__add_field_customfield_ordering.py b/helpdesk/south_migrations/0003_auto__add_field_customfield_ordering.py similarity index 100% rename from helpdesk/migrations/0003_auto__add_field_customfield_ordering.py rename to helpdesk/south_migrations/0003_auto__add_field_customfield_ordering.py diff --git a/helpdesk/migrations/0004_auto__add_field_ticket_due_date.py b/helpdesk/south_migrations/0004_auto__add_field_ticket_due_date.py similarity index 100% rename from helpdesk/migrations/0004_auto__add_field_ticket_due_date.py rename to helpdesk/south_migrations/0004_auto__add_field_ticket_due_date.py diff --git a/helpdesk/migrations/0005_auto__add_field_customfield_empty_selection_list.py b/helpdesk/south_migrations/0005_auto__add_field_customfield_empty_selection_list.py similarity index 100% rename from helpdesk/migrations/0005_auto__add_field_customfield_empty_selection_list.py rename to helpdesk/south_migrations/0005_auto__add_field_customfield_empty_selection_list.py diff --git a/helpdesk/migrations/0006_auto__add_field_ticket_tags.py b/helpdesk/south_migrations/0006_auto__add_field_ticket_tags.py similarity index 100% rename from helpdesk/migrations/0006_auto__add_field_ticket_tags.py rename to helpdesk/south_migrations/0006_auto__add_field_ticket_tags.py diff --git a/helpdesk/migrations/0007_auto__chg_field_attachment_mime_type.py b/helpdesk/south_migrations/0007_auto__chg_field_attachment_mime_type.py similarity index 100% rename from helpdesk/migrations/0007_auto__chg_field_attachment_mime_type.py rename to helpdesk/south_migrations/0007_auto__chg_field_attachment_mime_type.py diff --git a/helpdesk/south_migrations/0008_auto__chg_field_attachment_file__del_unique_ticketcustomfieldvalue_tic.py b/helpdesk/south_migrations/0008_auto__chg_field_attachment_file__del_unique_ticketcustomfieldvalue_tic.py new file mode 100644 index 00000000..b0b2577d --- /dev/null +++ b/helpdesk/south_migrations/0008_auto__chg_field_attachment_file__del_unique_ticketcustomfieldvalue_tic.py @@ -0,0 +1,234 @@ +# -*- coding: utf-8 -*- +from south.utils import datetime_utils as datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Removing unique constraint on 'TicketCustomFieldValue', fields ['ticket', 'field'] + db.delete_unique(u'helpdesk_ticketcustomfieldvalue', ['ticket_id', 'field_id']) + + + # Changing field 'Attachment.file' + db.alter_column(u'helpdesk_attachment', 'file', self.gf('django.db.models.fields.files.FileField')(max_length=1000)) + + def backwards(self, orm): + + # Changing field 'Attachment.file' + db.alter_column(u'helpdesk_attachment', 'file', self.gf('django.db.models.fields.files.FileField')(max_length=100)) + # Adding unique constraint on 'TicketCustomFieldValue', fields ['ticket', 'field'] + db.create_unique(u'helpdesk_ticketcustomfieldvalue', ['ticket_id', 'field_id']) + + + models = { + u'auth.group': { + 'Meta': {'object_name': 'Group'}, + u'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': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + u'auth.permission': { + 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + u'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', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), + u'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', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) + }, + u'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'}), + u'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'}) + }, + u'helpdesk.attachment': { + 'Meta': {'ordering': "['filename']", 'object_name': 'Attachment'}, + 'file': ('django.db.models.fields.files.FileField', [], {'max_length': '1000'}), + 'filename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'followup': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['helpdesk.FollowUp']"}), + u'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', [], {}) + }, + u'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'}), + u'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', [], {}), + 'staff_only': ('django.db.models.fields.BooleanField', [], {}) + }, + u'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', [], {}), + u'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'}) + }, + u'helpdesk.escalationexclusion': { + 'Meta': {'object_name': 'EscalationExclusion'}, + 'date': ('django.db.models.fields.DateField', [], {}), + u'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': u"orm['helpdesk.Queue']", 'null': 'True', 'blank': 'True'}) + }, + u'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(2014, 9, 2, 0, 0)'}), + u'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': u"orm['helpdesk.Ticket']"}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.User']", 'null': 'True', 'blank': 'True'}) + }, + u'helpdesk.ignoreemail': { + 'Meta': {'object_name': 'IgnoreEmail'}, + 'date': ('django.db.models.fields.DateField', [], {'blank': 'True'}), + 'email_address': ('django.db.models.fields.CharField', [], {'max_length': '150'}), + u'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': u"orm['helpdesk.Queue']", 'null': 'True', 'blank': 'True'}) + }, + u'helpdesk.kbcategory': { + 'Meta': {'ordering': "['title']", 'object_name': 'KBCategory'}, + 'description': ('django.db.models.fields.TextField', [], {}), + u'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'}) + }, + u'helpdesk.kbitem': { + 'Meta': {'ordering': "['title']", 'object_name': 'KBItem'}, + 'answer': ('django.db.models.fields.TextField', [], {}), + 'category': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['helpdesk.KBCategory']"}), + u'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'}) + }, + u'helpdesk.presetreply': { + 'Meta': {'ordering': "['name']", 'object_name': 'PreSetReply'}, + 'body': ('django.db.models.fields.TextField', [], {}), + u'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': u"orm['helpdesk.Queue']", 'null': 'True', 'blank': 'True'}) + }, + u'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'}), + u'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'}) + }, + u'helpdesk.savedsearch': { + 'Meta': {'object_name': 'SavedSearch'}, + u'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': u"orm['auth.User']"}) + }, + u'helpdesk.ticket': { + 'Meta': {'ordering': "('id',)", 'object_name': 'Ticket'}, + 'assigned_to': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'assigned_to'", 'null': 'True', 'to': u"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'}), + u'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': u"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'}) + }, + u'helpdesk.ticketcc': { + 'Meta': {'object_name': 'TicketCC'}, + 'can_update': ('django.db.models.fields.BooleanField', [], {}), + 'can_view': ('django.db.models.fields.BooleanField', [], {}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ticket': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['helpdesk.Ticket']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.User']", 'null': 'True', 'blank': 'True'}) + }, + u'helpdesk.ticketchange': { + 'Meta': {'object_name': 'TicketChange'}, + 'field': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'followup': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['helpdesk.FollowUp']"}), + u'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'}) + }, + u'helpdesk.ticketcustomfieldvalue': { + 'Meta': {'object_name': 'TicketCustomFieldValue'}, + 'field': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['helpdesk.CustomField']"}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ticket': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['helpdesk.Ticket']"}), + 'value': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}) + }, + u'helpdesk.ticketdependency': { + 'Meta': {'unique_together': "(('ticket', 'depends_on'),)", 'object_name': 'TicketDependency'}, + 'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'depends_on'", 'to': u"orm['helpdesk.Ticket']"}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ticket': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ticketdependency'", 'to': u"orm['helpdesk.Ticket']"}) + }, + u'helpdesk.usersettings': { + 'Meta': {'object_name': 'UserSettings'}, + u'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': u"orm['auth.User']", 'unique': 'True'}) + } + } + + complete_apps = ['helpdesk'] \ No newline at end of file diff --git a/helpdesk/south_migrations/0009_auto__chg_field_attachment_filename.py b/helpdesk/south_migrations/0009_auto__chg_field_attachment_filename.py new file mode 100644 index 00000000..1b6e52ed --- /dev/null +++ b/helpdesk/south_migrations/0009_auto__chg_field_attachment_filename.py @@ -0,0 +1,228 @@ +# -*- coding: utf-8 -*- +from south.utils import datetime_utils as 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.filename' + db.alter_column(u'helpdesk_attachment', 'filename', self.gf('django.db.models.fields.CharField')(max_length=1000)) + + def backwards(self, orm): + + # Changing field 'Attachment.filename' + db.alter_column(u'helpdesk_attachment', 'filename', self.gf('django.db.models.fields.CharField')(max_length=100)) + + models = { + u'auth.group': { + 'Meta': {'object_name': 'Group'}, + u'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': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + u'auth.permission': { + 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + u'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', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), + u'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', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) + }, + u'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'}), + u'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'}) + }, + u'helpdesk.attachment': { + 'Meta': {'ordering': "['filename']", 'object_name': 'Attachment'}, + 'file': ('django.db.models.fields.files.FileField', [], {'max_length': '1000'}), + 'filename': ('django.db.models.fields.CharField', [], {'max_length': '1000'}), + 'followup': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['helpdesk.FollowUp']"}), + u'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', [], {}) + }, + u'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'}), + u'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', [], {}), + 'staff_only': ('django.db.models.fields.BooleanField', [], {}) + }, + u'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', [], {}), + u'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'}) + }, + u'helpdesk.escalationexclusion': { + 'Meta': {'object_name': 'EscalationExclusion'}, + 'date': ('django.db.models.fields.DateField', [], {}), + u'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': u"orm['helpdesk.Queue']", 'null': 'True', 'blank': 'True'}) + }, + u'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(2014, 9, 2, 0, 0)'}), + u'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': u"orm['helpdesk.Ticket']"}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.User']", 'null': 'True', 'blank': 'True'}) + }, + u'helpdesk.ignoreemail': { + 'Meta': {'object_name': 'IgnoreEmail'}, + 'date': ('django.db.models.fields.DateField', [], {'blank': 'True'}), + 'email_address': ('django.db.models.fields.CharField', [], {'max_length': '150'}), + u'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': u"orm['helpdesk.Queue']", 'null': 'True', 'blank': 'True'}) + }, + u'helpdesk.kbcategory': { + 'Meta': {'ordering': "['title']", 'object_name': 'KBCategory'}, + 'description': ('django.db.models.fields.TextField', [], {}), + u'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'}) + }, + u'helpdesk.kbitem': { + 'Meta': {'ordering': "['title']", 'object_name': 'KBItem'}, + 'answer': ('django.db.models.fields.TextField', [], {}), + 'category': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['helpdesk.KBCategory']"}), + u'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'}) + }, + u'helpdesk.presetreply': { + 'Meta': {'ordering': "['name']", 'object_name': 'PreSetReply'}, + 'body': ('django.db.models.fields.TextField', [], {}), + u'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': u"orm['helpdesk.Queue']", 'null': 'True', 'blank': 'True'}) + }, + u'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'}), + u'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'}) + }, + u'helpdesk.savedsearch': { + 'Meta': {'object_name': 'SavedSearch'}, + u'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': u"orm['auth.User']"}) + }, + u'helpdesk.ticket': { + 'Meta': {'ordering': "('id',)", 'object_name': 'Ticket'}, + 'assigned_to': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'assigned_to'", 'null': 'True', 'to': u"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'}), + u'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': u"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'}) + }, + u'helpdesk.ticketcc': { + 'Meta': {'object_name': 'TicketCC'}, + 'can_update': ('django.db.models.fields.BooleanField', [], {}), + 'can_view': ('django.db.models.fields.BooleanField', [], {}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ticket': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['helpdesk.Ticket']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.User']", 'null': 'True', 'blank': 'True'}) + }, + u'helpdesk.ticketchange': { + 'Meta': {'object_name': 'TicketChange'}, + 'field': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'followup': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['helpdesk.FollowUp']"}), + u'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'}) + }, + u'helpdesk.ticketcustomfieldvalue': { + 'Meta': {'object_name': 'TicketCustomFieldValue'}, + 'field': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['helpdesk.CustomField']"}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ticket': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['helpdesk.Ticket']"}), + 'value': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}) + }, + u'helpdesk.ticketdependency': { + 'Meta': {'unique_together': "(('ticket', 'depends_on'),)", 'object_name': 'TicketDependency'}, + 'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'depends_on'", 'to': u"orm['helpdesk.Ticket']"}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ticket': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ticketdependency'", 'to': u"orm['helpdesk.Ticket']"}) + }, + u'helpdesk.usersettings': { + 'Meta': {'object_name': 'UserSettings'}, + u'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': u"orm['auth.User']", 'unique': 'True'}) + } + } + + complete_apps = ['helpdesk'] \ No newline at end of file diff --git a/helpdesk/south_migrations/__init__.py b/helpdesk/south_migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/helpdesk/static/helpdesk/helpdesk-extend.css b/helpdesk/static/helpdesk/helpdesk-extend.css new file mode 100644 index 00000000..ddc23fcb --- /dev/null +++ b/helpdesk/static/helpdesk/helpdesk-extend.css @@ -0,0 +1,55 @@ +/* +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, table.table caption {background-color: #dbd5d9;} +table.table caption {height: 2em; line-height: 2em; font-weight: bold;} +table.ticket-stats caption {color: #fbff00; font-style: italic;} +table.ticket-stats tbody th, table.ticket-stats tbody tr {padding-left: 20px} + +.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;} \ No newline at end of file diff --git a/helpdesk/static/helpdesk/hover.js b/helpdesk/static/helpdesk/hover.js deleted file mode 100644 index 7b5b412a..00000000 --- a/helpdesk/static/helpdesk/hover.js +++ /dev/null @@ -1,7 +0,0 @@ -$(document).ready(function() { - $("tr.row_hover").mouseover(function() { - $(this).addClass("hover"); - }).mouseout(function() { - $(this).removeClass("hover"); - }); -}); diff --git a/helpdesk/static/helpdesk/jquery.jqplot/excanvas.min.js b/helpdesk/static/helpdesk/jquery.jqplot/excanvas.min.js index 308b1be5..83373a53 100644 --- a/helpdesk/static/helpdesk/jquery.jqplot/excanvas.min.js +++ b/helpdesk/static/helpdesk/jquery.jqplot/excanvas.min.js @@ -1,35 +1,3 @@ -document.createElement("canvas").getContext||function(){function Z(){return this.context_||(this.context_=new C(this))}function $(a,b){var c=P.call(arguments,2);return function(){return a.apply(b,c.concat(P.call(arguments)))}}function Q(a){return String(a).replace(/&/g,"&").replace(/"/g,""")}function R(a,b,c){a.namespaces[b]||a.namespaces.add(b,c,"#default#VML")}function S(a){R(a,"g_vml_","urn:schemas-microsoft-com:vml");R(a,"g_o_","urn:schemas-microsoft-com:office:office");if(!a.styleSheets.ex_canvas_){a= -a.createStyleSheet();a.owningElement.id="ex_canvas_";a.cssText="canvas{display:inline-block;overflow:hidden;text-align:left;width:300px;height:150px}"}}function aa(a){var b=a.srcElement;switch(a.propertyName){case "width":b.getContext().clearRect();b.style.width=b.attributes.width.nodeValue+"px";b.firstChild.style.width=b.clientWidth+"px";break;case "height":b.getContext().clearRect();b.style.height=b.attributes.height.nodeValue+"px";b.firstChild.style.height=b.clientHeight+"px";break}}function ba(a){a= -a.srcElement;if(a.firstChild){a.firstChild.style.width=a.clientWidth+"px";a.firstChild.style.height=a.clientHeight+"px"}}function D(){return[[1,0,0],[0,1,0],[0,0,1]]}function u(a,b){for(var c=D(),d=0;d<3;d++)for(var e=0;e<3;e++){for(var f=0,h=0;h<3;h++)f+=a[d][h]*b[h][e];c[d][e]=f}return c}function T(a,b){b.fillStyle=a.fillStyle;b.lineCap=a.lineCap;b.lineJoin=a.lineJoin;b.lineWidth=a.lineWidth;b.miterLimit=a.miterLimit;b.shadowBlur=a.shadowBlur;b.shadowColor=a.shadowColor;b.shadowOffsetX=a.shadowOffsetX; -b.shadowOffsetY=a.shadowOffsetY;b.strokeStyle=a.strokeStyle;b.globalAlpha=a.globalAlpha;b.font=a.font;b.textAlign=a.textAlign;b.textBaseline=a.textBaseline;b.arcScaleX_=a.arcScaleX_;b.arcScaleY_=a.arcScaleY_;b.lineScale_=a.lineScale_}function U(a){var b=a.indexOf("(",3),c=a.indexOf(")",b+1);b=a.substring(b+1,c).split(",");if(b.length!=4||a.charAt(3)!="a")b[3]=1;return b}function E(a){return parseFloat(a)/100}function F(a,b,c){return Math.min(c,Math.max(b,a))}function ca(a){var b,c;c=parseFloat(a[0])/ -360%360;c<0&&c++;b=F(E(a[1]),0,1);a=F(E(a[2]),0,1);if(b==0)b=a=c=a;else{var d=a<0.5?a*(1+b):a+b-a*b,e=2*a-d;b=G(e,d,c+1/3);a=G(e,d,c);c=G(e,d,c-1/3)}return"#"+v[Math.floor(b*255)]+v[Math.floor(a*255)]+v[Math.floor(c*255)]}function G(a,b,c){c<0&&c++;c>1&&c--;return 6*c<1?a+(b-a)*6*c:2*c<1?b:3*c<2?a+(b-a)*(2/3-c)*6:a}function H(a){if(a in I)return I[a];var b,c=1;a=String(a);if(a.charAt(0)=="#")b=a;else if(/^rgb/.test(a)){c=U(a);b="#";for(var d,e=0;e<3;e++){d=c[e].indexOf("%")!=-1?Math.floor(E(c[e])* -255):+c[e];b+=v[F(d,0,255)]}c=+c[3]}else if(/^hsl/.test(a)){c=U(a);b=ca(c);c=c[3]}else b=da[a]||a;return I[a]={color:b,alpha:c}}function ea(a){if(J[a])return J[a];var b=document.createElement("div").style;try{b.font=a}catch(c){}return J[a]={style:b.fontStyle||w.style,variant:b.fontVariant||w.variant,weight:b.fontWeight||w.weight,size:b.fontSize||w.size,family:b.fontFamily||w.family}}function fa(a,b){var c={};for(var d in a)c[d]=a[d];b=parseFloat(b.currentStyle.fontSize);d=parseFloat(a.size);c.size= -typeof a.size=="number"?a.size:a.size.indexOf("px")!=-1?d:a.size.indexOf("em")!=-1?b*d:a.size.indexOf("%")!=-1?b/100*d:a.size.indexOf("pt")!=-1?d/0.75:b;c.size*=0.981;return c}function ga(a){return a.style+" "+a.variant+" "+a.weight+" "+a.size+"px "+a.family}function ha(a){return ia[a]||"square"}function C(a){this.m_=D();this.mStack_=[];this.aStack_=[];this.currentPath_=[];this.fillStyle=this.strokeStyle="#000";this.lineWidth=1;this.lineJoin="miter";this.lineCap="butt";this.miterLimit=l*1;this.globalAlpha= -1;this.font="10px sans-serif";this.textAlign="left";this.textBaseline="alphabetic";this.canvas=a;var b="width:"+a.clientWidth+"px;height:"+a.clientHeight+"px;overflow:hidden;position:absolute",c=a.ownerDocument.createElement("div");c.style.cssText=b;a.appendChild(c);b=c.cloneNode(false);b.style.backgroundColor="red";b.style.filter="alpha(opacity=0)";a.appendChild(b);this.element_=c;this.lineScale_=this.arcScaleY_=this.arcScaleX_=1}function V(a,b,c,d){a.currentPath_.push({type:"bezierCurveTo",cp1x:b.x, -cp1y:b.y,cp2x:c.x,cp2y:c.y,x:d.x,y:d.y});a.currentX_=d.x;a.currentY_=d.y}function W(a,b){var c=H(a.strokeStyle),d=c.color;c=c.alpha*a.globalAlpha;var e=a.lineScale_*a.lineWidth;if(e<1)c*=e;b.push("')}function X(a,b,c,d){var e=a.fillStyle,f=a.arcScaleX_,h=a.arcScaleY_,j=d.x-c.x,m=d.y-c.y;if(e instanceof x){var k=0;d={x:0,y:0};var q=0, -o=1;if(e.type_=="gradient"){k=e.x1_/f;c=e.y1_/h;var n=p(a,e.x0_/f,e.y0_/h);k=p(a,k,c);k=Math.atan2(k.x-n.x,k.y-n.y)*180/Math.PI;if(k<0)k+=360;if(k<1.0E-6)k=0}else{n=p(a,e.x0_,e.y0_);d={x:(n.x-c.x)/j,y:(n.y-c.y)/m};j/=f*l;m/=h*l;o=r.max(j,m);q=2*e.r0_/o;o=2*e.r1_/o-q}f=e.colors_;f.sort(function(A,ja){return A.offset-ja.offset});h=f.length;n=f[0].color;c=f[h-1].color;j=f[0].alpha*a.globalAlpha;a=f[h-1].alpha*a.globalAlpha;m=[];for(var s=0;s')}else if(e instanceof K)j&&m&&b.push("');else{e=H(a.fillStyle);b.push('')}}function p(a,b,c){a=a.m_;return{x:l*(b*a[0][0]+c*a[1][0]+ -a[2][0])-t,y:l*(b*a[0][1]+c*a[1][1]+a[2][1])-t}}function ka(a){return isFinite(a[0][0])&&isFinite(a[0][1])&&isFinite(a[1][0])&&isFinite(a[1][1])&&isFinite(a[2][0])&&isFinite(a[2][1])}function z(a,b,c){if(ka(b)){a.m_=b;if(c)a.lineScale_=la(ma(b[0][0]*b[1][1]-b[0][1]*b[1][0]))}}function x(a){this.type_=a;this.r1_=this.y1_=this.x1_=this.r0_=this.y0_=this.x0_=0;this.colors_=[]}function K(a,b){na(a);switch(b){case "repeat":case null:case "":this.repetition_="repeat";break;case "repeat-x":case "repeat-y":case "no-repeat":this.repetition_= -b;break;default:L("SYNTAX_ERR")}this.src_=a.src;this.width_=a.width;this.height_=a.height}function L(a){throw new M(a);}function na(a){if(!a||a.nodeType!=1||a.tagName!="IMG")L("TYPE_MISMATCH_ERR");a.readyState!="complete"&&L("INVALID_STATE_ERR")}function M(a){this.code=this[a];this.message=a+": DOM Exception "+this.code}var r=Math,i=r.round,N=r.sin,O=r.cos,ma=r.abs,la=r.sqrt,l=10,t=l/2;navigator.userAgent.match(/MSIE ([\d.]+)?/);var P=Array.prototype.slice;S(document);var Y={init:function(a){a=a|| -document;a.createElement("canvas");a.attachEvent("onreadystatechange",$(this.init_,this,a))},init_:function(a){a=a.getElementsByTagName("canvas");for(var b=0;b','","");this.element_.insertAdjacentHTML("BeforeEnd",n.join(""))};g.stroke=function(a){var b=[];b.push("d.x)d.x=f.x;if(c.y==null||f.yd.y)d.y=f.y}}b.push(' ">');a?X(this,b,c,d):W(this,b);b.push("");this.element_.insertAdjacentHTML("beforeEnd",b.join(""))};g.fill=function(){this.stroke(true)};g.closePath=function(){this.currentPath_.push({type:"close"})};g.save=function(){var a={};T(this,a);this.aStack_.push(a);this.mStack_.push(this.m_);this.m_=u(D(),this.m_)};g.restore=function(){if(this.aStack_.length){T(this.aStack_.pop(), -this);this.m_=this.mStack_.pop()}};g.translate=function(a,b){z(this,u([[1,0,0],[0,1,0],[a,b,1]],this.m_),false)};g.rotate=function(a){var b=O(a);a=N(a);z(this,u([[b,a,0],[-a,b,0],[0,0,1]],this.m_),false)};g.scale=function(a,b){this.arcScaleX_*=a;this.arcScaleY_*=b;z(this,u([[a,0,0],[0,b,0],[0,0,1]],this.m_),true)};g.transform=function(a,b,c,d,e,f){z(this,u([[a,b,0],[c,d,0],[e,f,1]],this.m_),true)};g.setTransform=function(a,b,c,d,e,f){z(this,[[a,b,0],[c,d,0],[e,f,1]],true)};g.drawText_=function(a, -b,c,d,e){var f=this.m_;d=0;var h=1E3,j={x:0,y:0},m=[],k=fa(ea(this.font),this.element_),q=ga(k),o=this.element_.currentStyle,n=this.textAlign.toLowerCase();switch(n){case "left":case "center":case "right":break;case "end":n=o.direction=="ltr"?"right":"left";break;case "start":n=o.direction=="rtl"?"right":"left";break;default:n="left"}switch(this.textBaseline){case "hanging":case "top":j.y=k.size/1.75;break;case "middle":break;default:case null:case "alphabetic":case "ideographic":case "bottom":j.y= --k.size/2.25;break}switch(n){case "right":d=1E3;h=0.05;break;case "center":d=h=500;break}b=p(this,b+j.x,c+j.y);m.push('');e?W(this,m):X(this,m,{x:-d,y:0},{x:h,y:k.size});e=f[0][0].toFixed(3)+","+f[1][0].toFixed(3)+","+f[0][1].toFixed(3)+","+f[1][1].toFixed(3)+",0,0";b=i(b.x/l)+","+i(b.y/l);m.push('','','');this.element_.insertAdjacentHTML("beforeEnd",m.join(""))};g.fillText=function(a,b,c,d){this.drawText_(a,b,c,d,false)};g.strokeText=function(a,b,c,d){this.drawText_(a,b,c,d,true)};g.measureText=function(a){if(!this.textMeasureEl_){this.element_.insertAdjacentHTML("beforeEnd",''); -this.textMeasureEl_=this.element_.lastChild}var b=this.element_.ownerDocument;this.textMeasureEl_.innerHTML="";this.textMeasureEl_.style.font=this.font;this.textMeasureEl_.appendChild(b.createTextNode(a));return{width:this.textMeasureEl_.offsetWidth}};g.clip=function(){};g.arcTo=function(){};g.createPattern=function(a,b){return new K(a,b)};x.prototype.addColorStop=function(a,b){b=H(b);this.colors_.push({offset:a,color:b.color,alpha:b.alpha})};g=M.prototype=new Error;g.INDEX_SIZE_ERR=1;g.DOMSTRING_SIZE_ERR= -2;g.HIERARCHY_REQUEST_ERR=3;g.WRONG_DOCUMENT_ERR=4;g.INVALID_CHARACTER_ERR=5;g.NO_DATA_ALLOWED_ERR=6;g.NO_MODIFICATION_ALLOWED_ERR=7;g.NOT_FOUND_ERR=8;g.NOT_SUPPORTED_ERR=9;g.INUSE_ATTRIBUTE_ERR=10;g.INVALID_STATE_ERR=11;g.SYNTAX_ERR=12;g.INVALID_MODIFICATION_ERR=13;g.NAMESPACE_ERR=14;g.INVALID_ACCESS_ERR=15;g.VALIDATION_ERR=16;g.TYPE_MISMATCH_ERR=17;G_vmlCanvasManager=Y;CanvasRenderingContext2D=C;CanvasGradient=x;CanvasPattern=K;DOMException=M}(); +/* jqPlot @VERSION | (c) 2009-2013 Chris Leonello | jplot.com + jsDate | (c) 2010-2013 Chris Leonello + */if(!document.createElement("canvas").getContext){(function(){var ab=Math;var n=ab.round;var l=ab.sin;var A=ab.cos;var H=ab.abs;var N=ab.sqrt;var d=10;var f=d/2;var z=+navigator.userAgent.match(/MSIE ([\d.]+)?/)[1];function y(){return this.context_||(this.context_=new D(this))}var t=Array.prototype.slice;function g(j,m,p){var i=t.call(arguments,2);return function(){return j.apply(m,i.concat(t.call(arguments)))}}function af(i){return String(i).replace(/&/g,"&").replace(/"/g,""")}function Y(m,j,i){if(!m.namespaces[j]){m.namespaces.add(j,i,"#default#VML")}}function R(j){Y(j,"g_vml_","urn:schemas-microsoft-com:vml");Y(j,"g_o_","urn:schemas-microsoft-com:office:office");if(!j.styleSheets.ex_canvas_){var i=j.createStyleSheet();i.owningElement.id="ex_canvas_";i.cssText="canvas{display:inline-block;overflow:hidden;text-align:left;width:300px;height:150px}"}}R(document);var e={init:function(i){var j=i||document;j.createElement("canvas");j.attachEvent("onreadystatechange",g(this.init_,this,j))},init_:function(p){var m=p.getElementsByTagName("canvas");for(var j=0;j1){m--}if(6*m<1){return j+(i-j)*6*m}else{if(2*m<1){return i}else{if(3*m<2){return j+(i-j)*(2/3-m)*6}else{return j}}}}var C={};function F(j){if(j in C){return C[j]}var ag,Z=1;j=String(j);if(j.charAt(0)=="#"){ag=j}else{if(/^rgb/.test(j)){var p=M(j);var ag="#",ah;for(var m=0;m<3;m++){if(p[m].indexOf("%")!=-1){ah=Math.floor(c(p[m])*255)}else{ah=+p[m]}ag+=k[r(ah,0,255)]}Z=+p[3]}else{if(/^hsl/.test(j)){var p=M(j);ag=I(p);Z=p[3]}else{ag=b[j]||j}}}return C[j]={color:ag,alpha:Z}}var o={style:"normal",variant:"normal",weight:"normal",size:10,family:"sans-serif"};var L={};function E(i){if(L[i]){return L[i]}var p=document.createElement("div");var m=p.style;try{m.font=i}catch(j){}return L[i]={style:m.fontStyle||o.style,variant:m.fontVariant||o.variant,weight:m.fontWeight||o.weight,size:m.fontSize||o.size,family:m.fontFamily||o.family}}function u(m,j){var i={};for(var ah in m){i[ah]=m[ah]}var ag=parseFloat(j.currentStyle.fontSize),Z=parseFloat(m.size);if(typeof m.size=="number"){i.size=m.size}else{if(m.size.indexOf("px")!=-1){i.size=Z}else{if(m.size.indexOf("em")!=-1){i.size=ag*Z}else{if(m.size.indexOf("%")!=-1){i.size=(ag/100)*Z}else{if(m.size.indexOf("pt")!=-1){i.size=Z/0.75}else{i.size=ag}}}}}i.size*=0.981;i.family="'"+i.family.replace(/(\'|\")/g,"").replace(/\s*,\s*/g,"', '")+"'";return i}function ac(i){return i.style+" "+i.variant+" "+i.weight+" "+i.size+"px "+i.family}var s={butt:"flat",round:"round"};function S(i){return s[i]||"square"}function D(i){this.m_=B();this.mStack_=[];this.aStack_=[];this.currentPath_=[];this.strokeStyle="#000";this.fillStyle="#000";this.lineWidth=1;this.lineJoin="miter";this.lineCap="butt";this.miterLimit=d*1;this.globalAlpha=1;this.font="10px sans-serif";this.textAlign="left";this.textBaseline="alphabetic";this.canvas=i;var m="width:"+i.clientWidth+"px;height:"+i.clientHeight+"px;overflow:hidden;position:absolute";var j=i.ownerDocument.createElement("div");j.style.cssText=m;i.appendChild(j);var p=j.cloneNode(false);p.style.backgroundColor="red";p.style.filter="alpha(opacity=0)";i.appendChild(p);this.element_=j;this.arcScaleX_=1;this.arcScaleY_=1;this.lineScale_=1}var q=D.prototype;q.clearRect=function(){if(this.textMeasureEl_){this.textMeasureEl_.removeNode(true);this.textMeasureEl_=null}this.element_.innerHTML=""};q.beginPath=function(){this.currentPath_=[]};q.moveTo=function(j,i){var m=V(this,j,i);this.currentPath_.push({type:"moveTo",x:m.x,y:m.y});this.currentX_=m.x;this.currentY_=m.y};q.lineTo=function(j,i){var m=V(this,j,i);this.currentPath_.push({type:"lineTo",x:m.x,y:m.y});this.currentX_=m.x;this.currentY_=m.y};q.bezierCurveTo=function(m,j,ak,aj,ai,ag){var i=V(this,ai,ag);var ah=V(this,m,j);var Z=V(this,ak,aj);K(this,ah,Z,i)};function K(i,Z,m,j){i.currentPath_.push({type:"bezierCurveTo",cp1x:Z.x,cp1y:Z.y,cp2x:m.x,cp2y:m.y,x:j.x,y:j.y});i.currentX_=j.x;i.currentY_=j.y}q.quadraticCurveTo=function(ai,m,j,i){var ah=V(this,ai,m);var ag=V(this,j,i);var aj={x:this.currentX_+2/3*(ah.x-this.currentX_),y:this.currentY_+2/3*(ah.y-this.currentY_)};var Z={x:aj.x+(ag.x-this.currentX_)/3,y:aj.y+(ag.y-this.currentY_)/3};K(this,aj,Z,ag)};q.arc=function(al,aj,ak,ag,j,m){ak*=d;var ap=m?"at":"wa";var am=al+A(ag)*ak-f;var ao=aj+l(ag)*ak-f;var i=al+A(j)*ak-f;var an=aj+l(j)*ak-f;if(am==i&&!m){am+=0.125}var Z=V(this,al,aj);var ai=V(this,am,ao);var ah=V(this,i,an);this.currentPath_.push({type:ap,x:Z.x,y:Z.y,radius:ak,xStart:ai.x,yStart:ai.y,xEnd:ah.x,yEnd:ah.y})};q.rect=function(m,j,i,p){this.moveTo(m,j);this.lineTo(m+i,j);this.lineTo(m+i,j+p);this.lineTo(m,j+p);this.closePath()};q.strokeRect=function(m,j,i,p){var Z=this.currentPath_;this.beginPath();this.moveTo(m,j);this.lineTo(m+i,j);this.lineTo(m+i,j+p);this.lineTo(m,j+p);this.closePath();this.stroke();this.currentPath_=Z};q.fillRect=function(m,j,i,p){var Z=this.currentPath_;this.beginPath();this.moveTo(m,j);this.lineTo(m+i,j);this.lineTo(m+i,j+p);this.lineTo(m,j+p);this.closePath();this.fill();this.currentPath_=Z};q.createLinearGradient=function(j,p,i,m){var Z=new U("gradient");Z.x0_=j;Z.y0_=p;Z.x1_=i;Z.y1_=m;return Z};q.createRadialGradient=function(p,ag,m,j,Z,i){var ah=new U("gradientradial");ah.x0_=p;ah.y0_=ag;ah.r0_=m;ah.x1_=j;ah.y1_=Z;ah.r1_=i;return ah};q.drawImage=function(aq,m){var aj,ah,al,ay,ao,am,at,aA;var ak=aq.runtimeStyle.width;var ap=aq.runtimeStyle.height;aq.runtimeStyle.width="auto";aq.runtimeStyle.height="auto";var ai=aq.width;var aw=aq.height;aq.runtimeStyle.width=ak;aq.runtimeStyle.height=ap;if(arguments.length==3){aj=arguments[1];ah=arguments[2];ao=am=0;at=al=ai;aA=ay=aw}else{if(arguments.length==5){aj=arguments[1];ah=arguments[2];al=arguments[3];ay=arguments[4];ao=am=0;at=ai;aA=aw}else{if(arguments.length==9){ao=arguments[1];am=arguments[2];at=arguments[3];aA=arguments[4];aj=arguments[5];ah=arguments[6];al=arguments[7];ay=arguments[8]}else{throw Error("Invalid number of arguments")}}}var az=V(this,aj,ah);var p=at/2;var j=aA/2;var ax=[];var i=10;var ag=10;ax.push(" ','","");this.element_.insertAdjacentHTML("BeforeEnd",ax.join(""))};q.stroke=function(al){var aj=[];var Z=false;var m=10;var am=10;aj.push("ak.x){ak.x=j.x}if(ag.y==null||j.yak.y){ak.y=j.y}}}aj.push(' ">');if(!al){w(this,aj)}else{G(this,aj,ag,ak)}aj.push("");this.element_.insertAdjacentHTML("beforeEnd",aj.join(""))};function w(m,ag){var j=F(m.strokeStyle);var p=j.color;var Z=j.alpha*m.globalAlpha;var i=m.lineScale_*m.lineWidth;if(i<1){Z*=i}ag.push("')}function G(aq,ai,aK,ar){var aj=aq.fillStyle;var aB=aq.arcScaleX_;var aA=aq.arcScaleY_;var j=ar.x-aK.x;var p=ar.y-aK.y;if(aj instanceof U){var an=0;var aF={x:0,y:0};var ax=0;var am=1;if(aj.type_=="gradient"){var al=aj.x0_/aB;var m=aj.y0_/aA;var ak=aj.x1_/aB;var aM=aj.y1_/aA;var aJ=V(aq,al,m);var aI=V(aq,ak,aM);var ag=aI.x-aJ.x;var Z=aI.y-aJ.y;an=Math.atan2(ag,Z)*180/Math.PI;if(an<0){an+=360}if(an<0.000001){an=0}}else{var aJ=V(aq,aj.x0_,aj.y0_);aF={x:(aJ.x-aK.x)/j,y:(aJ.y-aK.y)/p};j/=aB*d;p/=aA*d;var aD=ab.max(j,p);ax=2*aj.r0_/aD;am=2*aj.r1_/aD-ax}var av=aj.colors_;av.sort(function(aN,i){return aN.offset-i.offset});var ap=av.length;var au=av[0].color;var at=av[ap-1].color;var az=av[0].alpha*aq.globalAlpha;var ay=av[ap-1].alpha*aq.globalAlpha;var aE=[];for(var aH=0;aH')}else{if(aj instanceof T){if(j&&p){var ah=-aK.x;var aC=-aK.y;ai.push("')}}else{var aL=F(aq.fillStyle);var aw=aL.color;var aG=aL.alpha*aq.globalAlpha;ai.push('')}}}q.fill=function(){this.stroke(true)};q.closePath=function(){this.currentPath_.push({type:"close"})};function V(j,Z,p){var i=j.m_;return{x:d*(Z*i[0][0]+p*i[1][0]+i[2][0])-f,y:d*(Z*i[0][1]+p*i[1][1]+i[2][1])-f}}q.save=function(){var i={};v(this,i);this.aStack_.push(i);this.mStack_.push(this.m_);this.m_=J(B(),this.m_)};q.restore=function(){if(this.aStack_.length){v(this.aStack_.pop(),this);this.m_=this.mStack_.pop()}};function h(i){return isFinite(i[0][0])&&isFinite(i[0][1])&&isFinite(i[1][0])&&isFinite(i[1][1])&&isFinite(i[2][0])&&isFinite(i[2][1])}function aa(j,i,p){if(!h(i)){return}j.m_=i;if(p){var Z=i[0][0]*i[1][1]-i[0][1]*i[1][0];j.lineScale_=N(H(Z))}}q.translate=function(m,j){var i=[[1,0,0],[0,1,0],[m,j,1]];aa(this,J(i,this.m_),false)};q.rotate=function(j){var p=A(j);var m=l(j);var i=[[p,m,0],[-m,p,0],[0,0,1]];aa(this,J(i,this.m_),false)};q.scale=function(m,j){this.arcScaleX_*=m;this.arcScaleY_*=j;var i=[[m,0,0],[0,j,0],[0,0,1]];aa(this,J(i,this.m_),true)};q.transform=function(Z,p,ah,ag,j,i){var m=[[Z,p,0],[ah,ag,0],[j,i,1]];aa(this,J(m,this.m_),true)};q.setTransform=function(ag,Z,ai,ah,p,j){var i=[[ag,Z,0],[ai,ah,0],[p,j,1]];aa(this,i,true)};q.drawText_=function(am,ak,aj,ap,ai){var ao=this.m_,at=1000,j=0,ar=at,ah={x:0,y:0},ag=[];var i=u(E(this.font),this.element_);var p=ac(i);var au=this.element_.currentStyle;var Z=this.textAlign.toLowerCase();switch(Z){case"left":case"center":case"right":break;case"end":Z=au.direction=="ltr"?"right":"left";break;case"start":Z=au.direction=="rtl"?"right":"left";break;default:Z="left"}switch(this.textBaseline){case"hanging":case"top":ah.y=i.size/1.75;break;case"middle":break;default:case null:case"alphabetic":case"ideographic":case"bottom":ah.y=-i.size/2.25;break}switch(Z){case"right":j=at;ar=0.05;break;case"center":j=ar=at/2;break}var aq=V(this,ak+ah.x,aj+ah.y);ag.push('');if(ai){w(this,ag)}else{G(this,ag,{x:-j,y:0},{x:ar,y:i.size})}var an=ao[0][0].toFixed(3)+","+ao[1][0].toFixed(3)+","+ao[0][1].toFixed(3)+","+ao[1][1].toFixed(3)+",0,0";var al=n(aq.x/d+1-ao[0][0])+","+n(aq.y/d-2*ao[1][0]);ag.push('','','');this.element_.insertAdjacentHTML("beforeEnd",ag.join(""))};q.fillText=function(m,i,p,j){this.drawText_(m,i,p,j,false)};q.strokeText=function(m,i,p,j){this.drawText_(m,i,p,j,true)};q.measureText=function(m){if(!this.textMeasureEl_){var i='';this.element_.insertAdjacentHTML("beforeEnd",i);this.textMeasureEl_=this.element_.lastChild}var j=this.element_.ownerDocument;this.textMeasureEl_.innerHTML="";this.textMeasureEl_.style.font=this.font;this.textMeasureEl_.appendChild(j.createTextNode(m));return{width:this.textMeasureEl_.offsetWidth}};q.clip=function(){};q.arcTo=function(){};q.createPattern=function(j,i){return new T(j,i)};function U(i){this.type_=i;this.x0_=0;this.y0_=0;this.r0_=0;this.x1_=0;this.y1_=0;this.r1_=0;this.colors_=[]}U.prototype.addColorStop=function(j,i){i=F(i);this.colors_.push({offset:j,color:i.color,alpha:i.alpha})};function T(j,i){Q(j);switch(i){case"repeat":case null:case"":this.repetition_="repeat";break;case"repeat-x":case"repeat-y":case"no-repeat":this.repetition_=i;break;default:O("SYNTAX_ERR")}this.src_=j.src;this.width_=j.width;this.height_=j.height}function O(i){throw new P(i)}function Q(i){if(!i||i.nodeType!=1||i.tagName!="IMG"){O("TYPE_MISMATCH_ERR")}if(i.readyState!="complete"){O("INVALID_STATE_ERR")}}function P(i){this.code=this[i];this.message=i+": DOM Exception "+this.code}var X=P.prototype=new Error;X.INDEX_SIZE_ERR=1;X.DOMSTRING_SIZE_ERR=2;X.HIERARCHY_REQUEST_ERR=3;X.WRONG_DOCUMENT_ERR=4;X.INVALID_CHARACTER_ERR=5;X.NO_DATA_ALLOWED_ERR=6;X.NO_MODIFICATION_ALLOWED_ERR=7;X.NOT_FOUND_ERR=8;X.NOT_SUPPORTED_ERR=9;X.INUSE_ATTRIBUTE_ERR=10;X.INVALID_STATE_ERR=11;X.SYNTAX_ERR=12;X.INVALID_MODIFICATION_ERR=13;X.NAMESPACE_ERR=14;X.INVALID_ACCESS_ERR=15;X.VALIDATION_ERR=16;X.TYPE_MISMATCH_ERR=17;G_vmlCanvasManager=e;CanvasRenderingContext2D=D;CanvasGradient=U;CanvasPattern=T;DOMException=P;G_vmlCanvasManager._version=888})()}; \ No newline at end of file diff --git a/helpdesk/static/helpdesk/jquery.jqplot/jquery.jqplot.min.css b/helpdesk/static/helpdesk/jquery.jqplot/jquery.jqplot.min.css index 4cd9d552..0f84835b 100644 --- a/helpdesk/static/helpdesk/jquery.jqplot/jquery.jqplot.min.css +++ b/helpdesk/static/helpdesk/jquery.jqplot/jquery.jqplot.min.css @@ -1 +1 @@ -.jqplot-target{position:relative;color:#666;font-family:"Trebuchet MS",Arial,Helvetica,sans-serif;font-size:1em;}.jqplot-axis{font-size:.75em;}.jqplot-xaxis{margin-top:10px;}.jqplot-x2axis{margin-bottom:10px;}.jqplot-yaxis{margin-right:10px;}.jqplot-y2axis,.jqplot-y3axis,.jqplot-y4axis,.jqplot-y5axis,.jqplot-y6axis,.jqplot-y7axis,.jqplot-y8axis,.jqplot-y9axis{margin-left:10px;margin-right:10px;}.jqplot-axis-tick,.jqplot-xaxis-tick,.jqplot-yaxis-tick,.jqplot-x2axis-tick,.jqplot-y2axis-tick,.jqplot-y3axis-tick,.jqplot-y4axis-tick,.jqplot-y5axis-tick,.jqplot-y6axis-tick,.jqplot-y7axis-tick,.jqplot-y8axis-tick,.jqplot-y9axis-tick{position:absolute;}.jqplot-xaxis-tick{top:0;left:15px;vertical-align:top;}.jqplot-x2axis-tick{bottom:0;left:15px;vertical-align:bottom;}.jqplot-yaxis-tick{right:0;top:15px;text-align:right;}.jqplot-y2axis-tick,.jqplot-y3axis-tick,.jqplot-y4axis-tick,.jqplot-y5axis-tick,.jqplot-y6axis-tick,.jqplot-y7axis-tick,.jqplot-y8axis-tick,.jqplot-y9axis-tick{left:0;top:15px;text-align:left;}.jqplot-meterGauge-tick{font-size:.75em;color:#999;}.jqplot-meterGauge-label{font-size:1em;color:#999;}.jqplot-xaxis-label{margin-top:10px;font-size:11pt;position:absolute;}.jqplot-x2axis-label{margin-bottom:10px;font-size:11pt;position:absolute;}.jqplot-yaxis-label{margin-right:10px;font-size:11pt;position:absolute;}.jqplot-y2axis-label,.jqplot-y3axis-label,.jqplot-y4axis-label,.jqplot-y5axis-label,.jqplot-y6axis-label,.jqplot-y7axis-label,.jqplot-y8axis-label,.jqplot-y9axis-label{font-size:11pt;position:absolute;}table.jqplot-table-legend{margin-top:12px;margin-bottom:12px;margin-left:12px;margin-right:12px;}table.jqplot-table-legend,table.jqplot-cursor-legend{background-color:rgba(255,255,255,0.6);border:1px solid #ccc;position:absolute;font-size:.75em;}td.jqplot-table-legend{vertical-align:middle;}td.jqplot-seriesToggle:hover,td.jqplot-seriesToggle:active{cursor:pointer;}td.jqplot-table-legend>div{border:1px solid #ccc;padding:1px;}div.jqplot-table-legend-swatch{width:0;height:0;border-top-width:5px;border-bottom-width:5px;border-left-width:6px;border-right-width:6px;border-top-style:solid;border-bottom-style:solid;border-left-style:solid;border-right-style:solid;}.jqplot-title{top:0;left:0;padding-bottom:.5em;font-size:1.2em;}table.jqplot-cursor-tooltip{border:1px solid #ccc;font-size:.75em;}.jqplot-cursor-tooltip{border:1px solid #ccc;font-size:.75em;white-space:nowrap;background:rgba(208,208,208,0.5);padding:1px;}.jqplot-highlighter-tooltip{border:1px solid #ccc;font-size:.75em;white-space:nowrap;background:rgba(208,208,208,0.5);padding:1px;}.jqplot-point-label{font-size:.75em;z-index:2;}td.jqplot-cursor-legend-swatch{vertical-align:middle;text-align:center;}div.jqplot-cursor-legend-swatch{width:1.2em;height:.7em;}.jqplot-error{text-align:center;}.jqplot-error-message{position:relative;top:46%;display:inline-block;}div.jqplot-bubble-label{font-size:.8em;padding-left:2px;padding-right:2px;color:rgb(20%,20%,20%);}div.jqplot-bubble-label.jqplot-bubble-label-highlight{background:rgba(90%,90%,90%,0.7);} \ No newline at end of file +.jqplot-target{position:relative;color:#666;font-family:"Trebuchet MS",Arial,Helvetica,sans-serif;font-size:1em}.jqplot-axis{font-size:.75em}.jqplot-xaxis{margin-top:10px}.jqplot-x2axis{margin-bottom:10px}.jqplot-yaxis{margin-right:10px}.jqplot-y2axis,.jqplot-y3axis,.jqplot-y4axis,.jqplot-y5axis,.jqplot-y6axis,.jqplot-y7axis,.jqplot-y8axis,.jqplot-y9axis,.jqplot-yMidAxis{margin-left:10px;margin-right:10px}.jqplot-axis-tick,.jqplot-xaxis-tick,.jqplot-yaxis-tick,.jqplot-x2axis-tick,.jqplot-y2axis-tick,.jqplot-y3axis-tick,.jqplot-y4axis-tick,.jqplot-y5axis-tick,.jqplot-y6axis-tick,.jqplot-y7axis-tick,.jqplot-y8axis-tick,.jqplot-y9axis-tick,.jqplot-yMidAxis-tick{position:absolute;white-space:pre}.jqplot-xaxis-tick{top:0;left:15px;vertical-align:top}.jqplot-x2axis-tick{bottom:0;left:15px;vertical-align:bottom}.jqplot-yaxis-tick{right:0;top:15px;text-align:right}.jqplot-yaxis-tick.jqplot-breakTick{right:-20px;margin-right:0;padding:1px 5px 1px 5px;z-index:2;font-size:1.5em}.jqplot-y2axis-tick,.jqplot-y3axis-tick,.jqplot-y4axis-tick,.jqplot-y5axis-tick,.jqplot-y6axis-tick,.jqplot-y7axis-tick,.jqplot-y8axis-tick,.jqplot-y9axis-tick{left:0;top:15px;text-align:left}.jqplot-yMidAxis-tick{text-align:center;white-space:nowrap}.jqplot-xaxis-label{margin-top:10px;font-size:11pt;position:absolute}.jqplot-x2axis-label{margin-bottom:10px;font-size:11pt;position:absolute}.jqplot-yaxis-label{margin-right:10px;font-size:11pt;position:absolute}.jqplot-yMidAxis-label{font-size:11pt;position:absolute}.jqplot-y2axis-label,.jqplot-y3axis-label,.jqplot-y4axis-label,.jqplot-y5axis-label,.jqplot-y6axis-label,.jqplot-y7axis-label,.jqplot-y8axis-label,.jqplot-y9axis-label{font-size:11pt;margin-left:10px;position:absolute}.jqplot-meterGauge-tick{font-size:.75em;color:#999}.jqplot-meterGauge-label{font-size:1em;color:#999}table.jqplot-table-legend{margin-top:12px;margin-bottom:12px;margin-left:12px;margin-right:12px}table.jqplot-table-legend,table.jqplot-cursor-legend{background-color:rgba(255,255,255,0.6);border:1px solid #ccc;position:absolute;font-size:.75em}td.jqplot-table-legend{vertical-align:middle}td.jqplot-seriesToggle:hover,td.jqplot-seriesToggle:active{cursor:pointer}.jqplot-table-legend .jqplot-series-hidden{text-decoration:line-through}div.jqplot-table-legend-swatch-outline{border:1px solid #ccc;padding:1px}div.jqplot-table-legend-swatch{width:0;height:0;border-top-width:5px;border-bottom-width:5px;border-left-width:6px;border-right-width:6px;border-top-style:solid;border-bottom-style:solid;border-left-style:solid;border-right-style:solid}.jqplot-title{top:0;left:0;padding-bottom:.5em;font-size:1.2em}table.jqplot-cursor-tooltip{border:1px solid #ccc;font-size:.75em}.jqplot-cursor-tooltip{border:1px solid #ccc;font-size:.75em;white-space:nowrap;background:rgba(208,208,208,0.5);padding:1px}.jqplot-highlighter-tooltip,.jqplot-canvasOverlay-tooltip{border:1px solid #ccc;font-size:.75em;white-space:nowrap;background:rgba(208,208,208,0.5);padding:1px}.jqplot-point-label{font-size:.75em;z-index:2}td.jqplot-cursor-legend-swatch{vertical-align:middle;text-align:center}div.jqplot-cursor-legend-swatch{width:1.2em;height:.7em}.jqplot-error{text-align:center}.jqplot-error-message{position:relative;top:46%;display:inline-block}div.jqplot-bubble-label{font-size:.8em;padding-left:2px;padding-right:2px;color:rgb(20%,20%,20%)}div.jqplot-bubble-label.jqplot-bubble-label-highlight{background:rgba(90%,90%,90%,0.7)}div.jqplot-noData-container{text-align:center;background-color:rgba(96%,96%,96%,0.3)} \ No newline at end of file diff --git a/helpdesk/static/helpdesk/jquery.jqplot/jquery.jqplot.min.js b/helpdesk/static/helpdesk/jquery.jqplot/jquery.jqplot.min.js index 717b42e8..8facc6c1 100644 --- a/helpdesk/static/helpdesk/jquery.jqplot/jquery.jqplot.min.js +++ b/helpdesk/static/helpdesk/jquery.jqplot/jquery.jqplot.min.js @@ -1,34 +1,3 @@ -/** - * Copyright (c) 2009 - 2010 Chris Leonello - * jqPlot is currently available for use in all personal or commercial projects - * under both the MIT (http://www.opensource.org/licenses/mit-license.php) and GPL - * version 2.0 (http://www.gnu.org/licenses/gpl-2.0.html) licenses. This means that you can - * choose the license that best suits your project and use it accordingly. - * - * Although not required, the author would appreciate an email letting him - * know of any substantial use of jqPlot. You can reach the author at: - * chris at jqplot or see http://www.jqplot.com/info.php . - * - * If you are feeling kind and generous, consider supporting the project by - * making a donation at: http://www.jqplot.com/donate.php . - * - * jqPlot includes date instance methods and printf/sprintf functions by other authors: - * - * Date instance methods contained in jqplot.dateMethods.js: - * - * author Ken Snyder (ken d snyder at gmail dot com) - * date 2008-09-10 - * version 2.0.2 (http://kendsnyder.com/sandbox/date/) - * license Creative Commons Attribution License 3.0 (http://creativecommons.org/licenses/by/3.0/) - * - * JavaScript printf/sprintf functions contained in jqplot.sprintf.js: - * - * version 2007.04.27 - * author Ash Searle - * http://hexmen.com/blog/2007/03/printf-sprintf/ - * http://hexmen.com/js/sprintf.js - * The author (Ash Searle) has placed this code in the public domain: - * "This code is unrestricted: you are free to use it however you like." - * - */ -(function(B){var l;B.jqplot=function(W,T,R){var S,Q;if(R==null){if(T instanceof Array){S=T;Q=null}else{if(T.constructor==Object){S=null;Q=T}}}else{S=T;Q=R}var V=new F();B("#"+W).removeClass("jqplot-error");if(B.jqplot.config.catchErrors){try{V.init(W,S,Q);V.draw();V.themeEngine.init.call(V);return V}catch(U){var X=B.jqplot.config.errorMessage||U.message;B("#"+W).append('

'+X+"
");B("#"+W).addClass("jqplot-error");document.getElementById(W).style.background=B.jqplot.config.errorBackground;document.getElementById(W).style.border=B.jqplot.config.errorBorder;document.getElementById(W).style.fontFamily=B.jqplot.config.errorFontFamily;document.getElementById(W).style.fontSize=B.jqplot.config.errorFontSize;document.getElementById(W).style.fontStyle=B.jqplot.config.errorFontStyle;document.getElementById(W).style.fontWeight=B.jqplot.config.errorFontWeight}}else{V.init(W,S,Q);V.draw();V.themeEngine.init.call(V);return V}};B.jqplot.debug=1;B.jqplot.config={debug:1,enablePlugins:false,defaultHeight:300,defaultWidth:400,UTCAdjust:false,timezoneOffset:new Date(new Date().getTimezoneOffset()*60000),errorMessage:"",errorBackground:"",errorBorder:"",errorFontFamily:"",errorFontSize:"",errorFontStyle:"",errorFontWeight:"",catchErrors:false,defaultTickFormatString:"%.1f"};B.jqplot.enablePlugins=B.jqplot.config.enablePlugins;B.jqplot.preInitHooks=[];B.jqplot.postInitHooks=[];B.jqplot.preParseOptionsHooks=[];B.jqplot.postParseOptionsHooks=[];B.jqplot.preDrawHooks=[];B.jqplot.postDrawHooks=[];B.jqplot.preDrawSeriesHooks=[];B.jqplot.postDrawSeriesHooks=[];B.jqplot.preDrawLegendHooks=[];B.jqplot.addLegendRowHooks=[];B.jqplot.preSeriesInitHooks=[];B.jqplot.postSeriesInitHooks=[];B.jqplot.preParseSeriesOptionsHooks=[];B.jqplot.postParseSeriesOptionsHooks=[];B.jqplot.eventListenerHooks=[];B.jqplot.preDrawSeriesShadowHooks=[];B.jqplot.postDrawSeriesShadowHooks=[];B.jqplot.ElemContainer=function(){this._elem;this._plotWidth;this._plotHeight;this._plotDimensions={height:null,width:null}};B.jqplot.ElemContainer.prototype.createElement=function(T,V,R,S,W){this._offsets=V;var Q=R||"jqplot";var U=document.createElement(T);this._elem=B(U);this._elem.addClass(Q);this._elem.css(S);this._elem.attr(W);return this._elem};B.jqplot.ElemContainer.prototype.getWidth=function(){if(this._elem){return this._elem.outerWidth(true)}else{return null}};B.jqplot.ElemContainer.prototype.getHeight=function(){if(this._elem){return this._elem.outerHeight(true)}else{return null}};B.jqplot.ElemContainer.prototype.getPosition=function(){if(this._elem){return this._elem.position()}else{return{top:null,left:null,bottom:null,right:null}}};B.jqplot.ElemContainer.prototype.getTop=function(){return this.getPosition().top};B.jqplot.ElemContainer.prototype.getLeft=function(){return this.getPosition().left};B.jqplot.ElemContainer.prototype.getBottom=function(){return this._elem.css("bottom")};B.jqplot.ElemContainer.prototype.getRight=function(){return this._elem.css("right")};function o(Q){B.jqplot.ElemContainer.call(this);this.name=Q;this._series=[];this.show=false;this.tickRenderer=B.jqplot.AxisTickRenderer;this.tickOptions={};this.labelRenderer=B.jqplot.AxisLabelRenderer;this.labelOptions={};this.label=null;this.showLabel=true;this.min=null;this.max=null;this.autoscale=false;this.pad=1.2;this.padMax=null;this.padMin=null;this.ticks=[];this.numberTicks;this.tickInterval;this.renderer=B.jqplot.LinearAxisRenderer;this.rendererOptions={};this.showTicks=true;this.showTickMarks=true;this.showMinorTicks=true;this.useSeriesColor=false;this.borderWidth=null;this.borderColor=null;this._dataBounds={min:null,max:null};this._offsets={min:null,max:null};this._ticks=[];this._label=null;this.syncTicks=null;this.tickSpacing=75;this._min=null;this._max=null;this._tickInterval=null;this._numberTicks=null;this.__ticks=null}o.prototype=new B.jqplot.ElemContainer();o.prototype.constructor=o;o.prototype.init=function(){this.renderer=new this.renderer();this.tickOptions.axis=this.name;if(this.tickOptions.showMark==null){this.tickOptions.showMark=this.showTicks}if(this.tickOptions.showMark==null){this.tickOptions.showMark=this.showTickMarks}if(this.tickOptions.showLabel==null){this.tickOptions.showLabel=this.showTicks}if(this.label==null||this.label==""){this.showLabel=false}else{this.labelOptions.label=this.label}if(this.showLabel==false){this.labelOptions.show=false}if(this.pad==0){this.pad=1}if(this.padMax==0){this.padMax=1}if(this.padMin==0){this.padMin=1}if(this.padMax==null){this.padMax=(this.pad-1)/2+1}if(this.padMin==null){this.padMin=(this.pad-1)/2+1}this.pad=this.padMax+this.padMin-1;if(this.min!=null||this.max!=null){this.autoscale=false}if(this.syncTicks==null&&this.name.indexOf("y")>-1){this.syncTicks=true}else{if(this.syncTicks==null){this.syncTicks=false}}this.renderer.init.call(this,this.rendererOptions)};o.prototype.draw=function(Q){return this.renderer.draw.call(this,Q)};o.prototype.set=function(){this.renderer.set.call(this)};o.prototype.pack=function(R,Q){if(this.show){this.renderer.pack.call(this,R,Q)}if(this._min==null){this._min=this.min;this._max=this.max;this._tickInterval=this.tickInterval;this._numberTicks=this.numberTicks;this.__ticks=this._ticks}};o.prototype.reset=function(){this.renderer.reset.call(this)};o.prototype.resetScale=function(){this.min=null;this.max=null;this.numberTicks=null;this.tickInterval=null};function g(Q){B.jqplot.ElemContainer.call(this);this.show=false;this.location="ne";this.labels=[];this.showLabels=true;this.showSwatches=true;this.placement="insideGrid";this.xoffset=0;this.yoffset=0;this.border;this.background;this.textColor;this.fontFamily;this.fontSize;this.rowSpacing="0.5em";this.renderer=B.jqplot.TableLegendRenderer;this.rendererOptions={};this.preDraw=false;this.marginTop=null;this.marginRight=null;this.marginBottom=null;this.marginLeft=null;this.escapeHtml=false;this._series=[];B.extend(true,this,Q)}g.prototype=new B.jqplot.ElemContainer();g.prototype.constructor=g;g.prototype.setOptions=function(Q){B.extend(true,this,Q);if(this.placement=="inside"){this.placement="insideGrid"}if(this.xoffset>0){if(this.placement=="insideGrid"){switch(this.location){case"nw":case"w":case"sw":if(this.marginLeft==null){this.marginLeft=this.xoffset+"px"}this.marginRight="0px";break;case"ne":case"e":case"se":default:if(this.marginRight==null){this.marginRight=this.xoffset+"px"}this.marginLeft="0px";break}}else{if(this.placement=="outside"){switch(this.location){case"nw":case"w":case"sw":if(this.marginRight==null){this.marginRight=this.xoffset+"px"}this.marginLeft="0px";break;case"ne":case"e":case"se":default:if(this.marginLeft==null){this.marginLeft=this.xoffset+"px"}this.marginRight="0px";break}}}this.xoffset=0}if(this.yoffset>0){if(this.placement=="outside"){switch(this.location){case"sw":case"s":case"se":if(this.marginTop==null){this.marginTop=this.yoffset+"px"}this.marginBottom="0px";break;case"ne":case"n":case"nw":default:if(this.marginBottom==null){this.marginBottom=this.yoffset+"px"}this.marginTop="0px";break}}else{if(this.placement=="insideGrid"){switch(this.location){case"sw":case"s":case"se":if(this.marginBottom==null){this.marginBottom=this.yoffset+"px"}this.marginTop="0px";break;case"ne":case"n":case"nw":default:if(this.marginTop==null){this.marginTop=this.yoffset+"px"}this.marginBottom="0px";break}}}this.yoffset=0}};g.prototype.init=function(){this.renderer=new this.renderer();this.renderer.init.call(this,this.rendererOptions)};g.prototype.draw=function(R){for(var Q=0;Q0){Y._prevPlotData=this.series[Z-1]._plotData}Y._sumy=0;Y._sumx=0;for(X=Y.data.length-1;X>-1;X--){Y._sumy+=Y.data[X][1];Y._sumx+=Y.data[X][0]}};this.getNextSeriesColor=(function(V){var U=0;var W=V.seriesColors;return function(){if(U0;aa--){U[X[aa-1]].pack({position:"absolute",top:0,right:this._gridPadding.right-V[aa-1]},{min:this._height-this._gridPadding.bottom,max:this._gridPadding.top})}this.target.append(this.grid.createElement(this._gridPadding));this.grid.draw();for(aa=0;aa0;V--){W=Z[V-1];if(U[W].show){Y[W]=U[W].series_p2u(aa[W.charAt(0)])}}return{offsets:X,gridPos:aa,dataPos:Y}}function T(U,V){var Z=V.series;var aD,aC,aB,aw,ax,aq,ap,ae,ac,ag,ah,ar;var aA,aE,ay,aa,ao,au;var W,av;for(aB=V.seriesStack.length-1;aB>=0;aB--){aD=V.seriesStack[aB];aw=Z[aD];switch(aw.renderer.constructor){case B.jqplot.BarRenderer:aq=U.x;ap=U.y;for(aC=aw.gridData.length-1;aC>=0;aC--){ao=aw._barPoints[aC];if(aq>ao[0][0]&&aqao[2][1]&&ap0&&-ap>=0){ae=2*Math.PI-Math.atan(-ap/aq)}else{if(aq>0&&-ap<0){ae=-Math.atan(-ap/aq)}else{if(aq<0){ae=Math.PI-Math.atan(-ap/aq)}else{if(aq==0&&-ap>0){ae=3*Math.PI/2}else{if(aq==0&&-ap<0){ae=Math.PI/2}else{if(aq==0&&ap==0){ae=0}}}}}}if(ag){ae-=ag;if(ae<0){ae+=2*Math.PI}else{if(ae>2*Math.PI){ae-=2*Math.PI}}}ac=aw.sliceMargin/180*Math.PI;if(axaw._innerRadius){for(aC=0;aC0)?aw.gridData[aC-1][1]+ac:ac;ar=aw.gridData[aC][1];if(ae>ah&&ae0&&-ap>=0){ae=2*Math.PI-Math.atan(-ap/aq)}else{if(aq>0&&-ap<0){ae=-Math.atan(-ap/aq)}else{if(aq<0){ae=Math.PI-Math.atan(-ap/aq)}else{if(aq==0&&-ap>0){ae=3*Math.PI/2}else{if(aq==0&&-ap<0){ae=Math.PI/2}else{if(aq==0&&ap==0){ae=0}}}}}}if(ag){ae-=ag;if(ae<0){ae+=2*Math.PI}else{if(ae>2*Math.PI){ae-=2*Math.PI}}}ac=aw.sliceMargin/180*Math.PI;if(ax0)?aw.gridData[aC-1][1]+ac:ac;ar=aw.gridData[aC][1];if(ae>ah&&ae=cv[0][1]&&ap<=cv[3][1]&&aq>=ab[0]&&aq<=al[0]){return{seriesIndex:aw.index,pointIndex:aC,gridData:null,data:aw.data[aC]}}}break;case B.jqplot.LineRenderer:aq=U.x;ap=U.y;ax=aw.renderer;if(aw.show){if(aw.fill){var af=false;if(aq>aw._boundingBox[0][0]&&aqaw._boundingBox[1][1]&&ap=ap||ai[1]=ap){if(aj[0]+(ap-aj[1])/(ai[1]-aj[1])*(ai[0]-aj[0])0)?av:0;for(var aC=0;aC=ay[0]-ax._bodyWidth/2&&aq<=ay[0]+ax._bodyWidth/2&&ap>=ad(aw.data[aC][2])&&ap<=ad(aw.data[aC][3])){return{seriesIndex:aD,pointIndex:aC,gridData:ay,data:aw.data[aC]}}}else{if(!ax.hlc){var ad=aw._yaxis.series_u2p;if(aq>=ay[0]-ax._tickLength&&aq<=ay[0]+ax._tickLength&&ap>=ad(aw.data[aC][2])&&ap<=ad(aw.data[aC][3])){return{seriesIndex:aD,pointIndex:aC,gridData:ay,data:aw.data[aC]}}}else{var ad=aw._yaxis.series_u2p;if(aq>=ay[0]-ax._tickLength&&aq<=ay[0]+ax._tickLength&&ap>=ad(aw.data[aC][1])&&ap<=ad(aw.data[aC][2])){return{seriesIndex:aD,pointIndex:aC,gridData:ay,data:aw.data[aC]}}}}}else{if(ay[0]!=null&&ay[1]!=null){aE=Math.sqrt((aq-ay[0])*(aq-ay[0])+(ap-ay[1])*(ap-ay[1]));if(aE<=W&&(aE<=aA||aA==null)){aA=aE;return{seriesIndex:aD,pointIndex:aC,gridData:ay,data:aw.data[aC]}}}}}}}break;default:aq=U.x;ap=U.y;ax=aw.renderer;if(aw.show){av=aw.markerRenderer.size/2+aw.neighborThreshold;W=(av>0)?av:0;for(var aC=0;aC=ay[0]-ax._bodyWidth/2&&aq<=ay[0]+ax._bodyWidth/2&&ap>=ad(aw.data[aC][2])&&ap<=ad(aw.data[aC][3])){return{seriesIndex:aD,pointIndex:aC,gridData:ay,data:aw.data[aC]}}}else{if(!ax.hlc){var ad=aw._yaxis.series_u2p;if(aq>=ay[0]-ax._tickLength&&aq<=ay[0]+ax._tickLength&&ap>=ad(aw.data[aC][2])&&ap<=ad(aw.data[aC][3])){return{seriesIndex:aD,pointIndex:aC,gridData:ay,data:aw.data[aC]}}}else{var ad=aw._yaxis.series_u2p;if(aq>=ay[0]-ax._tickLength&&aq<=ay[0]+ax._tickLength&&ap>=ad(aw.data[aC][1])&&ap<=ad(aw.data[aC][2])){return{seriesIndex:aD,pointIndex:aC,gridData:ay,data:aw.data[aC]}}}}}else{aE=Math.sqrt((aq-ay[0])*(aq-ay[0])+(ap-ay[1])*(ap-ay[1]));if(aE<=W&&(aE<=aA||aA==null)){aA=aE;return{seriesIndex:aD,pointIndex:aC,gridData:ay,data:aw.data[aC]}}}}}break}}return null}this.onClick=function(W){var V=R(W);var Y=W.data.plot;var X=T(V.gridPos,Y);var U=jQuery.Event("jqplotClick");U.pageX=W.pageX;U.pageY=W.pageY;B(this).trigger(U,[V.gridPos,V.dataPos,X,Y])};this.onDblClick=function(W){var V=R(W);var Y=W.data.plot;var X=T(V.gridPos,Y);var U=jQuery.Event("jqplotDblClick");U.pageX=W.pageX;U.pageY=W.pageY;B(this).trigger(U,[V.gridPos,V.dataPos,X,Y])};this.onMouseDown=function(W){var V=R(W);var Y=W.data.plot;var X=T(V.gridPos,Y);var U=jQuery.Event("jqplotMouseDown");U.pageX=W.pageX;U.pageY=W.pageY;B(this).trigger(U,[V.gridPos,V.dataPos,X,Y])};this.onMouseUp=function(W){var V=R(W);var U=jQuery.Event("jqplotMouseUp");U.pageX=W.pageX;U.pageY=W.pageY;B(this).trigger(U,[V.gridPos,V.dataPos,null,W.data.plot])};this.onRightClick=function(W){var V=R(W);var Y=W.data.plot;var X=T(V.gridPos,Y);if(Y.captureRightClick){if(W.which==3){var U=jQuery.Event("jqplotRightClick");U.pageX=W.pageX;U.pageY=W.pageY;B(this).trigger(U,[V.gridPos,V.dataPos,X,Y])}else{var U=jQuery.Event("jqplotMouseUp");U.pageX=W.pageX;U.pageY=W.pageY;B(this).trigger(U,[V.gridPos,V.dataPos,X,Y])}}};this.onMouseMove=function(W){var V=R(W);var Y=W.data.plot;var X=T(V.gridPos,Y);var U=jQuery.Event("jqplotMouseMove");U.pageX=W.pageX;U.pageY=W.pageY;B(this).trigger(U,[V.gridPos,V.dataPos,X,Y])};this.onMouseEnter=function(W){var V=R(W);var X=W.data.plot;var U=jQuery.Event("jqplotMouseEnter");U.pageX=W.pageX;U.pageY=W.pageY;B(this).trigger(U,[V.gridPos,V.dataPos,null,X])};this.onMouseLeave=function(W){var V=R(W);var X=W.data.plot;var U=jQuery.Event("jqplotMouseLeave");U.pageX=W.pageX;U.pageY=W.pageY;B(this).trigger(U,[V.gridPos,V.dataPos,null,X])};this.drawSeries=function(W,U){var Y,X,V;U=(typeof(W)=="number"&&U==null)?W:U;W=(typeof(W)=="object")?W:{};if(U!=l){X=this.series[U];V=X.shadowCanvas._ctx;V.clearRect(0,0,V.canvas.width,V.canvas.height);X.drawShadow(V,W,this);V=X.canvas._ctx;V.clearRect(0,0,V.canvas.width,V.canvas.height);X.draw(V,W,this);if(X.renderer.constructor==B.jqplot.BezierCurveRenderer){if(U570)?Q[S]*0.8:Q[S]+0.3*(255-Q[S]);Q[S]=parseInt(Q[S],10)}T.push("rgb("+Q[0]+","+Q[1]+","+Q[2]+")")}}else{var U=B.jqplot.getColorComponents(R);var Q=[U[0],U[1],U[2]];var W=Q[0]+Q[1]+Q[2];for(var S=0;S<3;S++){Q[S]=(W>570)?Q[S]*0.8:Q[S]+0.3*(255-Q[S]);Q[S]=parseInt(Q[S],10)}T="rgb("+Q[0]+","+Q[1]+","+Q[2]+")"}return T};B.jqplot.ColorGenerator=function(R){var Q=0;this.next=function(){if(Q0){return R[Q--]}else{Q=R.length-1;return R[Q]}};this.get=function(T){var S=T-R.length*Math.floor(T/R.length);return R[S]};this.setColors=function(S){R=S};this.reset=function(){Q=0}};B.jqplot.hex2rgb=function(S,Q){S=S.replace("#","");if(S.length==3){S=S[0]+S[0]+S[1]+S[1]+S[2]+S[2]}var R;R="rgba("+parseInt(S.slice(0,2),16)+", "+parseInt(S.slice(2,4),16)+", "+parseInt(S.slice(4,6),16);if(Q){R+=", "+Q}R+=")";return R};B.jqplot.rgb2hex=function(U){var S=/rgba?\( *([0-9]{1,3}\.?[0-9]*%?) *, *([0-9]{1,3}\.?[0-9]*%?) *, *([0-9]{1,3}\.?[0-9]*%?) *(?:, *[0-9.]*)?\)/;var Q=U.match(S);var T="#";for(i=1;i<4;i++){var R;if(Q[i].search(/%/)!=-1){R=parseInt(255*Q[i]/100,10).toString(16);if(R.length==1){R="0"+R}}else{R=parseInt(Q[i],10).toString(16);if(R.length==1){R="0"+R}}T+=R}return T};B.jqplot.normalize2rgb=function(R,Q){if(R.search(/^ *rgba?\(/)!=-1){return R}else{if(R.search(/^ *#?[0-9a-fA-F]?[0-9a-fA-F]/)!=-1){return B.jqplot.hex2rgb(R,Q)}else{throw"invalid color spec"}}};B.jqplot.getColorComponents=function(U){U=B.jqplot.colorKeywordMap[U]||U;var T=B.jqplot.normalize2rgb(U);var S=/rgba?\( *([0-9]{1,3}\.?[0-9]*%?) *, *([0-9]{1,3}\.?[0-9]*%?) *, *([0-9]{1,3}\.?[0-9]*%?) *,? *([0-9.]* *)?\)/;var Q=T.match(S);var R=[];for(i=1;i<4;i++){if(Q[i].search(/%/)!=-1){R[i-1]=parseInt(255*Q[i]/100,10)}else{R[i-1]=parseInt(Q[i],10)}}R[3]=parseFloat(Q[4])?parseFloat(Q[4]):1;return R};B.jqplot.colorKeywordMap={aliceblue:"rgb(240, 248, 255)",antiquewhite:"rgb(250, 235, 215)",aqua:"rgb( 0, 255, 255)",aquamarine:"rgb(127, 255, 212)",azure:"rgb(240, 255, 255)",beige:"rgb(245, 245, 220)",bisque:"rgb(255, 228, 196)",black:"rgb( 0, 0, 0)",blanchedalmond:"rgb(255, 235, 205)",blue:"rgb( 0, 0, 255)",blueviolet:"rgb(138, 43, 226)",brown:"rgb(165, 42, 42)",burlywood:"rgb(222, 184, 135)",cadetblue:"rgb( 95, 158, 160)",chartreuse:"rgb(127, 255, 0)",chocolate:"rgb(210, 105, 30)",coral:"rgb(255, 127, 80)",cornflowerblue:"rgb(100, 149, 237)",cornsilk:"rgb(255, 248, 220)",crimson:"rgb(220, 20, 60)",cyan:"rgb( 0, 255, 255)",darkblue:"rgb( 0, 0, 139)",darkcyan:"rgb( 0, 139, 139)",darkgoldenrod:"rgb(184, 134, 11)",darkgray:"rgb(169, 169, 169)",darkgreen:"rgb( 0, 100, 0)",darkgrey:"rgb(169, 169, 169)",darkkhaki:"rgb(189, 183, 107)",darkmagenta:"rgb(139, 0, 139)",darkolivegreen:"rgb( 85, 107, 47)",darkorange:"rgb(255, 140, 0)",darkorchid:"rgb(153, 50, 204)",darkred:"rgb(139, 0, 0)",darksalmon:"rgb(233, 150, 122)",darkseagreen:"rgb(143, 188, 143)",darkslateblue:"rgb( 72, 61, 139)",darkslategray:"rgb( 47, 79, 79)",darkslategrey:"rgb( 47, 79, 79)",darkturquoise:"rgb( 0, 206, 209)",darkviolet:"rgb(148, 0, 211)",deeppink:"rgb(255, 20, 147)",deepskyblue:"rgb( 0, 191, 255)",dimgray:"rgb(105, 105, 105)",dimgrey:"rgb(105, 105, 105)",dodgerblue:"rgb( 30, 144, 255)",firebrick:"rgb(178, 34, 34)",floralwhite:"rgb(255, 250, 240)",forestgreen:"rgb( 34, 139, 34)",fuchsia:"rgb(255, 0, 255)",gainsboro:"rgb(220, 220, 220)",ghostwhite:"rgb(248, 248, 255)",gold:"rgb(255, 215, 0)",goldenrod:"rgb(218, 165, 32)",gray:"rgb(128, 128, 128)",grey:"rgb(128, 128, 128)",green:"rgb( 0, 128, 0)",greenyellow:"rgb(173, 255, 47)",honeydew:"rgb(240, 255, 240)",hotpink:"rgb(255, 105, 180)",indianred:"rgb(205, 92, 92)",indigo:"rgb( 75, 0, 130)",ivory:"rgb(255, 255, 240)",khaki:"rgb(240, 230, 140)",lavender:"rgb(230, 230, 250)",lavenderblush:"rgb(255, 240, 245)",lawngreen:"rgb(124, 252, 0)",lemonchiffon:"rgb(255, 250, 205)",lightblue:"rgb(173, 216, 230)",lightcoral:"rgb(240, 128, 128)",lightcyan:"rgb(224, 255, 255)",lightgoldenrodyellow:"rgb(250, 250, 210)",lightgray:"rgb(211, 211, 211)",lightgreen:"rgb(144, 238, 144)",lightgrey:"rgb(211, 211, 211)",lightpink:"rgb(255, 182, 193)",lightsalmon:"rgb(255, 160, 122)",lightseagreen:"rgb( 32, 178, 170)",lightskyblue:"rgb(135, 206, 250)",lightslategray:"rgb(119, 136, 153)",lightslategrey:"rgb(119, 136, 153)",lightsteelblue:"rgb(176, 196, 222)",lightyellow:"rgb(255, 255, 224)",lime:"rgb( 0, 255, 0)",limegreen:"rgb( 50, 205, 50)",linen:"rgb(250, 240, 230)",magenta:"rgb(255, 0, 255)",maroon:"rgb(128, 0, 0)",mediumaquamarine:"rgb(102, 205, 170)",mediumblue:"rgb( 0, 0, 205)",mediumorchid:"rgb(186, 85, 211)",mediumpurple:"rgb(147, 112, 219)",mediumseagreen:"rgb( 60, 179, 113)",mediumslateblue:"rgb(123, 104, 238)",mediumspringgreen:"rgb( 0, 250, 154)",mediumturquoise:"rgb( 72, 209, 204)",mediumvioletred:"rgb(199, 21, 133)",midnightblue:"rgb( 25, 25, 112)",mintcream:"rgb(245, 255, 250)",mistyrose:"rgb(255, 228, 225)",moccasin:"rgb(255, 228, 181)",navajowhite:"rgb(255, 222, 173)",navy:"rgb( 0, 0, 128)",oldlace:"rgb(253, 245, 230)",olive:"rgb(128, 128, 0)",olivedrab:"rgb(107, 142, 35)",orange:"rgb(255, 165, 0)",orangered:"rgb(255, 69, 0)",orchid:"rgb(218, 112, 214)",palegoldenrod:"rgb(238, 232, 170)",palegreen:"rgb(152, 251, 152)",paleturquoise:"rgb(175, 238, 238)",palevioletred:"rgb(219, 112, 147)",papayawhip:"rgb(255, 239, 213)",peachpuff:"rgb(255, 218, 185)",peru:"rgb(205, 133, 63)",pink:"rgb(255, 192, 203)",plum:"rgb(221, 160, 221)",powderblue:"rgb(176, 224, 230)",purple:"rgb(128, 0, 128)",red:"rgb(255, 0, 0)",rosybrown:"rgb(188, 143, 143)",royalblue:"rgb( 65, 105, 225)",saddlebrown:"rgb(139, 69, 19)",salmon:"rgb(250, 128, 114)",sandybrown:"rgb(244, 164, 96)",seagreen:"rgb( 46, 139, 87)",seashell:"rgb(255, 245, 238)",sienna:"rgb(160, 82, 45)",silver:"rgb(192, 192, 192)",skyblue:"rgb(135, 206, 235)",slateblue:"rgb(106, 90, 205)",slategray:"rgb(112, 128, 144)",slategrey:"rgb(112, 128, 144)",snow:"rgb(255, 250, 250)",springgreen:"rgb( 0, 255, 127)",steelblue:"rgb( 70, 130, 180)",tan:"rgb(210, 180, 140)",teal:"rgb( 0, 128, 128)",thistle:"rgb(216, 191, 216)",tomato:"rgb(255, 99, 71)",turquoise:"rgb( 64, 224, 208)",violet:"rgb(238, 130, 238)",wheat:"rgb(245, 222, 179)",white:"rgb(255, 255, 255)",whitesmoke:"rgb(245, 245, 245)",yellow:"rgb(255, 255, 0)",yellowgreen:"rgb(154, 205, 50)"};B.jqplot.log=function(){if(window.console&&B.jqplot.debug){if(arguments.length==1){console.log(arguments[0])}else{console.log(arguments)}}};var e=B.jqplot.log;B.jqplot.AxisLabelRenderer=function(Q){B.jqplot.ElemContainer.call(this);this.axis;this.show=true;this.label="";this.fontFamily=null;this.fontSize=null;this.textColor=null;this._elem;this.escapeHTML=false;B.extend(true,this,Q)};B.jqplot.AxisLabelRenderer.prototype=new B.jqplot.ElemContainer();B.jqplot.AxisLabelRenderer.prototype.constructor=B.jqplot.AxisLabelRenderer;B.jqplot.AxisLabelRenderer.prototype.init=function(Q){B.extend(true,this,Q)};B.jqplot.AxisLabelRenderer.prototype.draw=function(){this._elem=B('
');if(Number(this.label)){this._elem.css("white-space","nowrap")}if(!this.escapeHTML){this._elem.html(this.label)}else{this._elem.text(this.label)}if(this.fontFamily){this._elem.css("font-family",this.fontFamily)}if(this.fontSize){this._elem.css("font-size",this.fontSize)}if(this.textColor){this._elem.css("color",this.textColor)}return this._elem};B.jqplot.AxisLabelRenderer.prototype.pack=function(){};B.jqplot.AxisTickRenderer=function(Q){B.jqplot.ElemContainer.call(this);this.mark="outside";this.axis;this.showMark=true;this.showGridline=true;this.isMinorTick=false;this.size=4;this.markSize=6;this.show=true;this.showLabel=true;this.label="";this.value=null;this._styles={};this.formatter=B.jqplot.DefaultTickFormatter;this.prefix="";this.formatString="";this.fontFamily;this.fontSize;this.textColor;this._elem;B.extend(true,this,Q)};B.jqplot.AxisTickRenderer.prototype.init=function(Q){B.extend(true,this,Q)};B.jqplot.AxisTickRenderer.prototype=new B.jqplot.ElemContainer();B.jqplot.AxisTickRenderer.prototype.constructor=B.jqplot.AxisTickRenderer;B.jqplot.AxisTickRenderer.prototype.setTick=function(Q,S,R){this.value=Q;this.axis=S;if(R){this.isMinorTick=true}return this};B.jqplot.AxisTickRenderer.prototype.draw=function(){if(!this.label){this.label=this.formatter(this.formatString,this.value)}if(this.prefix&&!this.formatString){this.label=this.prefix+this.label}style='style="position:absolute;';if(Number(this.label)){style+="white-space:nowrap;"}style+='"';this._elem=B("
'+this.label+"
");for(var Q in this._styles){this._elem.css(Q,this._styles[Q])}if(this.fontFamily){this._elem.css("font-family",this.fontFamily)}if(this.fontSize){this._elem.css("font-size",this.fontSize)}if(this.textColor){this._elem.css("color",this.textColor)}return this._elem};B.jqplot.DefaultTickFormatter=function(Q,R){if(typeof R=="number"){if(!Q){Q=B.jqplot.config.defaultTickFormatString}return B.jqplot.sprintf(Q,R)}else{return String(R)}};B.jqplot.AxisTickRenderer.prototype.pack=function(){};B.jqplot.CanvasGridRenderer=function(){this.shadowRenderer=new B.jqplot.ShadowRenderer()};B.jqplot.CanvasGridRenderer.prototype.init=function(R){this._ctx;B.extend(true,this,R);var Q={lineJoin:"miter",lineCap:"round",fill:false,isarc:false,angle:this.shadowAngle,offset:this.shadowOffset,alpha:this.shadowAlpha,depth:this.shadowDepth,lineWidth:this.shadowWidth,closePath:false,strokeStyle:this.shadowColor};this.renderer.shadowRenderer.init(Q)};B.jqplot.CanvasGridRenderer.prototype.createElement=function(){var S=document.createElement("canvas");var Q=this._plotDimensions.width;var R=this._plotDimensions.height;S.width=Q;S.height=R;this._elem=B(S);this._elem.addClass("jqplot-grid-canvas");this._elem.css({position:"absolute",left:0,top:0});if(B.browser.msie){window.G_vmlCanvasManager.init_(document)}if(B.browser.msie){S=window.G_vmlCanvasManager.initElement(S)}this._top=this._offsets.top;this._bottom=R-this._offsets.bottom;this._left=this._offsets.left;this._right=Q-this._offsets.right;this._width=this._right-this._left;this._height=this._bottom-this._top;return this._elem};B.jqplot.CanvasGridRenderer.prototype.draw=function(){this._ctx=this._elem.get(0).getContext("2d");var ag=this._ctx;var Z=this._axes;ag.save();ag.clearRect(0,0,this._plotDimensions.width,this._plotDimensions.height);ag.fillStyle=this.backgroundColor||this.background;ag.fillRect(this._left,this._top,this._width,this._height);if(this.drawGridlines){ag.save();ag.lineJoin="miter";ag.lineCap="butt";ag.lineWidth=this.gridLineWidth;ag.strokeStyle=this.gridLineColor;var ab,Y;var Q=["xaxis","yaxis","x2axis","y2axis"];for(var V=4;V>0;V--){var R=Q[V-1];var T=Z[R];var ac=T._ticks;if(T.show){for(var U=ac.length;U>0;U--){var af=ac[U-1];if(af.show){var aa=Math.round(T.u2p(af.value))+0.5;switch(R){case"xaxis":if(af.showGridline){X(aa,this._top,aa,this._bottom)}if(af.showMark&&af.mark){s=af.markSize;m=af.mark;var aa=Math.round(T.u2p(af.value))+0.5;switch(m){case"outside":ab=this._bottom;Y=this._bottom+s;break;case"inside":ab=this._bottom-s;Y=this._bottom;break;case"cross":ab=this._bottom-s;Y=this._bottom+s;break;default:ab=this._bottom;Y=this._bottom+s;break}if(this.shadow){this.renderer.shadowRenderer.draw(ag,[[aa,ab],[aa,Y]],{lineCap:"butt",lineWidth:this.gridLineWidth,offset:this.gridLineWidth*0.75,depth:2,fill:false,closePath:false})}X(aa,ab,aa,Y)}break;case"yaxis":if(af.showGridline){X(this._right,aa,this._left,aa)}if(af.showMark&&af.mark){s=af.markSize;m=af.mark;var aa=Math.round(T.u2p(af.value))+0.5;switch(m){case"outside":ab=this._left-s;Y=this._left;break;case"inside":ab=this._left;Y=this._left+s;break;case"cross":ab=this._left-s;Y=this._left+s;break;default:ab=this._left-s;Y=this._left;break}if(this.shadow){this.renderer.shadowRenderer.draw(ag,[[ab,aa],[Y,aa]],{lineCap:"butt",lineWidth:this.gridLineWidth*1.5,offset:this.gridLineWidth*0.75,fill:false,closePath:false})}X(ab,aa,Y,aa,{strokeStyle:T.borderColor})}break;case"x2axis":if(af.showGridline){X(aa,this._bottom,aa,this._top)}if(af.showMark&&af.mark){s=af.markSize;m=af.mark;var aa=Math.round(T.u2p(af.value))+0.5;switch(m){case"outside":ab=this._top-s;Y=this._top;break;case"inside":ab=this._top;Y=this._top+s;break;case"cross":ab=this._top-s;Y=this._top+s;break;default:ab=this._top-s;Y=this._top;break}if(this.shadow){this.renderer.shadowRenderer.draw(ag,[[aa,ab],[aa,Y]],{lineCap:"butt",lineWidth:this.gridLineWidth,offset:this.gridLineWidth*0.75,depth:2,fill:false,closePath:false})}X(aa,ab,aa,Y)}break;case"y2axis":if(af.showGridline){X(this._left,aa,this._right,aa)}if(af.showMark&&af.mark){s=af.markSize;m=af.mark;var aa=Math.round(T.u2p(af.value))+0.5;switch(m){case"outside":ab=this._right;Y=this._right+s;break;case"inside":ab=this._right-s;Y=this._right;break;case"cross":ab=this._right-s;Y=this._right+s;break;default:ab=this._right;Y=this._right+s;break}if(this.shadow){this.renderer.shadowRenderer.draw(ag,[[ab,aa],[Y,aa]],{lineCap:"butt",lineWidth:this.gridLineWidth*1.5,offset:this.gridLineWidth*0.75,fill:false,closePath:false})}X(ab,aa,Y,aa,{strokeStyle:T.borderColor})}break;default:break}}}}}Q=["y3axis","y4axis","y5axis","y6axis","y7axis","y8axis","y9axis"];for(var V=7;V>0;V--){var T=Z[Q[V-1]];var ac=T._ticks;if(T.show){var ae=ac[T.numberTicks-1];var W=ac[0];var S=T.getLeft();var ad=[[S,ae.getTop()+ae.getHeight()/2],[S,W.getTop()+W.getHeight()/2+1]];if(this.shadow){this.renderer.shadowRenderer.draw(ag,ad,{lineCap:"butt",fill:false,closePath:false})}X(ad[0][0],ad[0][1],ad[1][0],ad[1][1],{lineCap:"butt",strokeStyle:T.borderColor,lineWidth:T.borderWidth});for(var U=ac.length;U>0;U--){var af=ac[U-1];s=af.markSize;m=af.mark;var aa=Math.round(T.u2p(af.value))+0.5;if(af.showMark&&af.mark){switch(m){case"outside":ab=S;Y=S+s;break;case"inside":ab=S-s;Y=S;break;case"cross":ab=S-s;Y=S+s;break;default:ab=S;Y=S+s;break}ad=[[ab,aa],[Y,aa]];if(this.shadow){this.renderer.shadowRenderer.draw(ag,ad,{lineCap:"butt",lineWidth:this.gridLineWidth*1.5,offset:this.gridLineWidth*0.75,fill:false,closePath:false})}X(ab,aa,Y,aa,{strokeStyle:T.borderColor})}}}}ag.restore()}function X(al,ak,ai,ah,aj){ag.save();aj=aj||{};if(aj.lineWidth==null||aj.lineWidth!=0){B.extend(true,ag,aj);ag.beginPath();ag.moveTo(al,ak);ag.lineTo(ai,ah);ag.stroke();ag.restore()}}if(this.shadow){var ad=[[this._left,this._bottom],[this._right,this._bottom],[this._right,this._top]];this.renderer.shadowRenderer.draw(ag,ad)}if(this.borderWidth!=0&&this.drawBorder){X(this._left,this._top,this._right,this._top,{lineCap:"round",strokeStyle:Z.x2axis.borderColor,lineWidth:Z.x2axis.borderWidth});X(this._right,this._top,this._right,this._bottom,{lineCap:"round",strokeStyle:Z.y2axis.borderColor,lineWidth:Z.y2axis.borderWidth});X(this._right,this._bottom,this._left,this._bottom,{lineCap:"round",strokeStyle:Z.xaxis.borderColor,lineWidth:Z.xaxis.borderWidth});X(this._left,this._bottom,this._left,this._top,{lineCap:"round",strokeStyle:Z.yaxis.borderColor,lineWidth:Z.yaxis.borderWidth})}ag.restore()};var v=24*60*60*1000;var K=function(Q,R){Q=String(Q);while(Q.length0?"floor":"ceil"](Q/12));var R=S.getMonth()+(Q%12);if(R==12){R=0;S.setYear(S.getFullYear()+1)}else{if(R==-1){R=11;S.setYear(S.getFullYear()-1)}}S.setMonth(R)},diff:function(U,S){var Q=U.getFullYear()-S.getFullYear();var R=U.getMonth()-S.getMonth()+(Q*12);var T=U.getDate()-S.getDate();return R+(T/30)}},year:{add:function(R,Q){R.setYear(R.getFullYear()+Math[Q>0?"floor":"ceil"](Q))},diff:function(R,Q){return w.month.diff(R,Q)/12}}};for(var J in w){if(J.substring(J.length-1)!="s"){w[J+"s"]=w[J]}}var y=function(T,S){if(Date.prototype.strftime.formatShortcuts[S]){return T.strftime(Date.prototype.strftime.formatShortcuts[S])}else{var Q=(Date.prototype.strftime.formatCodes[S]||"").split(".");var R=T["get"+Q[0]]?T["get"+Q[0]]():"";if(Q[1]){R=K(R,Q[1])}return R}};var r={succ:function(Q){return this.clone().add(1,Q)},add:function(S,R){var Q=w[R]||w.day;if(typeof Q=="number"){this.setTime(this.getTime()+(Q*S))}else{Q.add(this,S)}return this},diff:function(R,U,Q){R=Date.create(R);if(R===null){return null}var S=w[U]||w.day;if(typeof S=="number"){var T=(this.getTime()-R.getTime())/S}else{var T=S.diff(this,R)}return(Q?T:Math[T>0?"floor":"ceil"](T))},strftime:function(R){var T=R||"%Y-%m-%d",Q="",S;while(T.length>0){if(S=T.match(Date.prototype.strftime.formatCodes.matcher)){Q+=T.slice(0,S.index);Q+=(S[1]||"")+y(this,S[2]);T=T.slice(S.index+S[0].length)}else{Q+=T;T=""}}return Q},getShortYear:function(){return this.getYear()%100},getMonthNumber:function(){return this.getMonth()+1},getMonthName:function(){return Date.MONTHNAMES[this.getMonth()]},getAbbrMonthName:function(){return Date.ABBR_MONTHNAMES[this.getMonth()]},getDayName:function(){return Date.DAYNAMES[this.getDay()]},getAbbrDayName:function(){return Date.ABBR_DAYNAMES[this.getDay()]},getDayOrdinal:function(){return Date.ORDINALNAMES[this.getDate()%10]},getHours12:function(){var Q=this.getHours();return Q>12?Q-12:(Q==0?12:Q)},getAmPm:function(){return this.getHours()>=12?"PM":"AM"},getUnix:function(){return Math.round(this.getTime()/1000,0)},getGmtOffset:function(){var Q=this.getTimezoneOffset()/60;var R=Q<0?"+":"-";Q=Math.abs(Q);return R+K(Math.floor(Q),2)+":"+K((Q%1)*60,2)},getTimezoneName:function(){var Q=/(?:\((.+)\)$| ([A-Z]{3}) )/.exec(this.toString());return Q[1]||Q[2]||"GMT"+this.getGmtOffset()},toYmdInt:function(){return(this.getFullYear()*10000)+(this.getMonthNumber()*100)+this.getDate()},clone:function(){return new Date(this.getTime())}};for(var n in r){Date.prototype[n]=r[n]}var A={create:function(Q){if(Q instanceof Date){return Q}if(typeof Q=="number"){return new Date(Q)}var V=String(Q).replace(/^\s*(.+)\s*$/,"$1"),R=0,S=Date.create.patterns.length,T;var U=V;while(R31){Q=S[3];if(Z')}else{if(this.text){var R;if(this.color){R=this.color}else{if(this.textColor){R=this.textColor}}var Q="position:absolute;top:0px;left:0px;";Q+=(this._plotWidth)?"width:"+this._plotWidth+"px;":"";Q+=(this.fontSize)?"font-size:"+this.fontSize+";":"";Q+=(this.textAlign)?"text-align:"+this.textAlign+";":"text-align:center;";Q+=(R)?"color:"+R+";":"";Q+=(this.paddingBottom)?"padding-bottom:"+this.paddingBottom+";":"";this._elem=B('
'+this.text+"
");if(this.fontFamily){this._elem.css("font-family",this.fontFamily)}}}return this._elem};B.jqplot.DivTitleRenderer.prototype.pack=function(){};B.jqplot.LineRenderer=function(){this.shapeRenderer=new B.jqplot.ShapeRenderer();this.shadowRenderer=new B.jqplot.ShadowRenderer()};B.jqplot.LineRenderer.prototype.init=function(R,V){R=R||{};var T={highlightMouseOver:R.highlightMouseOver,highlightMouseDown:R.highlightMouseDown,highlightColor:R.highlightColor};delete (R.highlightMouseOver);delete (R.highlightMouseDown);delete (R.highlightColor);B.extend(true,this.renderer,R);var U={lineJoin:"round",lineCap:"round",fill:this.fill,isarc:false,strokeStyle:this.color,fillStyle:this.fillColor,lineWidth:this.lineWidth,closePath:this.fill};this.renderer.shapeRenderer.init(U);if(this.lineWidth>2.5){var S=this.shadowOffset*(1+(Math.atan((this.lineWidth/2.5))/0.785398163-1)*0.6)}else{var S=this.shadowOffset*Math.atan((this.lineWidth/2.5))/0.785398163}var Q={lineJoin:"round",lineCap:"round",fill:this.fill,isarc:false,angle:this.shadowAngle,offset:S,alpha:this.shadowAlpha,depth:this.shadowDepth,lineWidth:this.lineWidth,closePath:this.fill};this.renderer.shadowRenderer.init(Q);this._areaPoints=[];this._boundingBox=[[],[]];if(!this.isTrendline&&this.fill){this.highlightMouseOver=true;this.highlightMouseDown=false;this.highlightColor=null;if(T.highlightMouseDown&&T.highlightMouseOver==null){T.highlightMouseOver=false}B.extend(true,this,{highlightMouseOver:T.highlightMouseOver,highlightMouseDown:T.highlightMouseDown,highlightColor:T.highlightColor});if(!this.highlightColor){this.highlightColor=B.jqplot.computeHighlightColors(this.fillColor)}if(this.highlighter){this.highlighter.show=false}V.postInitHooks.addOnce(q);V.postDrawHooks.addOnce(P);V.eventListenerHooks.addOnce("jqplotMouseMove",d);V.eventListenerHooks.addOnce("jqplotMouseDown",a);V.eventListenerHooks.addOnce("jqplotMouseUp",O);V.eventListenerHooks.addOnce("jqplotClick",c);V.eventListenerHooks.addOnce("jqplotRightClick",j)}};B.jqplot.LineRenderer.prototype.setGridData=function(V){var R=this._xaxis.series_u2p;var U=this._yaxis.series_u2p;var S=this._plotData;var T=this._prevPlotData;this.gridData=[];this._prevGridData=[];for(var Q=0;Q0;aj--){ao.push(ac[aj-1])}if(T){this.renderer.shadowRenderer.draw(af,ao,Z)}this._areaPoints=ao;this.renderer.shapeRenderer.draw(af,ao,Z)}}else{if(Q){var an=ao.slice(0)}if(this.index==0||!this._stack){var V=af.canvas.height;ao.unshift([ao[0][0],V]);len=ao.length;ao.push([ao[len-1][0],V])}else{var ac=this._prevGridData;for(var aj=ac.length;aj>0;aj--){ao.push(ac[aj-1])}}this._areaPoints=ao;if(T){this.renderer.shadowRenderer.draw(af,ao,Z)}this.renderer.shapeRenderer.draw(af,ao,Z)}if(Q){var ah=B.extend(true,{},Z,{fill:false,closePath:false});this.renderer.shapeRenderer.draw(af,an,ah);if(this.markerRenderer.show){for(aj=0;ajab[0]||aa==null){aa=ab[0]}if(akab[1]||ag==null){ag=ab[1]}}this._boundingBox=[[aa,ak],[ad,ag]];if(this.markerRenderer.show&&!ai){for(aj=0;ajQ.max)||Q.max==null){Q.max=V[R][0]}}else{if((V[R][1]!=null&&V[R][1]Q.max)||Q.max==null){Q.max=V[R][1]}}}}};B.jqplot.LinearAxisRenderer.prototype.draw=function(Q){if(this.show){this.renderer.createTicks.call(this);var W=0;var R;if(this._elem){this._elem.empty()}this._elem=B('
');if(this.name=="xaxis"||this.name=="x2axis"){this._elem.width(this._plotDimensions.width)}else{this._elem.height(this._plotDimensions.height)}this.labelOptions.axis=this.name;this._label=new this.labelRenderer(this.labelOptions);if(this._label.show){var V=this._label.draw(Q);V.appendTo(this._elem)}var U=this._ticks;for(var T=0;TX){X=S}}}if(Q){R=this._label._elem.outerWidth(true);W=this._label._elem.outerHeight(true)}if(this.name=="xaxis"){X=X+W;this._elem.css({height:X+"px",left:"0px",bottom:"0px"})}else{if(this.name=="x2axis"){X=X+W;this._elem.css({height:X+"px",left:"0px",top:"0px"})}else{if(this.name=="yaxis"){X=X+R;this._elem.css({width:X+"px",left:"0px",top:"0px"});if(Q&&this._label.constructor==B.jqplot.AxisLabelRenderer){this._label._elem.css("width",R+"px")}}else{X=X+R;this._elem.css({width:X+"px",right:"0px",top:"0px"});if(Q&&this._label.constructor==B.jqplot.AxisLabelRenderer){this._label._elem.css("width",R+"px")}}}}}};B.jqplot.LinearAxisRenderer.prototype.createTicks=function(){var at=this._ticks;var am=this.ticks;var ad=this.name;var af=this._dataBounds;var Q,U;var aF,ak;var W,V;var aD,aA;var aj=this.min;var aE=this.max;var aw=this.numberTicks;var aI=this.tickInterval;if(am.length){for(aA=0;aA0){R=Math.max(Math.log(aF)/Math.LN10,0.05)}aF-=R;ak+=R}var ab=ak-aF;var aq,ac;var Z;if(this.autoscale&&this.min==null&&this.max==null){var S,T,Y;var ag=false;var ao=false;var ae={min:null,max:null,average:null,stddev:null};for(var aA=0;aAaB){aB=ar[az]}}}var aa=(aB-ai)/aB;if(av.renderer.constructor==B.jqplot.BarRenderer){if(ai>=0&&(av.fillToZero||aa>0.1)){ag=true}else{ag=false;if(av.fill&&av.fillToZero&&ai<0&&aB>0){ao=true}else{ao=false}}}else{if(av.fill){if(ai>=0&&(av.fillToZero||aa>0.1)){ag=true}else{if(ai<0&&aB>0&&av.fillToZero){ag=false;ao=true}else{ag=false;ao=false}}}else{if(ai<0){ag=false}}}}}if(ag){this.numberTicks=2+Math.ceil((Q-(this.tickSpacing-1))/this.tickSpacing);this.min=0;aj=0;T=ak/(this.numberTicks-1);Z=Math.pow(10,Math.abs(Math.floor(Math.log(T)/Math.LN10)));if(T/Z==parseInt(T/Z,10)){T+=Z}this.tickInterval=Math.ceil(T/Z)*Z;this.max=this.tickInterval*(this.numberTicks-1)}else{if(ao){this.numberTicks=2+Math.ceil((Q-(this.tickSpacing-1))/this.tickSpacing);var al=Math.ceil(Math.abs(aF)/ab*(this.numberTicks-1));var aH=this.numberTicks-1-al;T=Math.max(Math.abs(aF/al),Math.abs(ak/aH));Z=Math.pow(10,Math.abs(Math.floor(Math.log(T)/Math.LN10)));this.tickInterval=Math.ceil(T/Z)*Z;this.max=this.tickInterval*aH;this.min=-this.tickInterval*al}else{if(this.numberTicks==null){if(this.tickInterval){this.numberTicks=3+Math.ceil(ab/this.tickInterval)}else{this.numberTicks=2+Math.ceil((Q-(this.tickSpacing-1))/this.tickSpacing)}}if(this.tickInterval==null){T=ab/(this.numberTicks-1);if(T<1){Z=Math.pow(10,Math.abs(Math.floor(Math.log(T)/Math.LN10)))}else{Z=1}this.tickInterval=Math.ceil(T*Z*this.pad)/Z}else{Z=1/this.tickInterval}S=this.tickInterval*(this.numberTicks-1);Y=(S-ab)/2;if(this.min==null){this.min=Math.floor(Z*(aF-Y))/Z}if(this.max==null){this.max=this.min+S}}}}else{aq=(this.min!=null)?this.min:aF-ab*(this.padMin-1);ac=(this.max!=null)?this.max:ak+ab*(this.padMax-1);this.min=aq;this.max=ac;ab=this.max-this.min;if(this.numberTicks==null){if(this.tickInterval!=null){this.numberTicks=Math.ceil((this.max-this.min)/this.tickInterval)+1;this.max=this.min+this.tickInterval*(this.numberTicks-1)}else{if(Q>100){this.numberTicks=parseInt(3+(Q-100)/75,10)}else{this.numberTicks=2}}}if(this.tickInterval==null){this.tickInterval=ab/(this.numberTicks-1)}}if(this.renderer.constructor==B.jqplot.LinearAxisRenderer){ab=this.max-this.min;var aG=new this.tickRenderer(this.tickOptions);var an=aG.formatString||B.jqplot.config.defaultTickFormatString;var an=an.match(B.jqplot.sprintf.regex)[0];var aC=0;if(an){if(an.search(/[fFeEgGpP]/)>-1){var ay=an.match(/\%\.(\d{0,})?[eEfFgGpP]/);if(ay){aC=parseInt(ay[1],10)}else{aC=6}}else{if(an.search(/[di]/)>-1){aC=0}}var X=Math.pow(10,-aC);if(this.tickInterval0){V=-ae._textRenderer.height*Math.cos(-ae._textRenderer.angle)/2}else{V=-ae.getHeight()+ae._textRenderer.height*Math.cos(ae._textRenderer.angle)/2}break;case"middle":V=-ae.getHeight()/2;break;default:V=-ae.getHeight()/2;break}}else{V=-ae.getHeight()/2}var R=this.u2p(ae.value)+V+"px";ae._elem.css("top",R);ae.pack()}}if(X){var Y=this._label._elem.outerHeight(true);this._label._elem.css("top",T-S/2-Y/2+"px");if(this.name=="yaxis"){this._label._elem.css("left","0px")}else{this._label._elem.css("right","0px")}this._label.pack()}}}};B.jqplot.MarkerRenderer=function(Q){this.show=true;this.style="filledCircle";this.lineWidth=2;this.size=9;this.color="#666666";this.shadow=true;this.shadowAngle=45;this.shadowOffset=1;this.shadowDepth=3;this.shadowAlpha="0.07";this.shadowRenderer=new B.jqplot.ShadowRenderer();this.shapeRenderer=new B.jqplot.ShapeRenderer();B.extend(true,this,Q)};B.jqplot.MarkerRenderer.prototype.init=function(Q){B.extend(true,this,Q);var S={angle:this.shadowAngle,offset:this.shadowOffset,alpha:this.shadowAlpha,lineWidth:this.lineWidth,depth:this.shadowDepth,closePath:true};if(this.style.indexOf("filled")!=-1){S.fill=true}if(this.style.indexOf("ircle")!=-1){S.isarc=true;S.closePath=false}this.shadowRenderer.init(S);var R={fill:false,isarc:false,strokeStyle:this.color,fillStyle:this.color,lineWidth:this.lineWidth,closePath:true};if(this.style.indexOf("filled")!=-1){R.fill=true}if(this.style.indexOf("ircle")!=-1){R.isarc=true;R.closePath=false}this.shapeRenderer.init(R)};B.jqplot.MarkerRenderer.prototype.drawDiamond=function(S,R,V,U,X){var Q=1.2;var Y=this.size/2/Q;var W=this.size/2*Q;var T=[[S-Y,R],[S,R+W],[S+Y,R],[S,R-W]];if(this.shadow){this.shadowRenderer.draw(V,T)}this.shapeRenderer.draw(V,T,X)};B.jqplot.MarkerRenderer.prototype.drawPlus=function(T,S,W,V,Z){var R=1;var aa=this.size/2*R;var X=this.size/2*R;var Y=[[T,S-X],[T,S+X]];var U=[[T+aa,S],[T-aa,S]];var Q=B.extend(true,{},this.options,{closePath:false});if(this.shadow){this.shadowRenderer.draw(W,Y,{closePath:false});this.shadowRenderer.draw(W,U,{closePath:false})}this.shapeRenderer.draw(W,Y,Q);this.shapeRenderer.draw(W,U,Q)};B.jqplot.MarkerRenderer.prototype.drawX=function(T,S,W,V,Z){var R=1;var aa=this.size/2*R;var X=this.size/2*R;var Q=B.extend(true,{},this.options,{closePath:false});var Y=[[T-aa,S-X],[T+aa,S+X]];var U=[[T-aa,S+X],[T+aa,S-X]];if(this.shadow){this.shadowRenderer.draw(W,Y,{closePath:false});this.shadowRenderer.draw(W,U,{closePath:false})}this.shapeRenderer.draw(W,Y,Q);this.shapeRenderer.draw(W,U,Q)};B.jqplot.MarkerRenderer.prototype.drawDash=function(S,R,V,U,X){var Q=1;var Y=this.size/2*Q;var W=this.size/2*Q;var T=[[S-Y,R],[S+Y,R]];if(this.shadow){this.shadowRenderer.draw(V,T)}this.shapeRenderer.draw(V,T,X)};B.jqplot.MarkerRenderer.prototype.drawSquare=function(S,R,V,U,X){var Q=1;var Y=this.size/2/Q;var W=this.size/2*Q;var T=[[S-Y,R-W],[S-Y,R+W],[S+Y,R+W],[S+Y,R-W]];if(this.shadow){this.shadowRenderer.draw(V,T)}this.shapeRenderer.draw(V,T,X)};B.jqplot.MarkerRenderer.prototype.drawCircle=function(R,X,T,W,U){var Q=this.size/2;var S=2*Math.PI;var V=[R,X,Q,0,S,true];if(this.shadow){this.shadowRenderer.draw(T,V)}this.shapeRenderer.draw(T,V,U)};B.jqplot.MarkerRenderer.prototype.draw=function(Q,T,R,S){S=S||{};if(S.show==null||S.show!=false){if(S.color&&!S.fillStyle){S.fillStyle=S.color}if(S.color&&!S.strokeStyle){S.strokeStyle=S.color}switch(this.style){case"diamond":this.drawDiamond(Q,T,R,false,S);break;case"filledDiamond":this.drawDiamond(Q,T,R,true,S);break;case"circle":this.drawCircle(Q,T,R,false,S);break;case"filledCircle":this.drawCircle(Q,T,R,true,S);break;case"square":this.drawSquare(Q,T,R,false,S);break;case"filledSquare":this.drawSquare(Q,T,R,true,S);break;case"x":this.drawX(Q,T,R,true,S);break;case"plus":this.drawPlus(Q,T,R,true,S);break;case"dash":this.drawDash(Q,T,R,true,S);break;default:this.drawDiamond(Q,T,R,false,S);break}}};B.jqplot.ShadowRenderer=function(Q){this.angle=45;this.offset=1;this.alpha=0.07;this.lineWidth=1.5;this.lineJoin="miter";this.lineCap="round";this.closePath=false;this.fill=false;this.depth=3;this.strokeStyle="rgba(0,0,0,0.1)";this.isarc=false;B.extend(true,this,Q)};B.jqplot.ShadowRenderer.prototype.init=function(Q){B.extend(true,this,Q)};B.jqplot.ShadowRenderer.prototype.draw=function(aa,Y,ac){aa.save();var Q=(ac!=null)?ac:{};var Z=(Q.fill!=null)?Q.fill:this.fill;var X=(Q.closePath!=null)?Q.closePath:this.closePath;var U=(Q.offset!=null)?Q.offset:this.offset;var S=(Q.alpha!=null)?Q.alpha:this.alpha;var W=(Q.depth!=null)?Q.depth:this.depth;var ab=(Q.isarc!=null)?Q.isarc:this.isarc;aa.lineWidth=(Q.lineWidth!=null)?Q.lineWidth:this.lineWidth;aa.lineJoin=(Q.lineJoin!=null)?Q.lineJoin:this.lineJoin;aa.lineCap=(Q.lineCap!=null)?Q.lineCap:this.lineCap;aa.strokeStyle=Q.strokeStyle||this.strokeStyle||"rgba(0,0,0,"+S+")";aa.fillStyle=Q.fillStyle||this.fillStyle||"rgba(0,0,0,"+S+")";for(var T=0;T').prependTo(this._elem)}else{var V=B('').appendTo(this._elem)}if(this.showSwatches){B('
').appendTo(V)}if(this.showLabels){var U=B('');U.appendTo(V);if(this.escapeHtml){U.text(T)}else{U.html(T)}}};B.jqplot.TableLegendRenderer.prototype.draw=function(){var X=this;if(this.show){var U=this._series;var Z="position:absolute;";Z+=(this.background)?"background:"+this.background+";":"";Z+=(this.border)?"border:"+this.border+";":"";Z+=(this.fontSize)?"font-size:"+this.fontSize+";":"";Z+=(this.fontFamily)?"font-family:"+this.fontFamily+";":"";Z+=(this.textColor)?"color:"+this.textColor+";":"";Z+=(this.marginTop!=null)?"margin-top:"+this.marginTop+";":"";Z+=(this.marginBottom!=null)?"margin-bottom:"+this.marginBottom+";":"";Z+=(this.marginLeft!=null)?"margin-left:"+this.marginLeft+";":"";Z+=(this.marginRight!=null)?"margin-right:"+this.marginRight+";":"";this._elem=B('
');var Q=false,W=false;for(var V=0;V=X)?"":Array(1+X-ab.length>>>0).join(Y);return aa?ab+Z:Z+ab}function S(ac,ab,ae,Z,aa,Y){var ad=Z-ac.length;if(ad>0){var X=" ";if(Y){X=" "}if(ae||!aa){ac=V(ac,Z,X,ae)}else{ac=ac.slice(0,ab.length)+V("",ad,"0",true)+ac.slice(ab.length)}}return ac}function W(af,Y,ad,Z,X,ac,ae,ab){var aa=af>>>0;ad=ad&&aa&&{"2":"0b","8":"0","16":"0x"}[Y]||"";af=ad+V(aa.toString(Y),ac||0,"0",false);return S(af,ad,Z,X,ae,ab)}function Q(ab,ac,Z,X,aa,Y){if(X!=null){ab=ab.slice(0,X)}return S(ab,"",ac,Z,aa,Y)}var R=arguments,T=0,U=R[T++];return U.replace(B.jqplot.sprintf.regex,function(aq,ad,ae,ah,at,ao,ab){if(aq=="%%"){return"%"}var ai=false,af="",ag=false,ap=false,ac=false;for(var an=0;ae&&an-1?6:(ab=="d")?0:void (0)}else{if(ao=="*"){ao=+R[T++]}else{if(ao.charAt(0)=="*"){ao=+R[ao.slice(1,-1)]}else{ao=+ao}}}var ak=ad?R[ad.slice(0,-1)]:R[T++];switch(ab){case"s":if(ak==null){return""}return Q(String(ak),ai,ah,ao,ag,ac);case"c":return Q(String.fromCharCode(+ak),ai,ah,ao,ag,ac);case"b":return W(ak,2,ap,ai,ah,ao,ag,ac);case"o":return W(ak,8,ap,ai,ah,ao,ag,ac);case"x":return W(ak,16,ap,ai,ah,ao,ag,ac);case"X":return W(ak,16,ap,ai,ah,ao,ag,ac).toUpperCase();case"u":return W(ak,10,ap,ai,ah,ao,ag,ac);case"i":var Z=parseInt(+ak,10);if(isNaN(Z)){return""}var am=Z<0?"-":af;ak=am+V(String(Math.abs(Z)),ao,"0",false);return S(ak,am,ai,ah,ag,ac);case"d":var Z=Math.round(+ak);if(isNaN(Z)){return""}var am=Z<0?"-":af;ak=am+V(String(Math.abs(Z)),ao,"0",false);return S(ak,am,ai,ah,ag,ac);case"e":case"E":case"f":case"F":case"g":case"G":var Z=+ak;if(isNaN(Z)){return""}var am=Z<0?"-":af;var aa=["toExponential","toFixed","toPrecision"]["efg".indexOf(ab.toLowerCase())];var ar=["toString","toUpperCase"]["eEfFgG".indexOf(ab)%2];ak=am+Math.abs(Z)[aa](ao);return S(ak,am,ai,ah,ag,ac)[ar]();case"p":case"P":var Z=+ak;if(isNaN(Z)){return""}var am=Z<0?"-":af;var aj=String(Number(Math.abs(Z)).toExponential()).split(/e|E/);var Y=(aj[0].indexOf(".")!=-1)?aj[0].length-1:aj[0].length;var al=(aj[1]<0)?-aj[1]-1:0;if(Math.abs(Z)<1){if(Y+al<=ao){ak=am+Math.abs(Z).toPrecision(Y)}else{if(Y<=ao-1){ak=am+Math.abs(Z).toExponential(Y-1)}else{ak=am+Math.abs(Z).toExponential(ao-1)}}}else{var X=(Y<=ao)?Y:ao;ak=am+Math.abs(Z).toPrecision(X)}var ar=["toString","toUpperCase"]["pP".indexOf(ab)%2];return S(ak,am,ai,ah,ag,ac)[ar]();case"n":return"";default:return aq}})};B.jqplot.sprintf.regex=/%%|%(\d+\$)?([-+#0& ]*)(\*\d+\$|\*|\d+)?(\.(\*\d+\$|\*|\d+))?([nAscboxXuidfegpEGP])/g})(jQuery); \ No newline at end of file +/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com + jsDate | (c) 2010-2013 Chris Leonello + */(function(L){var u;L.fn.emptyForce=function(){for(var ah=0,ai;(ai=L(this)[ah])!=null;ah++){if(ai.nodeType===1){L.cleanData(ai.getElementsByTagName("*"))}if(L.jqplot.use_excanvas){ai.outerHTML=""}else{while(ai.firstChild){ai.removeChild(ai.firstChild)}}ai=null}return L(this)};L.fn.removeChildForce=function(ah){while(ah.firstChild){this.removeChildForce(ah.firstChild);ah.removeChild(ah.firstChild)}};L.fn.jqplot=function(){var ah=[];var aj=[];for(var ak=0,ai=arguments.length;ak'+ao+"");L("#"+an).addClass("jqplot-error");document.getElementById(an).style.background=L.jqplot.config.errorBackground;document.getElementById(an).style.border=L.jqplot.config.errorBorder;document.getElementById(an).style.fontFamily=L.jqplot.config.errorFontFamily;document.getElementById(an).style.fontSize=L.jqplot.config.errorFontSize;document.getElementById(an).style.fontStyle=L.jqplot.config.errorFontStyle;document.getElementById(an).style.fontWeight=L.jqplot.config.errorFontWeight}}else{am.init(an,aj,ah);am.draw();am.themeEngine.init.call(am);return am}};L.jqplot.version="1.0.8";L.jqplot.revision="1250";L.jqplot.targetCounter=1;L.jqplot.CanvasManager=function(){if(typeof L.jqplot.CanvasManager.canvases=="undefined"){L.jqplot.CanvasManager.canvases=[];L.jqplot.CanvasManager.free=[]}var ah=[];this.getCanvas=function(){var ak;var aj=true;if(!L.jqplot.use_excanvas){for(var al=0,ai=L.jqplot.CanvasManager.canvases.length;al887){L.jqplot.support_canvas_text.result=true}else{L.jqplot.support_canvas_text.result=!!(document.createElement("canvas").getContext&&typeof document.createElement("canvas").getContext("2d").fillText=="function")}}return L.jqplot.support_canvas_text.result};L.jqplot.use_excanvas=((!L.support.boxModel||!L.support.objectAll||!$support.leadingWhitespace)&&!L.jqplot.support_canvas())?true:false;L.jqplot.preInitHooks=[];L.jqplot.postInitHooks=[];L.jqplot.preParseOptionsHooks=[];L.jqplot.postParseOptionsHooks=[];L.jqplot.preDrawHooks=[];L.jqplot.postDrawHooks=[];L.jqplot.preDrawSeriesHooks=[];L.jqplot.postDrawSeriesHooks=[];L.jqplot.preDrawLegendHooks=[];L.jqplot.addLegendRowHooks=[];L.jqplot.preSeriesInitHooks=[];L.jqplot.postSeriesInitHooks=[];L.jqplot.preParseSeriesOptionsHooks=[];L.jqplot.postParseSeriesOptionsHooks=[];L.jqplot.eventListenerHooks=[];L.jqplot.preDrawSeriesShadowHooks=[];L.jqplot.postDrawSeriesShadowHooks=[];L.jqplot.ElemContainer=function(){this._elem;this._plotWidth;this._plotHeight;this._plotDimensions={height:null,width:null}};L.jqplot.ElemContainer.prototype.createElement=function(ak,am,ai,aj,an){this._offsets=am;var ah=ai||"jqplot";var al=document.createElement(ak);this._elem=L(al);this._elem.addClass(ah);this._elem.css(aj);this._elem.attr(an);al=null;return this._elem};L.jqplot.ElemContainer.prototype.getWidth=function(){if(this._elem){return this._elem.outerWidth(true)}else{return null}};L.jqplot.ElemContainer.prototype.getHeight=function(){if(this._elem){return this._elem.outerHeight(true)}else{return null}};L.jqplot.ElemContainer.prototype.getPosition=function(){if(this._elem){return this._elem.position()}else{return{top:null,left:null,bottom:null,right:null}}};L.jqplot.ElemContainer.prototype.getTop=function(){return this.getPosition().top};L.jqplot.ElemContainer.prototype.getLeft=function(){return this.getPosition().left};L.jqplot.ElemContainer.prototype.getBottom=function(){return this._elem.css("bottom")};L.jqplot.ElemContainer.prototype.getRight=function(){return this._elem.css("right")};function w(ah){L.jqplot.ElemContainer.call(this);this.name=ah;this._series=[];this.show=false;this.tickRenderer=L.jqplot.AxisTickRenderer;this.tickOptions={};this.labelRenderer=L.jqplot.AxisLabelRenderer;this.labelOptions={};this.label=null;this.showLabel=true;this.min=null;this.max=null;this.autoscale=false;this.pad=1.2;this.padMax=null;this.padMin=null;this.ticks=[];this.numberTicks;this.tickInterval;this.renderer=L.jqplot.LinearAxisRenderer;this.rendererOptions={};this.showTicks=true;this.showTickMarks=true;this.showMinorTicks=true;this.drawMajorGridlines=true;this.drawMinorGridlines=false;this.drawMajorTickMarks=true;this.drawMinorTickMarks=true;this.useSeriesColor=false;this.borderWidth=null;this.borderColor=null;this.scaleToHiddenSeries=false;this._dataBounds={min:null,max:null};this._intervalStats=[];this._offsets={min:null,max:null};this._ticks=[];this._label=null;this.syncTicks=null;this.tickSpacing=75;this._min=null;this._max=null;this._tickInterval=null;this._numberTicks=null;this.__ticks=null;this._options={}}w.prototype=new L.jqplot.ElemContainer();w.prototype.constructor=w;w.prototype.init=function(){if(L.isFunction(this.renderer)){this.renderer=new this.renderer()}this.tickOptions.axis=this.name;if(this.tickOptions.showMark==null){this.tickOptions.showMark=this.showTicks}if(this.tickOptions.showMark==null){this.tickOptions.showMark=this.showTickMarks}if(this.tickOptions.showLabel==null){this.tickOptions.showLabel=this.showTicks}if(this.label==null||this.label==""){this.showLabel=false}else{this.labelOptions.label=this.label}if(this.showLabel==false){this.labelOptions.show=false}if(this.pad==0){this.pad=1}if(this.padMax==0){this.padMax=1}if(this.padMin==0){this.padMin=1}if(this.padMax==null){this.padMax=(this.pad-1)/2+1}if(this.padMin==null){this.padMin=(this.pad-1)/2+1}this.pad=this.padMax+this.padMin-1;if(this.min!=null||this.max!=null){this.autoscale=false}if(this.syncTicks==null&&this.name.indexOf("y")>-1){this.syncTicks=true}else{if(this.syncTicks==null){this.syncTicks=false}}this.renderer.init.call(this,this.rendererOptions)};w.prototype.draw=function(ah,ai){if(this.__ticks){this.__ticks=null}return this.renderer.draw.call(this,ah,ai)};w.prototype.set=function(){this.renderer.set.call(this)};w.prototype.pack=function(ai,ah){if(this.show){this.renderer.pack.call(this,ai,ah)}if(this._min==null){this._min=this.min;this._max=this.max;this._tickInterval=this.tickInterval;this._numberTicks=this.numberTicks;this.__ticks=this._ticks}};w.prototype.reset=function(){this.renderer.reset.call(this)};w.prototype.resetScale=function(ah){L.extend(true,this,{min:null,max:null,numberTicks:null,tickInterval:null,_ticks:[],ticks:[]},ah);this.resetDataBounds()};w.prototype.resetDataBounds=function(){var ao=this._dataBounds;ao.min=null;ao.max=null;var ai,ap,am;var aj=(this.show)?true:false;for(var al=0;alao.max)||ao.max==null){ao.max=am[ak][0]}}else{if((am[ak][ah]!=null&&am[ak][ah]ao.max)||ao.max==null){ao.max=am[ak][an]}}}if(aj&&ap.renderer.constructor!==L.jqplot.BarRenderer){aj=false}else{if(aj&&this._options.hasOwnProperty("forceTickAt0")&&this._options.forceTickAt0==false){aj=false}else{if(aj&&ap.renderer.constructor===L.jqplot.BarRenderer){if(ap.barDirection=="vertical"&&this.name!="xaxis"&&this.name!="x2axis"){if(this._options.pad!=null||this._options.padMin!=null){aj=false}}else{if(ap.barDirection=="horizontal"&&(this.name=="xaxis"||this.name=="x2axis")){if(this._options.pad!=null||this._options.padMin!=null){aj=false}}}}}}}}if(aj&&this.renderer.constructor===L.jqplot.LinearAxisRenderer&&ao.min>=0){this.padMin=1;this.forceTickAt0=true}};function q(ah){L.jqplot.ElemContainer.call(this);this.show=false;this.location="ne";this.labels=[];this.showLabels=true;this.showSwatches=true;this.placement="insideGrid";this.xoffset=0;this.yoffset=0;this.border;this.background;this.textColor;this.fontFamily;this.fontSize;this.rowSpacing="0.5em";this.renderer=L.jqplot.TableLegendRenderer;this.rendererOptions={};this.preDraw=false;this.marginTop=null;this.marginRight=null;this.marginBottom=null;this.marginLeft=null;this.escapeHtml=false;this._series=[];L.extend(true,this,ah)}q.prototype=new L.jqplot.ElemContainer();q.prototype.constructor=q;q.prototype.setOptions=function(ah){L.extend(true,this,ah);if(this.placement=="inside"){this.placement="insideGrid"}if(this.xoffset>0){if(this.placement=="insideGrid"){switch(this.location){case"nw":case"w":case"sw":if(this.marginLeft==null){this.marginLeft=this.xoffset+"px"}this.marginRight="0px";break;case"ne":case"e":case"se":default:if(this.marginRight==null){this.marginRight=this.xoffset+"px"}this.marginLeft="0px";break}}else{if(this.placement=="outside"){switch(this.location){case"nw":case"w":case"sw":if(this.marginRight==null){this.marginRight=this.xoffset+"px"}this.marginLeft="0px";break;case"ne":case"e":case"se":default:if(this.marginLeft==null){this.marginLeft=this.xoffset+"px"}this.marginRight="0px";break}}}this.xoffset=0}if(this.yoffset>0){if(this.placement=="outside"){switch(this.location){case"sw":case"s":case"se":if(this.marginTop==null){this.marginTop=this.yoffset+"px"}this.marginBottom="0px";break;case"ne":case"n":case"nw":default:if(this.marginBottom==null){this.marginBottom=this.yoffset+"px"}this.marginTop="0px";break}}else{if(this.placement=="insideGrid"){switch(this.location){case"sw":case"s":case"se":if(this.marginBottom==null){this.marginBottom=this.yoffset+"px"}this.marginTop="0px";break;case"ne":case"n":case"nw":default:if(this.marginTop==null){this.marginTop=this.yoffset+"px"}this.marginBottom="0px";break}}}this.yoffset=0}};q.prototype.init=function(){if(L.isFunction(this.renderer)){this.renderer=new this.renderer()}this.renderer.init.call(this,this.rendererOptions)};q.prototype.draw=function(ai,aj){for(var ah=0;ah');this.target.append(az);az.height(aD);az.width(aA);az.css("top",this.eventCanvas._offsets.top);az.css("left",this.eventCanvas._offsets.left);var aC=L('
');az.append(aC);aC.html(this.noDataIndicator.indicator);var aB=aC.height();var ax=aC.width();aC.height(aB);aC.width(ax);aC.css("top",(aD-aB)/2+"px")})}}this.data=L.extend(true,[],ar);this.parseOptions(ay);if(this.textColor){this.target.css("color",this.textColor)}if(this.fontFamily){this.target.css("font-family",this.fontFamily)}if(this.fontSize){this.target.css("font-size",this.fontSize)}this.title.init();this.legend.init();this._sumy=0;this._sumx=0;this.computePlotData();for(var at=0;at0){for(var aq=au;aq--;){var an=this._plotData[aq][ap][av];if(aw*an>=0){this._plotData[au][ap][av]+=an;this._stackData[au][ap][av]+=an;break}}}}}else{for(var ar=0;ar0){at._prevPlotData=this.series[au-1]._plotData}at._sumy=0;at._sumx=0;for(ar=at.data.length-1;ar>-1;ar--){at._sumy+=at.data[ar][1];at._sumx+=at.data[ar][0]}}};this.populatePlotData=function(au,av){this._plotData=[];this._stackData=[];au._stackData=[];au._plotData=[];var ay={x:[],y:[]};if(this.stackSeries&&!au.disableStack){au._stack=true;var ax=(au._stackAxis==="x")?0:1;var az=L.extend(true,[],au.data);var aA=L.extend(true,[],au.data);var an,am,ao,aw,al;for(var ar=0;ar=0){aA[aq][ax]+=aw}}}for(var at=0;at0){au._prevPlotData=this.series[av-1]._plotData}au._sumy=0;au._sumx=0;for(at=au.data.length-1;at>-1;at--){au._sumy+=au.data[at][1];au._sumx+=au.data[at][0]}};this.getNextSeriesColor=(function(am){var al=0;var an=am.seriesColors;return function(){if(al=0&&an>=0){al.top+=aK;al.bottom+=aK;al.left+=an;al.right+=an}}var am=["top","bottom","left","right"];for(var aB in am){if(this._gridPadding[am[aB]]==null&&al[am[aB]]>0){this._gridPadding[am[aB]]=al[am[aB]]}else{if(this._gridPadding[am[aB]]==null){this._gridPadding[am[aB]]=this._defaultGridPadding[am[aB]]}}}var aA=this._gridPadding;if(this.legend.placement==="outsideGrid"){aA={top:this.title.getHeight(),left:0,right:0,bottom:0};if(this.legend.location==="s"){aA.left=this._gridPadding.left;aA.right=this._gridPadding.right}}ar.xaxis.pack({position:"absolute",bottom:this._gridPadding.bottom-ar.xaxis.getHeight(),left:0,width:this._width},{min:this._gridPadding.left,max:this._width-this._gridPadding.right});ar.yaxis.pack({position:"absolute",top:0,left:this._gridPadding.left-ar.yaxis.getWidth(),height:this._height},{min:this._height-this._gridPadding.bottom,max:this._gridPadding.top});ar.x2axis.pack({position:"absolute",top:this._gridPadding.top-ar.x2axis.getHeight(),left:0,width:this._width},{min:this._gridPadding.left,max:this._width-this._gridPadding.right});for(aH=8;aH>0;aH--){ar[aG[aH-1]].pack({position:"absolute",top:0,right:this._gridPadding.right-az[aH-1]},{min:this._height-this._gridPadding.bottom,max:this._gridPadding.top})}var au=(this._width-this._gridPadding.left-this._gridPadding.right)/2+this._gridPadding.left-ar.yMidAxis.getWidth()/2;ar.yMidAxis.pack({position:"absolute",top:0,left:au,zIndex:9,textAlign:"center"},{min:this._height-this._gridPadding.bottom,max:this._gridPadding.top});this.target.append(this.grid.createElement(this._gridPadding,this));this.grid.draw();var aq=this.series;var aJ=aq.length;for(aH=0,aE=aJ;aHax)?av:ax;var ar=this.series[aw];var aq=this.series[au];if(aq.renderer.smooth){var ap=aq.renderer._smoothedData.slice(0).reverse()}else{var ap=aq.gridData.slice(0).reverse()}if(ar.renderer.smooth){var at=ar.renderer._smoothedData.concat(ap)}else{var at=ar.gridData.concat(ap)}var ao=(an.color!==null)?an.color:this.series[ax].fillColor;var ay=(an.baseSeries!==null)?an.baseSeries:aw;var am=this.series[ay].renderer.shapeRenderer;var al={fillStyle:ao,fill:true,closePath:true};am.draw(ar.shadowCanvas._ctx,at,al)};this.bindCustomEvents=function(){this.eventCanvas._elem.bind("click",{plot:this},this.onClick);this.eventCanvas._elem.bind("dblclick",{plot:this},this.onDblClick);this.eventCanvas._elem.bind("mousedown",{plot:this},this.onMouseDown);this.eventCanvas._elem.bind("mousemove",{plot:this},this.onMouseMove);this.eventCanvas._elem.bind("mouseenter",{plot:this},this.onMouseEnter);this.eventCanvas._elem.bind("mouseleave",{plot:this},this.onMouseLeave);if(this.captureRightClick){this.eventCanvas._elem.bind("mouseup",{plot:this},this.onRightClick);this.eventCanvas._elem.get(0).oncontextmenu=function(){return false}}else{this.eventCanvas._elem.bind("mouseup",{plot:this},this.onMouseUp)}};function ai(av){var au=av.data.plot;var ap=au.eventCanvas._elem.offset();var at={x:av.pageX-ap.left,y:av.pageY-ap.top};var aq={xaxis:null,yaxis:null,x2axis:null,y2axis:null,y3axis:null,y4axis:null,y5axis:null,y6axis:null,y7axis:null,y8axis:null,y9axis:null,yMidAxis:null};var ar=["xaxis","yaxis","x2axis","y2axis","y3axis","y4axis","y5axis","y6axis","y7axis","y8axis","y9axis","yMidAxis"];var al=au.axes;var am,ao;for(am=11;am>0;am--){ao=ar[am-1];if(al[ao].show){aq[ao]=al[ao].series_p2u(at[ao.charAt(0)])}}return{offsets:ap,gridPos:at,dataPos:aq}}function ak(al,am){var aq=am.series;var aW,aU,aT,aO,aP,aJ,aI,aw,au,az,aA,aK;var aS,aX,aQ,ar,aH,aM,aV;var an,aN;for(aT=am.seriesStack.length-1;aT>=0;aT--){aW=am.seriesStack[aT];aO=aq[aW];aV=aO._highlightThreshold;switch(aO.renderer.constructor){case L.jqplot.BarRenderer:aJ=al.x;aI=al.y;for(aU=0;aUaH[0][0]&&aJaH[2][1]&&aIaH[0][0]+aV[0][0]&&aJaH[2][1]&&aI0&&-aI>=0){aw=2*Math.PI-Math.atan(-aI/aJ)}else{if(aJ>0&&-aI<0){aw=-Math.atan(-aI/aJ)}else{if(aJ<0){aw=Math.PI-Math.atan(-aI/aJ)}else{if(aJ==0&&-aI>0){aw=3*Math.PI/2}else{if(aJ==0&&-aI<0){aw=Math.PI/2}else{if(aJ==0&&aI==0){aw=0}}}}}}if(az){aw-=az;if(aw<0){aw+=2*Math.PI}else{if(aw>2*Math.PI){aw-=2*Math.PI}}}au=aO.sliceMargin/180*Math.PI;if(aPaO._innerRadius){for(aU=0;aU0)?aO.gridData[aU-1][1]+au:au;aK=aO.gridData[aU][1];if(aw>aA&&aw0&&-aI>=0){aw=2*Math.PI-Math.atan(-aI/aJ)}else{if(aJ>0&&-aI<0){aw=-Math.atan(-aI/aJ)}else{if(aJ<0){aw=Math.PI-Math.atan(-aI/aJ)}else{if(aJ==0&&-aI>0){aw=3*Math.PI/2}else{if(aJ==0&&-aI<0){aw=Math.PI/2}else{if(aJ==0&&aI==0){aw=0}}}}}}if(az){aw-=az;if(aw<0){aw+=2*Math.PI}else{if(aw>2*Math.PI){aw-=2*Math.PI}}}au=aO.sliceMargin/180*Math.PI;if(aP0)?aO.gridData[aU-1][1]+au:au;aK=aO.gridData[aU][1];if(aw>aA&&aw=ay[0][1]&&aI<=ay[3][1]&&aJ>=at[0]&&aJ<=aE[0]){return{seriesIndex:aO.index,pointIndex:aU,gridData:null,data:aO.data[aU]}}}break;case L.jqplot.LineRenderer:aJ=al.x;aI=al.y;aP=aO.renderer;if(aO.show){if((aO.fill||(aO.renderer.bands.show&&aO.renderer.bands.fill))&&(!am.plugins.highlighter||!am.plugins.highlighter.show)){var ax=false;if(aJ>aO._boundingBox[0][0]&&aJaO._boundingBox[1][1]&&aI=aI||aB[1]=aI){if(aC[0]+(aI-aC[1])/(aB[1]-aC[1])*(aB[0]-aC[0])0)?aN:0;for(var aU=0;aU=aQ[0]-aP._bodyWidth/2&&aJ<=aQ[0]+aP._bodyWidth/2&&aI>=av(aO.data[aU][2])&&aI<=av(aO.data[aU][3])){return{seriesIndex:aW,pointIndex:aU,gridData:aQ,data:aO.data[aU]}}}else{if(!aP.hlc){var av=aO._yaxis.series_u2p;if(aJ>=aQ[0]-aP._tickLength&&aJ<=aQ[0]+aP._tickLength&&aI>=av(aO.data[aU][2])&&aI<=av(aO.data[aU][3])){return{seriesIndex:aW,pointIndex:aU,gridData:aQ,data:aO.data[aU]}}}else{var av=aO._yaxis.series_u2p;if(aJ>=aQ[0]-aP._tickLength&&aJ<=aQ[0]+aP._tickLength&&aI>=av(aO.data[aU][1])&&aI<=av(aO.data[aU][2])){return{seriesIndex:aW,pointIndex:aU,gridData:aQ,data:aO.data[aU]}}}}}else{if(aQ[0]!=null&&aQ[1]!=null){aX=Math.sqrt((aJ-aQ[0])*(aJ-aQ[0])+(aI-aQ[1])*(aI-aQ[1]));if(aX<=an&&(aX<=aS||aS==null)){aS=aX;return{seriesIndex:aW,pointIndex:aU,gridData:aQ,data:aO.data[aU]}}}}}}}break;default:aJ=al.x;aI=al.y;aP=aO.renderer;if(aO.show){aN=aO.markerRenderer.size/2+aO.neighborThreshold;an=(aN>0)?aN:0;for(var aU=0;aU=aQ[0]-aP._bodyWidth/2&&aJ<=aQ[0]+aP._bodyWidth/2&&aI>=av(aO.data[aU][2])&&aI<=av(aO.data[aU][3])){return{seriesIndex:aW,pointIndex:aU,gridData:aQ,data:aO.data[aU]}}}else{if(!aP.hlc){var av=aO._yaxis.series_u2p;if(aJ>=aQ[0]-aP._tickLength&&aJ<=aQ[0]+aP._tickLength&&aI>=av(aO.data[aU][2])&&aI<=av(aO.data[aU][3])){return{seriesIndex:aW,pointIndex:aU,gridData:aQ,data:aO.data[aU]}}}else{var av=aO._yaxis.series_u2p;if(aJ>=aQ[0]-aP._tickLength&&aJ<=aQ[0]+aP._tickLength&&aI>=av(aO.data[aU][1])&&aI<=av(aO.data[aU][2])){return{seriesIndex:aW,pointIndex:aU,gridData:aQ,data:aO.data[aU]}}}}}else{aX=Math.sqrt((aJ-aQ[0])*(aJ-aQ[0])+(aI-aQ[1])*(aI-aQ[1]));if(aX<=an&&(aX<=aS||aS==null)){aS=aX;return{seriesIndex:aW,pointIndex:aU,gridData:aQ,data:aO.data[aU]}}}}}break}}return null}this.onClick=function(an){var am=ai(an);var ap=an.data.plot;var ao=ak(am.gridPos,ap);var al=L.Event("jqplotClick");al.pageX=an.pageX;al.pageY=an.pageY;L(this).trigger(al,[am.gridPos,am.dataPos,ao,ap])};this.onDblClick=function(an){var am=ai(an);var ap=an.data.plot;var ao=ak(am.gridPos,ap);var al=L.Event("jqplotDblClick");al.pageX=an.pageX;al.pageY=an.pageY;L(this).trigger(al,[am.gridPos,am.dataPos,ao,ap])};this.onMouseDown=function(an){var am=ai(an);var ap=an.data.plot;var ao=ak(am.gridPos,ap);var al=L.Event("jqplotMouseDown");al.pageX=an.pageX;al.pageY=an.pageY;L(this).trigger(al,[am.gridPos,am.dataPos,ao,ap])};this.onMouseUp=function(an){var am=ai(an);var al=L.Event("jqplotMouseUp");al.pageX=an.pageX;al.pageY=an.pageY;L(this).trigger(al,[am.gridPos,am.dataPos,null,an.data.plot])};this.onRightClick=function(an){var am=ai(an);var ap=an.data.plot;var ao=ak(am.gridPos,ap);if(ap.captureRightClick){if(an.which==3){var al=L.Event("jqplotRightClick");al.pageX=an.pageX;al.pageY=an.pageY;L(this).trigger(al,[am.gridPos,am.dataPos,ao,ap])}else{var al=L.Event("jqplotMouseUp");al.pageX=an.pageX;al.pageY=an.pageY;L(this).trigger(al,[am.gridPos,am.dataPos,ao,ap])}}};this.onMouseMove=function(an){var am=ai(an);var ap=an.data.plot;var ao=ak(am.gridPos,ap);var al=L.Event("jqplotMouseMove");al.pageX=an.pageX;al.pageY=an.pageY;L(this).trigger(al,[am.gridPos,am.dataPos,ao,ap])};this.onMouseEnter=function(an){var am=ai(an);var ao=an.data.plot;var al=L.Event("jqplotMouseEnter");al.pageX=an.pageX;al.pageY=an.pageY;al.relatedTarget=an.relatedTarget;L(this).trigger(al,[am.gridPos,am.dataPos,null,ao])};this.onMouseLeave=function(an){var am=ai(an);var ao=an.data.plot;var al=L.Event("jqplotMouseLeave");al.pageX=an.pageX;al.pageY=an.pageY;al.relatedTarget=an.relatedTarget;L(this).trigger(al,[am.gridPos,am.dataPos,null,ao])};this.drawSeries=function(an,al){var ap,ao,am;al=(typeof(an)==="number"&&al==null)?an:al;an=(typeof(an)==="object")?an:{};if(al!=u){ao=this.series[al];am=ao.shadowCanvas._ctx;am.clearRect(0,0,am.canvas.width,am.canvas.height);ao.drawShadow(am,an,this);am=ao.canvas._ctx;am.clearRect(0,0,am.canvas.width,am.canvas.height);ao.draw(am,an,this);if(ao.renderer.constructor==L.jqplot.BezierCurveRenderer){if(al660)?ah[aj]*0.85:0.73*ah[aj]+90;ah[aj]=parseInt(ah[aj],10);(ah[aj]>255)?255:ah[aj]}ah[3]=0.3+0.35*al[3];ak.push("rgba("+ah[0]+","+ah[1]+","+ah[2]+","+ah[3]+")")}}else{var al=L.jqplot.getColorComponents(ai);var ah=[al[0],al[1],al[2]];var an=ah[0]+ah[1]+ah[2];for(var aj=0;aj<3;aj++){ah[aj]=(an>660)?ah[aj]*0.85:0.73*ah[aj]+90;ah[aj]=parseInt(ah[aj],10);(ah[aj]>255)?255:ah[aj]}ah[3]=0.3+0.35*al[3];ak="rgba("+ah[0]+","+ah[1]+","+ah[2]+","+ah[3]+")"}return ak};L.jqplot.ColorGenerator=function(ai){ai=ai||L.jqplot.config.defaultColors;var ah=0;this.next=function(){if(ah0){return ai[ah--]}else{ah=ai.length-1;return ai[ah]}};this.get=function(ak){var aj=ak-ai.length*Math.floor(ak/ai.length);return ai[aj]};this.setColors=function(aj){ai=aj};this.reset=function(){ah=0};this.getIndex=function(){return ah};this.setIndex=function(aj){ah=aj}};L.jqplot.hex2rgb=function(aj,ah){aj=aj.replace("#","");if(aj.length==3){aj=aj.charAt(0)+aj.charAt(0)+aj.charAt(1)+aj.charAt(1)+aj.charAt(2)+aj.charAt(2)}var ai;ai="rgba("+parseInt(aj.slice(0,2),16)+", "+parseInt(aj.slice(2,4),16)+", "+parseInt(aj.slice(4,6),16);if(ah){ai+=", "+ah}ai+=")";return ai};L.jqplot.rgb2hex=function(am){var aj=/rgba?\( *([0-9]{1,3}\.?[0-9]*%?) *, *([0-9]{1,3}\.?[0-9]*%?) *, *([0-9]{1,3}\.?[0-9]*%?) *(?:, *[0-9.]*)?\)/;var ah=am.match(aj);var al="#";for(var ak=1;ak<4;ak++){var ai;if(ah[ak].search(/%/)!=-1){ai=parseInt(255*ah[ak]/100,10).toString(16);if(ai.length==1){ai="0"+ai}}else{ai=parseInt(ah[ak],10).toString(16);if(ai.length==1){ai="0"+ai}}al+=ai}return al};L.jqplot.normalize2rgb=function(ai,ah){if(ai.search(/^ *rgba?\(/)!=-1){return ai}else{if(ai.search(/^ *#?[0-9a-fA-F]?[0-9a-fA-F]/)!=-1){return L.jqplot.hex2rgb(ai,ah)}else{throw new Error("Invalid color spec")}}};L.jqplot.getColorComponents=function(am){am=L.jqplot.colorKeywordMap[am]||am;var ak=L.jqplot.normalize2rgb(am);var aj=/rgba?\( *([0-9]{1,3}\.?[0-9]*%?) *, *([0-9]{1,3}\.?[0-9]*%?) *, *([0-9]{1,3}\.?[0-9]*%?) *,? *([0-9.]* *)?\)/;var ah=ak.match(aj);var ai=[];for(var al=1;al<4;al++){if(ah[al].search(/%/)!=-1){ai[al-1]=parseInt(255*ah[al]/100,10)}else{ai[al-1]=parseInt(ah[al],10)}}ai[3]=parseFloat(ah[4])?parseFloat(ah[4]):1;return ai};L.jqplot.colorKeywordMap={aliceblue:"rgb(240, 248, 255)",antiquewhite:"rgb(250, 235, 215)",aqua:"rgb( 0, 255, 255)",aquamarine:"rgb(127, 255, 212)",azure:"rgb(240, 255, 255)",beige:"rgb(245, 245, 220)",bisque:"rgb(255, 228, 196)",black:"rgb( 0, 0, 0)",blanchedalmond:"rgb(255, 235, 205)",blue:"rgb( 0, 0, 255)",blueviolet:"rgb(138, 43, 226)",brown:"rgb(165, 42, 42)",burlywood:"rgb(222, 184, 135)",cadetblue:"rgb( 95, 158, 160)",chartreuse:"rgb(127, 255, 0)",chocolate:"rgb(210, 105, 30)",coral:"rgb(255, 127, 80)",cornflowerblue:"rgb(100, 149, 237)",cornsilk:"rgb(255, 248, 220)",crimson:"rgb(220, 20, 60)",cyan:"rgb( 0, 255, 255)",darkblue:"rgb( 0, 0, 139)",darkcyan:"rgb( 0, 139, 139)",darkgoldenrod:"rgb(184, 134, 11)",darkgray:"rgb(169, 169, 169)",darkgreen:"rgb( 0, 100, 0)",darkgrey:"rgb(169, 169, 169)",darkkhaki:"rgb(189, 183, 107)",darkmagenta:"rgb(139, 0, 139)",darkolivegreen:"rgb( 85, 107, 47)",darkorange:"rgb(255, 140, 0)",darkorchid:"rgb(153, 50, 204)",darkred:"rgb(139, 0, 0)",darksalmon:"rgb(233, 150, 122)",darkseagreen:"rgb(143, 188, 143)",darkslateblue:"rgb( 72, 61, 139)",darkslategray:"rgb( 47, 79, 79)",darkslategrey:"rgb( 47, 79, 79)",darkturquoise:"rgb( 0, 206, 209)",darkviolet:"rgb(148, 0, 211)",deeppink:"rgb(255, 20, 147)",deepskyblue:"rgb( 0, 191, 255)",dimgray:"rgb(105, 105, 105)",dimgrey:"rgb(105, 105, 105)",dodgerblue:"rgb( 30, 144, 255)",firebrick:"rgb(178, 34, 34)",floralwhite:"rgb(255, 250, 240)",forestgreen:"rgb( 34, 139, 34)",fuchsia:"rgb(255, 0, 255)",gainsboro:"rgb(220, 220, 220)",ghostwhite:"rgb(248, 248, 255)",gold:"rgb(255, 215, 0)",goldenrod:"rgb(218, 165, 32)",gray:"rgb(128, 128, 128)",grey:"rgb(128, 128, 128)",green:"rgb( 0, 128, 0)",greenyellow:"rgb(173, 255, 47)",honeydew:"rgb(240, 255, 240)",hotpink:"rgb(255, 105, 180)",indianred:"rgb(205, 92, 92)",indigo:"rgb( 75, 0, 130)",ivory:"rgb(255, 255, 240)",khaki:"rgb(240, 230, 140)",lavender:"rgb(230, 230, 250)",lavenderblush:"rgb(255, 240, 245)",lawngreen:"rgb(124, 252, 0)",lemonchiffon:"rgb(255, 250, 205)",lightblue:"rgb(173, 216, 230)",lightcoral:"rgb(240, 128, 128)",lightcyan:"rgb(224, 255, 255)",lightgoldenrodyellow:"rgb(250, 250, 210)",lightgray:"rgb(211, 211, 211)",lightgreen:"rgb(144, 238, 144)",lightgrey:"rgb(211, 211, 211)",lightpink:"rgb(255, 182, 193)",lightsalmon:"rgb(255, 160, 122)",lightseagreen:"rgb( 32, 178, 170)",lightskyblue:"rgb(135, 206, 250)",lightslategray:"rgb(119, 136, 153)",lightslategrey:"rgb(119, 136, 153)",lightsteelblue:"rgb(176, 196, 222)",lightyellow:"rgb(255, 255, 224)",lime:"rgb( 0, 255, 0)",limegreen:"rgb( 50, 205, 50)",linen:"rgb(250, 240, 230)",magenta:"rgb(255, 0, 255)",maroon:"rgb(128, 0, 0)",mediumaquamarine:"rgb(102, 205, 170)",mediumblue:"rgb( 0, 0, 205)",mediumorchid:"rgb(186, 85, 211)",mediumpurple:"rgb(147, 112, 219)",mediumseagreen:"rgb( 60, 179, 113)",mediumslateblue:"rgb(123, 104, 238)",mediumspringgreen:"rgb( 0, 250, 154)",mediumturquoise:"rgb( 72, 209, 204)",mediumvioletred:"rgb(199, 21, 133)",midnightblue:"rgb( 25, 25, 112)",mintcream:"rgb(245, 255, 250)",mistyrose:"rgb(255, 228, 225)",moccasin:"rgb(255, 228, 181)",navajowhite:"rgb(255, 222, 173)",navy:"rgb( 0, 0, 128)",oldlace:"rgb(253, 245, 230)",olive:"rgb(128, 128, 0)",olivedrab:"rgb(107, 142, 35)",orange:"rgb(255, 165, 0)",orangered:"rgb(255, 69, 0)",orchid:"rgb(218, 112, 214)",palegoldenrod:"rgb(238, 232, 170)",palegreen:"rgb(152, 251, 152)",paleturquoise:"rgb(175, 238, 238)",palevioletred:"rgb(219, 112, 147)",papayawhip:"rgb(255, 239, 213)",peachpuff:"rgb(255, 218, 185)",peru:"rgb(205, 133, 63)",pink:"rgb(255, 192, 203)",plum:"rgb(221, 160, 221)",powderblue:"rgb(176, 224, 230)",purple:"rgb(128, 0, 128)",red:"rgb(255, 0, 0)",rosybrown:"rgb(188, 143, 143)",royalblue:"rgb( 65, 105, 225)",saddlebrown:"rgb(139, 69, 19)",salmon:"rgb(250, 128, 114)",sandybrown:"rgb(244, 164, 96)",seagreen:"rgb( 46, 139, 87)",seashell:"rgb(255, 245, 238)",sienna:"rgb(160, 82, 45)",silver:"rgb(192, 192, 192)",skyblue:"rgb(135, 206, 235)",slateblue:"rgb(106, 90, 205)",slategray:"rgb(112, 128, 144)",slategrey:"rgb(112, 128, 144)",snow:"rgb(255, 250, 250)",springgreen:"rgb( 0, 255, 127)",steelblue:"rgb( 70, 130, 180)",tan:"rgb(210, 180, 140)",teal:"rgb( 0, 128, 128)",thistle:"rgb(216, 191, 216)",tomato:"rgb(255, 99, 71)",turquoise:"rgb( 64, 224, 208)",violet:"rgb(238, 130, 238)",wheat:"rgb(245, 222, 179)",white:"rgb(255, 255, 255)",whitesmoke:"rgb(245, 245, 245)",yellow:"rgb(255, 255, 0)",yellowgreen:"rgb(154, 205, 50)"};L.jqplot.AxisLabelRenderer=function(ah){L.jqplot.ElemContainer.call(this);this.axis;this.show=true;this.label="";this.fontFamily=null;this.fontSize=null;this.textColor=null;this._elem;this.escapeHTML=false;L.extend(true,this,ah)};L.jqplot.AxisLabelRenderer.prototype=new L.jqplot.ElemContainer();L.jqplot.AxisLabelRenderer.prototype.constructor=L.jqplot.AxisLabelRenderer;L.jqplot.AxisLabelRenderer.prototype.init=function(ah){L.extend(true,this,ah)};L.jqplot.AxisLabelRenderer.prototype.draw=function(ah,ai){if(this._elem){this._elem.emptyForce();this._elem=null}this._elem=L('
');if(Number(this.label)){this._elem.css("white-space","nowrap")}if(!this.escapeHTML){this._elem.html(this.label)}else{this._elem.text(this.label)}if(this.fontFamily){this._elem.css("font-family",this.fontFamily)}if(this.fontSize){this._elem.css("font-size",this.fontSize)}if(this.textColor){this._elem.css("color",this.textColor)}return this._elem};L.jqplot.AxisLabelRenderer.prototype.pack=function(){};L.jqplot.AxisTickRenderer=function(ah){L.jqplot.ElemContainer.call(this);this.mark="outside";this.axis;this.showMark=true;this.showGridline=true;this.isMinorTick=false;this.size=4;this.markSize=6;this.show=true;this.showLabel=true;this.label=null;this.value=null;this._styles={};this.formatter=L.jqplot.DefaultTickFormatter;this.prefix="";this.suffix="";this.formatString="";this.fontFamily;this.fontSize;this.textColor;this.escapeHTML=false;this._elem;this._breakTick=false;L.extend(true,this,ah)};L.jqplot.AxisTickRenderer.prototype.init=function(ah){L.extend(true,this,ah)};L.jqplot.AxisTickRenderer.prototype=new L.jqplot.ElemContainer();L.jqplot.AxisTickRenderer.prototype.constructor=L.jqplot.AxisTickRenderer;L.jqplot.AxisTickRenderer.prototype.setTick=function(ah,aj,ai){this.value=ah;this.axis=aj;if(ai){this.isMinorTick=true}return this};L.jqplot.AxisTickRenderer.prototype.draw=function(){if(this.label===null){this.label=this.prefix+this.formatter(this.formatString,this.value)+this.suffix}var ai={position:"absolute"};if(Number(this.label)){ai.whitSpace="nowrap"}if(this._elem){this._elem.emptyForce();this._elem=null}this._elem=L(document.createElement("div"));this._elem.addClass("jqplot-"+this.axis+"-tick");if(!this.escapeHTML){this._elem.html(this.label)}else{this._elem.text(this.label)}this._elem.css(ai);for(var ah in this._styles){this._elem.css(ah,this._styles[ah])}if(this.fontFamily){this._elem.css("font-family",this.fontFamily)}if(this.fontSize){this._elem.css("font-size",this.fontSize)}if(this.textColor){this._elem.css("color",this.textColor)}if(this._breakTick){this._elem.addClass("jqplot-breakTick")}return this._elem};L.jqplot.DefaultTickFormatter=function(ah,ai){if(typeof ai=="number"){if(!ah){ah=L.jqplot.config.defaultTickFormatString}return L.jqplot.sprintf(ah,ai)}else{return String(ai)}};L.jqplot.PercentTickFormatter=function(ah,ai){if(typeof ai=="number"){ai=100*ai;if(!ah){ah=L.jqplot.config.defaultTickFormatString}return L.jqplot.sprintf(ah,ai)}else{return String(ai)}};L.jqplot.AxisTickRenderer.prototype.pack=function(){};L.jqplot.CanvasGridRenderer=function(){this.shadowRenderer=new L.jqplot.ShadowRenderer()};L.jqplot.CanvasGridRenderer.prototype.init=function(ai){this._ctx;L.extend(true,this,ai);var ah={lineJoin:"miter",lineCap:"round",fill:false,isarc:false,angle:this.shadowAngle,offset:this.shadowOffset,alpha:this.shadowAlpha,depth:this.shadowDepth,lineWidth:this.shadowWidth,closePath:false,strokeStyle:this.shadowColor};this.renderer.shadowRenderer.init(ah)};L.jqplot.CanvasGridRenderer.prototype.createElement=function(ak){var aj;if(this._elem){if(L.jqplot.use_excanvas&&window.G_vmlCanvasManager.uninitElement!==u){aj=this._elem.get(0);window.G_vmlCanvasManager.uninitElement(aj);aj=null}this._elem.emptyForce();this._elem=null}aj=ak.canvasManager.getCanvas();var ah=this._plotDimensions.width;var ai=this._plotDimensions.height;aj.width=ah;aj.height=ai;this._elem=L(aj);this._elem.addClass("jqplot-grid-canvas");this._elem.css({position:"absolute",left:0,top:0});aj=ak.canvasManager.initCanvas(aj);this._top=this._offsets.top;this._bottom=ai-this._offsets.bottom;this._left=this._offsets.left;this._right=ah-this._offsets.right;this._width=this._right-this._left;this._height=this._bottom-this._top;aj=null;return this._elem};L.jqplot.CanvasGridRenderer.prototype.draw=function(){this._ctx=this._elem.get(0).getContext("2d");var at=this._ctx;var aw=this._axes;at.save();at.clearRect(0,0,this._plotDimensions.width,this._plotDimensions.height);at.fillStyle=this.backgroundColor||this.background;at.fillRect(this._left,this._top,this._width,this._height);at.save();at.lineJoin="miter";at.lineCap="butt";at.lineWidth=this.gridLineWidth;at.strokeStyle=this.gridLineColor;var aA,az,ap,aq;var am=["xaxis","yaxis","x2axis","y2axis"];for(var ay=4;ay>0;ay--){var aD=am[ay-1];var ah=aw[aD];var aB=ah._ticks;var ar=aB.length;if(ah.show){if(ah.drawBaseline){var aC={};if(ah.baselineWidth!==null){aC.lineWidth=ah.baselineWidth}if(ah.baselineColor!==null){aC.strokeStyle=ah.baselineColor}switch(aD){case"xaxis":ao(this._left,this._bottom,this._right,this._bottom,aC);break;case"yaxis":ao(this._left,this._bottom,this._left,this._top,aC);break;case"x2axis":ao(this._left,this._bottom,this._right,this._bottom,aC);break;case"y2axis":ao(this._right,this._bottom,this._right,this._top,aC);break}}for(var au=ar;au>0;au--){var an=aB[au-1];if(an.show){var ak=Math.round(ah.u2p(an.value))+0.5;switch(aD){case"xaxis":if(an.showGridline&&this.drawGridlines&&((!an.isMinorTick&&ah.drawMajorGridlines)||(an.isMinorTick&&ah.drawMinorGridlines))){ao(ak,this._top,ak,this._bottom)}if(an.showMark&&an.mark&&((!an.isMinorTick&&ah.drawMajorTickMarks)||(an.isMinorTick&&ah.drawMinorTickMarks))){ap=an.markSize;aq=an.mark;var ak=Math.round(ah.u2p(an.value))+0.5;switch(aq){case"outside":aA=this._bottom;az=this._bottom+ap;break;case"inside":aA=this._bottom-ap;az=this._bottom;break;case"cross":aA=this._bottom-ap;az=this._bottom+ap;break;default:aA=this._bottom;az=this._bottom+ap;break}if(this.shadow){this.renderer.shadowRenderer.draw(at,[[ak,aA],[ak,az]],{lineCap:"butt",lineWidth:this.gridLineWidth,offset:this.gridLineWidth*0.75,depth:2,fill:false,closePath:false})}ao(ak,aA,ak,az)}break;case"yaxis":if(an.showGridline&&this.drawGridlines&&((!an.isMinorTick&&ah.drawMajorGridlines)||(an.isMinorTick&&ah.drawMinorGridlines))){ao(this._right,ak,this._left,ak)}if(an.showMark&&an.mark&&((!an.isMinorTick&&ah.drawMajorTickMarks)||(an.isMinorTick&&ah.drawMinorTickMarks))){ap=an.markSize;aq=an.mark;var ak=Math.round(ah.u2p(an.value))+0.5;switch(aq){case"outside":aA=this._left-ap;az=this._left;break;case"inside":aA=this._left;az=this._left+ap;break;case"cross":aA=this._left-ap;az=this._left+ap;break;default:aA=this._left-ap;az=this._left;break}if(this.shadow){this.renderer.shadowRenderer.draw(at,[[aA,ak],[az,ak]],{lineCap:"butt",lineWidth:this.gridLineWidth*1.5,offset:this.gridLineWidth*0.75,fill:false,closePath:false})}ao(aA,ak,az,ak,{strokeStyle:ah.borderColor})}break;case"x2axis":if(an.showGridline&&this.drawGridlines&&((!an.isMinorTick&&ah.drawMajorGridlines)||(an.isMinorTick&&ah.drawMinorGridlines))){ao(ak,this._bottom,ak,this._top)}if(an.showMark&&an.mark&&((!an.isMinorTick&&ah.drawMajorTickMarks)||(an.isMinorTick&&ah.drawMinorTickMarks))){ap=an.markSize;aq=an.mark;var ak=Math.round(ah.u2p(an.value))+0.5;switch(aq){case"outside":aA=this._top-ap;az=this._top;break;case"inside":aA=this._top;az=this._top+ap;break;case"cross":aA=this._top-ap;az=this._top+ap;break;default:aA=this._top-ap;az=this._top;break}if(this.shadow){this.renderer.shadowRenderer.draw(at,[[ak,aA],[ak,az]],{lineCap:"butt",lineWidth:this.gridLineWidth,offset:this.gridLineWidth*0.75,depth:2,fill:false,closePath:false})}ao(ak,aA,ak,az)}break;case"y2axis":if(an.showGridline&&this.drawGridlines&&((!an.isMinorTick&&ah.drawMajorGridlines)||(an.isMinorTick&&ah.drawMinorGridlines))){ao(this._left,ak,this._right,ak)}if(an.showMark&&an.mark&&((!an.isMinorTick&&ah.drawMajorTickMarks)||(an.isMinorTick&&ah.drawMinorTickMarks))){ap=an.markSize;aq=an.mark;var ak=Math.round(ah.u2p(an.value))+0.5;switch(aq){case"outside":aA=this._right;az=this._right+ap;break;case"inside":aA=this._right-ap;az=this._right;break;case"cross":aA=this._right-ap;az=this._right+ap;break;default:aA=this._right;az=this._right+ap;break}if(this.shadow){this.renderer.shadowRenderer.draw(at,[[aA,ak],[az,ak]],{lineCap:"butt",lineWidth:this.gridLineWidth*1.5,offset:this.gridLineWidth*0.75,fill:false,closePath:false})}ao(aA,ak,az,ak,{strokeStyle:ah.borderColor})}break;default:break}}}an=null}ah=null;aB=null}am=["y3axis","y4axis","y5axis","y6axis","y7axis","y8axis","y9axis","yMidAxis"];for(var ay=7;ay>0;ay--){var ah=aw[am[ay-1]];var aB=ah._ticks;if(ah.show){var ai=aB[ah.numberTicks-1];var al=aB[0];var aj=ah.getLeft();var av=[[aj,ai.getTop()+ai.getHeight()/2],[aj,al.getTop()+al.getHeight()/2+1]];if(this.shadow){this.renderer.shadowRenderer.draw(at,av,{lineCap:"butt",fill:false,closePath:false})}ao(av[0][0],av[0][1],av[1][0],av[1][1],{lineCap:"butt",strokeStyle:ah.borderColor,lineWidth:ah.borderWidth});for(var au=aB.length;au>0;au--){var an=aB[au-1];ap=an.markSize;aq=an.mark;var ak=Math.round(ah.u2p(an.value))+0.5;if(an.showMark&&an.mark){switch(aq){case"outside":aA=aj;az=aj+ap;break;case"inside":aA=aj-ap;az=aj;break;case"cross":aA=aj-ap;az=aj+ap;break;default:aA=aj;az=aj+ap;break}av=[[aA,ak],[az,ak]];if(this.shadow){this.renderer.shadowRenderer.draw(at,av,{lineCap:"butt",lineWidth:this.gridLineWidth*1.5,offset:this.gridLineWidth*0.75,fill:false,closePath:false})}ao(aA,ak,az,ak,{strokeStyle:ah.borderColor})}an=null}al=null}ah=null;aB=null}at.restore();function ao(aH,aG,aE,ax,aF){at.save();aF=aF||{};if(aF.lineWidth==null||aF.lineWidth!=0){L.extend(true,at,aF);at.beginPath();at.moveTo(aH,aG);at.lineTo(aE,ax);at.stroke();at.restore()}}if(this.shadow){var av=[[this._left,this._bottom],[this._right,this._bottom],[this._right,this._top]];this.renderer.shadowRenderer.draw(at,av)}if(this.borderWidth!=0&&this.drawBorder){ao(this._left,this._top,this._right,this._top,{lineCap:"round",strokeStyle:aw.x2axis.borderColor,lineWidth:aw.x2axis.borderWidth});ao(this._right,this._top,this._right,this._bottom,{lineCap:"round",strokeStyle:aw.y2axis.borderColor,lineWidth:aw.y2axis.borderWidth});ao(this._right,this._bottom,this._left,this._bottom,{lineCap:"round",strokeStyle:aw.xaxis.borderColor,lineWidth:aw.xaxis.borderWidth});ao(this._left,this._bottom,this._left,this._top,{lineCap:"round",strokeStyle:aw.yaxis.borderColor,lineWidth:aw.yaxis.borderWidth})}at.restore();at=null;aw=null};L.jqplot.DivTitleRenderer=function(){};L.jqplot.DivTitleRenderer.prototype.init=function(ah){L.extend(true,this,ah)};L.jqplot.DivTitleRenderer.prototype.draw=function(){if(this._elem){this._elem.emptyForce();this._elem=null}var ak=this.renderer;var aj=document.createElement("div");this._elem=L(aj);this._elem.addClass("jqplot-title");if(!this.text){this.show=false;this._elem.height(0);this._elem.width(0)}else{if(this.text){var ah;if(this.color){ah=this.color}else{if(this.textColor){ah=this.textColor}}var ai={position:"absolute",top:"0px",left:"0px"};if(this._plotWidth){ai.width=this._plotWidth+"px"}if(this.fontSize){ai.fontSize=this.fontSize}if(typeof this.textAlign==="string"){ai.textAlign=this.textAlign}else{ai.textAlign="center"}if(ah){ai.color=ah}if(this.paddingBottom){ai.paddingBottom=this.paddingBottom}if(this.fontFamily){ai.fontFamily=this.fontFamily}this._elem.css(ai);if(this.escapeHtml){this._elem.text(this.text)}else{this._elem.html(this.text)}}}aj=null;return this._elem};L.jqplot.DivTitleRenderer.prototype.pack=function(){};var r=0.1;L.jqplot.LinePattern=function(aw,aq){var ap={dotted:[r,L.jqplot.config.dotGapLength],dashed:[L.jqplot.config.dashLength,L.jqplot.config.gapLength],solid:null};if(typeof aq==="string"){if(aq[0]==="."||aq[0]==="-"){var ax=aq;aq=[];for(var ao=0,al=ax.length;ao0)&&(aC>0)){aA/=aB;az/=aB;while(true){var aD=aC*ar;if(aD=aq.length){ak=0}ar=aq[ak]}else{au=ay;at=aE;if((ak&1)==0){aw.lineTo(au,at)}else{aw.moveTo(au,at)}ar-=aB/aC;break}}}};var ai=function(){aw.beginPath()};var am=function(){aj(an,ah)};return{moveTo:av,lineTo:aj,beginPath:ai,closePath:am}};L.jqplot.LineRenderer=function(){this.shapeRenderer=new L.jqplot.ShapeRenderer();this.shadowRenderer=new L.jqplot.ShadowRenderer()};L.jqplot.LineRenderer.prototype.init=function(ai,an){ai=ai||{};this._type="line";this.renderer.animation={show:false,direction:"left",speed:2500,_supported:true};this.renderer.smooth=false;this.renderer.tension=null;this.renderer.constrainSmoothing=true;this.renderer._smoothedData=[];this.renderer._smoothedPlotData=[];this.renderer._hiBandGridData=[];this.renderer._lowBandGridData=[];this.renderer._hiBandSmoothedData=[];this.renderer._lowBandSmoothedData=[];this.renderer.bandData=[];this.renderer.bands={show:false,hiData:[],lowData:[],color:this.color,showLines:false,fill:true,fillColor:null,_min:null,_max:null,interval:"3%"};var al={highlightMouseOver:ai.highlightMouseOver,highlightMouseDown:ai.highlightMouseDown,highlightColor:ai.highlightColor};delete (ai.highlightMouseOver);delete (ai.highlightMouseDown);delete (ai.highlightColor);L.extend(true,this.renderer,ai);this.renderer.options=ai;if(this.renderer.bandData.length>1&&(!ai.bands||ai.bands.show==null)){this.renderer.bands.show=true}else{if(ai.bands&&ai.bands.show==null&&ai.bands.interval!=null){this.renderer.bands.show=true}}if(this.fill){this.renderer.bands.show=false}if(this.renderer.bands.show){this.renderer.initBands.call(this,this.renderer.options,an)}if(this._stack){this.renderer.smooth=false}var am={lineJoin:this.lineJoin,lineCap:this.lineCap,fill:this.fill,isarc:false,strokeStyle:this.color,fillStyle:this.fillColor,lineWidth:this.lineWidth,linePattern:this.linePattern,closePath:this.fill};this.renderer.shapeRenderer.init(am);var aj=ai.shadowOffset;if(aj==null){if(this.lineWidth>2.5){aj=1.25*(1+(Math.atan((this.lineWidth/2.5))/0.785398163-1)*0.6)}else{aj=1.25*Math.atan((this.lineWidth/2.5))/0.785398163}}var ah={lineJoin:this.lineJoin,lineCap:this.lineCap,fill:this.fill,isarc:false,angle:this.shadowAngle,offset:aj,alpha:this.shadowAlpha,depth:this.shadowDepth,lineWidth:this.lineWidth,linePattern:this.linePattern,closePath:this.fill};this.renderer.shadowRenderer.init(ah);this._areaPoints=[];this._boundingBox=[[],[]];if(!this.isTrendline&&this.fill||this.renderer.bands.show){this.highlightMouseOver=true;this.highlightMouseDown=false;this.highlightColor=null;if(al.highlightMouseDown&&al.highlightMouseOver==null){al.highlightMouseOver=false}L.extend(true,this,{highlightMouseOver:al.highlightMouseOver,highlightMouseDown:al.highlightMouseDown,highlightColor:al.highlightColor});if(!this.highlightColor){var ak=(this.renderer.bands.show)?this.renderer.bands.fillColor:this.fillColor;this.highlightColor=L.jqplot.computeHighlightColors(ak)}if(this.highlighter){this.highlighter.show=false}}if(!this.isTrendline&&an){an.plugins.lineRenderer={};an.postInitHooks.addOnce(z);an.postDrawHooks.addOnce(af);an.eventListenerHooks.addOnce("jqplotMouseMove",h);an.eventListenerHooks.addOnce("jqplotMouseDown",e);an.eventListenerHooks.addOnce("jqplotMouseUp",ad);an.eventListenerHooks.addOnce("jqplotClick",g);an.eventListenerHooks.addOnce("jqplotRightClick",s)}};L.jqplot.LineRenderer.prototype.initBands=function(ak,av){var al=ak.bandData||[];var an=this.renderer.bands;an.hiData=[];an.lowData=[];var aB=this.data;an._max=null;an._min=null;if(al.length==2){if(L.isArray(al[0][0])){var ao;var ah=0,ar=0;for(var aw=0,at=al[0].length;awan._max)||an._max==null){an._max=ao[1]}if((ao[1]!=null&&ao[1]an._max)||an._max==null){an._max=ao[1];ar=1}if((ao[1]!=null&&ao[1]al[1][0])?0:1;var aC=(aj)?0:1;for(var aw=0,at=aB.length;aw2&&!L.isArray(al[0][0])){var aj=(al[0][0]>al[0][1])?0:1;var aC=(aj)?0:1;for(var aw=0,at=al.length;awan._max)||an._max==null){an._max=am[aw][1]}}for(var aw=0,at=ap.length;aw0){aR=Math.abs((ap[aQ][1]-ap[aQ-1][1])/(ap[aQ][0]-ap[aQ-1][0]))}am=aR/aG+aE;aM=aF*A(am)-aF*A(aE)+aS;aT=(aO+aM)/2}else{aT=aU}for(aK=0;aK2){var ao;if(this.renderer.constrainSmoothing){ao=J.call(this,this.gridData);this.renderer._smoothedData=ao[0];this.renderer._smoothedPlotData=ao[1];if(ak.show){ao=J.call(this,this.renderer._hiBandGridData);this.renderer._hiBandSmoothedData=ao[0];ao=J.call(this,this.renderer._lowBandGridData);this.renderer._lowBandSmoothedData=ao[0]}ao=null}else{ao=F.call(this,this.gridData);this.renderer._smoothedData=ao[0];this.renderer._smoothedPlotData=ao[1];if(ak.show){ao=F.call(this,this.renderer._hiBandGridData);this.renderer._hiBandSmoothedData=ao[0];ao=F.call(this,this.renderer._lowBandGridData);this.renderer._lowBandSmoothedData=ao[0]}ao=null}}};L.jqplot.LineRenderer.prototype.makeGridData=function(ao,aq){var am=this._xaxis.series_u2p;var ah=this._yaxis.series_u2p;var ar=[];var aj=[];this.renderer._smoothedData=[];this.renderer._smoothedPlotData=[];this.renderer._hiBandGridData=[];this.renderer._lowBandGridData=[];this.renderer._hiBandSmoothedData=[];this.renderer._lowBandSmoothedData=[];var al=this.renderer.bands;var ai=false;for(var an=0;an2){var ap;if(this.renderer.constrainSmoothing){ap=J.call(this,ar);this.renderer._smoothedData=ap[0];this.renderer._smoothedPlotData=ap[1];if(al.show){ap=J.call(this,this.renderer._hiBandGridData);this.renderer._hiBandSmoothedData=ap[0];ap=J.call(this,this.renderer._lowBandGridData);this.renderer._lowBandSmoothedData=ap[0]}ap=null}else{ap=F.call(this,ar);this.renderer._smoothedData=ap[0];this.renderer._smoothedPlotData=ap[1];if(al.show){ap=F.call(this,this.renderer._hiBandGridData);this.renderer._hiBandSmoothedData=ap[0];ap=F.call(this,this.renderer._lowBandGridData);this.renderer._lowBandSmoothedData=ap[0]}ap=null}}return ar};L.jqplot.LineRenderer.prototype.draw=function(ax,aI,ai,aB){var aC;var aq=L.extend(true,{},ai);var ak=(aq.shadow!=u)?aq.shadow:this.shadow;var aJ=(aq.showLine!=u)?aq.showLine:this.showLine;var aA=(aq.fill!=u)?aq.fill:this.fill;var ah=(aq.fillAndStroke!=u)?aq.fillAndStroke:this.fillAndStroke;var ar,ay,av,aE;ax.save();if(aI.length){if(aJ){if(aA){if(this.fillToZero){var aF=this.negativeColor;if(!this.useNegativeColors){aF=aq.fillStyle}var ao=false;var ap=aq.fillStyle;if(ah){var aH=aI.slice(0)}if(this.index==0||!this._stack){var aw=[];var aL=(this.renderer.smooth)?this.renderer._smoothedPlotData:this._plotData;this._areaPoints=[];var aG=this._yaxis.series_u2p(this.fillToValue);var aj=this._xaxis.series_u2p(this.fillToValue);aq.closePath=true;if(this.fillAxis=="y"){aw.push([aI[0][0],aG]);this._areaPoints.push([aI[0][0],aG]);for(var aC=0;aC0;aC--){aI.push(au[aC-1])}if(ak){this.renderer.shadowRenderer.draw(ax,aI,aq)}this._areaPoints=aI;this.renderer.shapeRenderer.draw(ax,aI,aq)}}else{if(ah){var aH=aI.slice(0)}if(this.index==0||!this._stack){var al=ax.canvas.height;aI.unshift([aI[0][0],al]);var aD=aI.length;aI.push([aI[aD-1][0],al])}else{var au=this._prevGridData;for(var aC=au.length;aC>0;aC--){aI.push(au[aC-1])}}this._areaPoints=aI;if(ak){this.renderer.shadowRenderer.draw(ax,aI,aq)}this.renderer.shapeRenderer.draw(ax,aI,aq)}if(ah){var az=L.extend(true,{},aq,{fill:false,closePath:false});this.renderer.shapeRenderer.draw(ax,aH,az);if(this.markerRenderer.show){if(this.renderer.smooth){aH=this.gridData}for(aC=0;aCat[0]||ar==null){ar=at[0]}if(aEat[1]||ay==null){ay=at[1]}}if(this.type==="line"&&this.renderer.bands.show){aE=this._yaxis.series_u2p(this.renderer.bands._min);ay=this._yaxis.series_u2p(this.renderer.bands._max)}this._boundingBox=[[ar,aE],[av,ay]];if(this.markerRenderer.show&&!aA){if(this.renderer.smooth){aI=this.gridData}for(aC=0;aCao){ao=aj}}}al=null;am=null;if(ah){ai=this._label._elem.outerWidth(true);an=this._label._elem.outerHeight(true)}if(this.name=="xaxis"){ao=ao+an;this._elem.css({height:ao+"px",left:"0px",bottom:"0px"})}else{if(this.name=="x2axis"){ao=ao+an;this._elem.css({height:ao+"px",left:"0px",top:"0px"})}else{if(this.name=="yaxis"){ao=ao+ai;this._elem.css({width:ao+"px",left:"0px",top:"0px"});if(ah&&this._label.constructor==L.jqplot.AxisLabelRenderer){this._label._elem.css("width",ai+"px")}}else{ao=ao+ai;this._elem.css({width:ao+"px",right:"0px",top:"0px"});if(ah&&this._label.constructor==L.jqplot.AxisLabelRenderer){this._label._elem.css("width",ai+"px")}}}}}};L.jqplot.LinearAxisRenderer.prototype.createTicks=function(aj){var aT=this._ticks;var aK=this.ticks;var az=this.name;var aB=this._dataBounds;var ah=(this.name.charAt(0)==="x")?this._plotDimensions.width:this._plotDimensions.height;var an;var a6,aI;var ap,ao;var a4,a0;var aH=this.min;var a5=this.max;var aW=this.numberTicks;var ba=this.tickInterval;var am=30;this._scalefact=(Math.max(ah,am+1)-am)/300;if(aK.length){for(a0=0;a0this.breakPoints[0]&&aO[0]<=this.breakPoints[1]){aU.show=false;aU.showGridline=false;aU.label=aO[1]}else{aU.label=aO[1]}}}else{aU.label=aO[1]}aU.setTick(aO[0],this.name);this._ticks.push(aU)}else{if(L.isPlainObject(aO)){L.extend(true,aU,aO);aU.axis=this.name;this._ticks.push(aU)}else{aU.value=aO;if(this.breakPoints){if(aO==this.breakPoints[0]){aU.label=this.breakTickLabel;aU._breakTick=true;aU.showGridline=false;aU.showMark=false}else{if(aO>this.breakPoints[0]&&aO<=this.breakPoints[1]){aU.show=false;aU.showGridline=false}}}aU.setTick(aO,this.name);this._ticks.push(aU)}}}this.numberTicks=aK.length;this.min=this._ticks[0].value;this.max=this._ticks[this.numberTicks-1].value;this.tickInterval=(this.max-this.min)/(this.numberTicks-1)}else{if(az=="xaxis"||az=="x2axis"){ah=this._plotDimensions.width}else{ah=this._plotDimensions.height}var ax=this.numberTicks;if(this.alignTicks){if(this.name==="x2axis"&&aj.axes.xaxis.show){ax=aj.axes.xaxis.numberTicks}else{if(this.name.charAt(0)==="y"&&this.name!=="yaxis"&&this.name!=="yMidAxis"&&aj.axes.yaxis.show){ax=aj.axes.yaxis.numberTicks}}}a6=((this.min!=null)?this.min:aB.min);aI=((this.max!=null)?this.max:aB.max);var av=aI-a6;var aS,ay;var at;if(this.tickOptions==null||!this.tickOptions.formatString){this._overrideFormatString=true}if(this.min==null||this.max==null&&this.tickInterval==null&&!this.autoscale){if(this.forceTickAt0){if(a6>0){a6=0}if(aI<0){aI=0}}if(this.forceTickAt100){if(a6>100){a6=100}if(aI<100){aI=100}}var aE=false,a1=false;if(this.min!=null){aE=true}else{if(this.max!=null){a1=true}}var aP=L.jqplot.LinearTickGenerator(a6,aI,this._scalefact,ax,aE,a1);var aw=(this.min!=null)?a6:a6+av*(this.padMin-1);var aQ=(this.max!=null)?aI:aI-av*(this.padMax-1);if(a6aQ){aw=(this.min!=null)?a6:a6-av*(this.padMin-1);aQ=(this.max!=null)?aI:aI+av*(this.padMax-1);aP=L.jqplot.LinearTickGenerator(aw,aQ,this._scalefact,ax,aE,a1)}this.min=aP[0];this.max=aP[1];this.numberTicks=aP[2];this._autoFormatString=aP[3];this.tickInterval=aP[4]}else{if(a6==aI){var ai=0.05;if(a6>0){ai=Math.max(Math.log(a6)/Math.LN10,0.05)}a6-=ai;aI+=ai}if(this.autoscale&&this.min==null&&this.max==null){var ak,al,ar;var aC=false;var aN=false;var aA={min:null,max:null,average:null,stddev:null};for(var a0=0;a0a2){a2=aR[aZ]}}}var au=(a2-aG)/a2;if(aV.renderer.constructor==L.jqplot.BarRenderer){if(aG>=0&&(aV.fillToZero||au>0.1)){aC=true}else{aC=false;if(aV.fill&&aV.fillToZero&&aG<0&&a2>0){aN=true}else{aN=false}}}else{if(aV.fill){if(aG>=0&&(aV.fillToZero||au>0.1)){aC=true}else{if(aG<0&&a2>0&&aV.fillToZero){aC=false;aN=true}else{aC=false;aN=false}}}else{if(aG<0){aC=false}}}}}if(aC){this.numberTicks=2+Math.ceil((ah-(this.tickSpacing-1))/this.tickSpacing);this.min=0;aH=0;al=aI/(this.numberTicks-1);at=Math.pow(10,Math.abs(Math.floor(Math.log(al)/Math.LN10)));if(al/at==parseInt(al/at,10)){al+=at}this.tickInterval=Math.ceil(al/at)*at;this.max=this.tickInterval*(this.numberTicks-1)}else{if(aN){this.numberTicks=2+Math.ceil((ah-(this.tickSpacing-1))/this.tickSpacing);var aJ=Math.ceil(Math.abs(a6)/av*(this.numberTicks-1));var a9=this.numberTicks-1-aJ;al=Math.max(Math.abs(a6/aJ),Math.abs(aI/a9));at=Math.pow(10,Math.abs(Math.floor(Math.log(al)/Math.LN10)));this.tickInterval=Math.ceil(al/at)*at;this.max=this.tickInterval*a9;this.min=-this.tickInterval*aJ}else{if(this.numberTicks==null){if(this.tickInterval){this.numberTicks=3+Math.ceil(av/this.tickInterval)}else{this.numberTicks=2+Math.ceil((ah-(this.tickSpacing-1))/this.tickSpacing)}}if(this.tickInterval==null){al=av/(this.numberTicks-1);if(al<1){at=Math.pow(10,Math.abs(Math.floor(Math.log(al)/Math.LN10)))}else{at=1}this.tickInterval=Math.ceil(al*at*this.pad)/at}else{at=1/this.tickInterval}ak=this.tickInterval*(this.numberTicks-1);ar=(ak-av)/2;if(this.min==null){this.min=Math.floor(at*(a6-ar))/at}if(this.max==null){this.max=this.min+ak}}}var aF=L.jqplot.getSignificantFigures(this.tickInterval);var aM;if(aF.digitsLeft>=aF.significantDigits){aM="%d"}else{var at=Math.max(0,5-aF.digitsLeft);at=Math.min(at,aF.digitsRight);aM="%."+at+"f"}this._autoFormatString=aM}else{aS=(this.min!=null)?this.min:a6-av*(this.padMin-1);ay=(this.max!=null)?this.max:aI+av*(this.padMax-1);av=ay-aS;if(this.numberTicks==null){if(this.tickInterval!=null){this.numberTicks=Math.ceil((ay-aS)/this.tickInterval)+1}else{if(ah>100){this.numberTicks=parseInt(3+(ah-100)/75,10)}else{this.numberTicks=2}}}if(this.tickInterval==null){this.tickInterval=av/(this.numberTicks-1)}if(this.max==null){ay=aS+this.tickInterval*(this.numberTicks-1)}if(this.min==null){aS=ay-this.tickInterval*(this.numberTicks-1)}var aF=L.jqplot.getSignificantFigures(this.tickInterval);var aM;if(aF.digitsLeft>=aF.significantDigits){aM="%d"}else{var at=Math.max(0,5-aF.digitsLeft);at=Math.min(at,aF.digitsRight);aM="%."+at+"f"}this._autoFormatString=aM;this.min=aS;this.max=ay}if(this.renderer.constructor==L.jqplot.LinearAxisRenderer&&this._autoFormatString==""){av=this.max-this.min;var a7=new this.tickRenderer(this.tickOptions);var aL=a7.formatString||L.jqplot.config.defaultTickFormatString;var aL=aL.match(L.jqplot.sprintf.regex)[0];var a3=0;if(aL){if(aL.search(/[fFeEgGpP]/)>-1){var aY=aL.match(/\%\.(\d{0,})?[eEfFgGpP]/);if(aY){a3=parseInt(aY[1],10)}else{a3=6}}else{if(aL.search(/[di]/)>-1){a3=0}}var aq=Math.pow(10,-a3);if(this.tickIntervalthis.breakPoints[0]&&aAthis.breakPoints[0]&&aAthis.breakPoints[0]&&aA=this.breakPoints[1]){return(aA-au)*ak/al}else{return(aA+this.breakPoints[1]-this.breakPoints[0]-au)*ak/al}};this.series_p2u=function(aA){return aA*al/ak+au}}}else{this.p2u=function(aA){return(aA-am)*al/ak+at};this.u2p=function(aA){return(aA-at)*ak/al+am};if(this.name=="xaxis"||this.name=="x2axis"){this.series_u2p=function(aA){return(aA-at)*ak/al};this.series_p2u=function(aA){return aA*al/ak+at}}else{this.series_u2p=function(aA){return(aA-au)*ak/al};this.series_p2u=function(aA){return aA*al/ak+au}}}if(this.show){if(this.name=="xaxis"||this.name=="x2axis"){for(var av=0;av0){ah=-ap._textRenderer.height*Math.cos(-ap._textRenderer.angle)/2}else{ah=-ap.getHeight()+ap._textRenderer.height*Math.cos(ap._textRenderer.angle)/2}break;case"middle":ah=-ap.getHeight()/2;break;default:ah=-ap.getHeight()/2;break}}else{ah=-ap.getHeight()/2}var az=this.u2p(ap.value)+ah+"px";ap._elem.css("top",az);ap.pack()}}if(aq){var aw=this._label._elem.outerHeight(true);this._label._elem.css("top",ao-ak/2-aw/2+"px");if(this.name=="yaxis"){this._label._elem.css("left","0px")}else{this._label._elem.css("right","0px")}this._label.pack()}}}ay=null};function i(ai){var ah;ai=Math.abs(ai);if(ai>=10){ah="%d"}else{if(ai>1){if(ai===parseInt(ai,10)){ah="%d"}else{ah="%.1f"}}else{var aj=-Math.floor(Math.log(ai)/Math.LN10);ah="%."+aj+"f"}}return ah}var b=[0.1,0.2,0.3,0.4,0.5,0.8,1,2,3,4,5];var c=function(ai){var ah=b.indexOf(ai);if(ah>0){return b[ah-1]}else{return b[b.length-1]/100}};var k=function(ai){var ah=b.indexOf(ai);if(ah5){ah=10*aj}else{if(am>2){ah=5*aj}else{if(am>1){ah=2*aj}else{ah=aj}}}}else{if(am>5){ah=10*aj}else{if(am>4){ah=5*aj}else{if(am>3){ah=4*aj}else{if(am>2){ah=3*aj}else{if(am>1){ah=2*aj}else{ah=aj}}}}}}return ah}function Q(ai,ah){ah=ah||1;var ak=Math.floor(Math.log(ai)/Math.LN10);var am=Math.pow(10,ak);var al=ai/am;var aj;al=al/ah;if(al<=0.38){aj=0.1}else{if(al<=1.6){aj=0.2}else{if(al<=4){aj=0.5}else{if(al<=8){aj=1}else{if(al<=16){aj=2}else{aj=5}}}}}return aj*am}function x(aj,ai){var al=Math.floor(Math.log(aj)/Math.LN10);var an=Math.pow(10,al);var am=aj/an;var ah;var ak;am=am/ai;if(am<=0.38){ak=0.1}else{if(am<=1.6){ak=0.2}else{if(am<=4){ak=0.5}else{if(am<=8){ak=1}else{if(am<=16){ak=2}else{ak=5}}}}}ah=ak*an;return[ah,ak,an]}L.jqplot.LinearTickGenerator=function(an,aq,aj,ak,ao,ar){ao=(ao===null)?false:ao;ar=(ar===null||ao)?false:ar;if(an===aq){aq=(aq)?0:1}aj=aj||1;if(aqat){at=aB}if(ai>aA){aA=ai}})}an.width=at+Number(av);an.height=aA+Number(ax);var ak=an.getContext("2d");ak.save();ak.fillStyle=al;ak.fillRect(0,0,an.width,an.height);ak.restore();ak.translate(au,ar);ak.textAlign="left";ak.textBaseline="top";function aC(aE){var aF=parseInt(L(aE).css("line-height"),10);if(isNaN(aF)){aF=parseInt(L(aE).css("font-size"),10)*1.2}return aF}function aD(aF,aE,aS,aG,aO,aH){var aQ=aC(aF);var aK=L(aF).innerWidth();var aL=L(aF).innerHeight();var aN=aS.split(/\s+/);var aR=aN.length;var aP="";var aM=[];var aU=aO;var aT=aG;for(var aJ=0;aJaK){aM.push(aJ);aP="";aJ--}}if(aM.length===0){if(L(aF).css("textAlign")==="center"){aT=aG+(aH-aE.measureText(aP).width)/2-au}aE.fillText(aS,aT,aO)}else{aP=aN.slice(0,aM[0]).join(" ");if(L(aF).css("textAlign")==="center"){aT=aG+(aH-aE.measureText(aP).width)/2-au}aE.fillText(aP,aT,aU);aU+=aQ;for(var aJ=1,aI=aM.length;aJ0){ak.strokeRect(aI,aL,L(aG).innerWidth(),L(aG).innerHeight())}L(aG).find("div.jqplot-table-legend-swatch-outline").each(function(){var aU=L(this);ak.strokeStyle=aU.css("border-top-color");var aQ=aI+aU.position().left;var aR=aL+aU.position().top;ak.strokeRect(aQ,aR,aU.innerWidth(),aU.innerHeight());aQ+=parseInt(aU.css("padding-left"),10);aR+=parseInt(aU.css("padding-top"),10);var aT=aU.innerHeight()-2*parseInt(aU.css("padding-top"),10);var aP=aU.innerWidth()-2*parseInt(aU.css("padding-left"),10);var aS=aU.children("div.jqplot-table-legend-swatch");ak.fillStyle=aS.css("background-color");ak.fillRect(aQ,aR,aP,aT)});L(aG).find("td.jqplot-table-legend-label").each(function(){var aR=L(this);var aP=aI+aR.position().left;var aQ=aL+aR.position().top+parseInt(aR.css("padding-top"),10);ak.font=aR.jqplotGetComputedFontStyle();ak.fillStyle=aR.css("color");aD(aR,ak,aR.text(),aP,aQ,aM)});var aH=null}else{if(aN=="canvas"){ak.drawImage(aG,aI,aL)}}}}L(this).children().each(function(){aw(this,av,ax)});return an};L.fn.jqplotToImageStr=function(ai){var ah=L(this).jqplotToImageCanvas(ai);if(ah){return ah.toDataURL("image/png")}else{return null}};L.fn.jqplotToImageElem=function(ah){var ai=document.createElement("img");var aj=L(this).jqplotToImageStr(ah);ai.src=aj;return ai};L.fn.jqplotToImageElemStr=function(ah){var ai="";return ai};L.fn.jqplotSaveImage=function(){var ah=L(this).jqplotToImageStr({});if(ah){window.location.href=ah.replace("image/png","image/octet-stream")}};L.fn.jqplotViewImage=function(){var ai=L(this).jqplotToImageElemStr({});var aj=L(this).jqplotToImageStr({});if(ai){var ah=window.open("");ah.document.open("image/png");ah.document.write(ai);ah.document.close();ah=null}};var ag=function(){this.syntax=ag.config.syntax;this._type="jsDate";this.proxy=new Date();this.options={};this.locale=ag.regional.getLocale();this.formatString="";this.defaultCentury=ag.config.defaultCentury;switch(arguments.length){case 0:break;case 1:if(l(arguments[0])=="[object Object]"&&arguments[0]._type!="jsDate"){var aj=this.options=arguments[0];this.syntax=aj.syntax||this.syntax;this.defaultCentury=aj.defaultCentury||this.defaultCentury;this.proxy=ag.createDate(aj.date)}else{this.proxy=ag.createDate(arguments[0])}break;default:var ah=[];for(var ai=0;ai0?"floor":"ceil"](ak))};ag.prototype.getAbbrDayName=function(){return ag.regional[this.locale]["dayNamesShort"][this.proxy.getDay()]};ag.prototype.getAbbrMonthName=function(){return ag.regional[this.locale]["monthNamesShort"][this.proxy.getMonth()]};ag.prototype.getAMPM=function(){return this.proxy.getHours()>=12?"PM":"AM"};ag.prototype.getAmPm=function(){return this.proxy.getHours()>=12?"pm":"am"};ag.prototype.getCentury=function(){return parseInt(this.proxy.getFullYear()/100,10)};ag.prototype.getDate=function(){return this.proxy.getDate()};ag.prototype.getDay=function(){return this.proxy.getDay()};ag.prototype.getDayOfWeek=function(){var ah=this.proxy.getDay();return ah===0?7:ah};ag.prototype.getDayOfYear=function(){var ai=this.proxy;var ah=ai-new Date(""+ai.getFullYear()+"/1/1 GMT");ah+=ai.getTimezoneOffset()*60000;ai=null;return parseInt(ah/60000/60/24,10)+1};ag.prototype.getDayName=function(){return ag.regional[this.locale]["dayNames"][this.proxy.getDay()]};ag.prototype.getFullWeekOfYear=function(){var ak=this.proxy;var ah=this.getDayOfYear();var aj=6-ak.getDay();var ai=parseInt((ah+aj)/7,10);return ai};ag.prototype.getFullYear=function(){return this.proxy.getFullYear()};ag.prototype.getGmtOffset=function(){var ah=this.proxy.getTimezoneOffset()/60;var ai=ah<0?"+":"-";ah=Math.abs(ah);return ai+N(Math.floor(ah),2)+":"+N((ah%1)*60,2)};ag.prototype.getHours=function(){return this.proxy.getHours()};ag.prototype.getHours12=function(){var ah=this.proxy.getHours();return ah>12?ah-12:(ah==0?12:ah)};ag.prototype.getIsoWeek=function(){var ak=this.proxy;var aj=this.getWeekOfYear();var ah=(new Date(""+ak.getFullYear()+"/1/1")).getDay();var ai=aj+(ah>4||ah<=1?0:1);if(ai==53&&(new Date(""+ak.getFullYear()+"/12/31")).getDay()<4){ai=1}else{if(ai===0){ak=new ag(new Date(""+(ak.getFullYear()-1)+"/12/31"));ai=ak.getIsoWeek()}}ak=null;return ai};ag.prototype.getMilliseconds=function(){return this.proxy.getMilliseconds()};ag.prototype.getMinutes=function(){return this.proxy.getMinutes()};ag.prototype.getMonth=function(){return this.proxy.getMonth()};ag.prototype.getMonthName=function(){return ag.regional[this.locale]["monthNames"][this.proxy.getMonth()]};ag.prototype.getMonthNumber=function(){return this.proxy.getMonth()+1};ag.prototype.getSeconds=function(){return this.proxy.getSeconds()};ag.prototype.getShortYear=function(){return this.proxy.getYear()%100};ag.prototype.getTime=function(){return this.proxy.getTime()};ag.prototype.getTimezoneAbbr=function(){return this.proxy.toString().replace(/^.*\(([^)]+)\)$/,"$1")};ag.prototype.getTimezoneName=function(){var ah=/(?:\((.+)\)$| ([A-Z]{3}) )/.exec(this.toString());return ah[1]||ah[2]||"GMT"+this.getGmtOffset()};ag.prototype.getTimezoneOffset=function(){return this.proxy.getTimezoneOffset()};ag.prototype.getWeekOfYear=function(){var ah=this.getDayOfYear();var aj=7-this.getDayOfWeek();var ai=parseInt((ah+aj)/7,10);return ai};ag.prototype.getUnix=function(){return Math.round(this.proxy.getTime()/1000,0)};ag.prototype.getYear=function(){return this.proxy.getYear()};ag.prototype.next=function(ah){ah=ah||"day";return this.clone().add(1,ah)};ag.prototype.set=function(){switch(arguments.length){case 0:this.proxy=new Date();break;case 1:if(l(arguments[0])=="[object Object]"&&arguments[0]._type!="jsDate"){var aj=this.options=arguments[0];this.syntax=aj.syntax||this.syntax;this.defaultCentury=aj.defaultCentury||this.defaultCentury;this.proxy=ag.createDate(aj.date)}else{this.proxy=ag.createDate(arguments[0])}break;default:var ah=[];for(var ai=0;ai0?"floor":"ceil"](ah/12));var ai=aj.getMonth()+(ah%12);if(ai==12){ai=0;aj.setYear(aj.getFullYear()+1)}else{if(ai==-1){ai=11;aj.setYear(aj.getFullYear()-1)}}aj.setMonth(ai)},diff:function(al,aj){var ah=al.getFullYear()-aj.getFullYear();var ai=al.getMonth()-aj.getMonth()+(ah*12);var ak=al.getDate()-aj.getDate();return ai+(ak/30)}},year:{add:function(ai,ah){ai.setYear(ai.getFullYear()+Math[ah>0?"floor":"ceil"](ah))},diff:function(ai,ah){return E.month.diff(ai,ah)/12}}};for(var Y in E){if(Y.substring(Y.length-1)!="s"){E[Y+"s"]=E[Y]}}var H=function(al,ak,ai){if(ag.formats[ai]["shortcuts"][ak]){return ag.strftime(al,ag.formats[ai]["shortcuts"][ak],ai)}else{var ah=(ag.formats[ai]["codes"][ak]||"").split(".");var aj=al["get"+ah[0]]?al["get"+ah[0]]():"";if(ah[1]){aj=N(aj,ah[1])}return aj}};ag.strftime=function(an,ak,aj,ao){var ai="perl";var am=ag.regional.getLocale();if(aj&&ag.formats.hasOwnProperty(aj)){ai=aj}else{if(aj&&ag.regional.hasOwnProperty(aj)){am=aj}}if(ao&&ag.formats.hasOwnProperty(ao)){ai=ao}else{if(ao&&ag.regional.hasOwnProperty(ao)){am=ao}}if(l(an)!="[object Object]"||an._type!="jsDate"){an=new ag(an);an.locale=am}if(!ak){ak=an.formatString||ag.regional[am]["formatString"]}var ah=ak||"%Y-%m-%d",ap="",al;while(ah.length>0){if(al=ah.match(ag.formats[ai].codes.matcher)){ap+=ah.slice(0,al.index);ap+=(al[1]||"")+H(an,al[2],ai);ah=ah.slice(al.index+al[0].length)}else{ap+=ah;ah=""}}return ap};ag.formats={ISO:"%Y-%m-%dT%H:%M:%S.%N%G",SQL:"%Y-%m-%d %H:%M:%S"};ag.formats.perl={codes:{matcher:/()%(#?(%|[a-z]))/i,Y:"FullYear",y:"ShortYear.2",m:"MonthNumber.2","#m":"MonthNumber",B:"MonthName",b:"AbbrMonthName",d:"Date.2","#d":"Date",e:"Date",A:"DayName",a:"AbbrDayName",w:"Day",H:"Hours.2","#H":"Hours",I:"Hours12.2","#I":"Hours12",p:"AMPM",M:"Minutes.2","#M":"Minutes",S:"Seconds.2","#S":"Seconds",s:"Unix",N:"Milliseconds.3","#N":"Milliseconds",O:"TimezoneOffset",Z:"TimezoneName",G:"GmtOffset"},shortcuts:{F:"%Y-%m-%d",T:"%H:%M:%S",X:"%H:%M:%S",x:"%m/%d/%y",D:"%m/%d/%y","#c":"%a %b %e %H:%M:%S %Y",v:"%e-%b-%Y",R:"%H:%M",r:"%I:%M:%S %p",t:"\t",n:"\n","%":"%"}};ag.formats.php={codes:{matcher:/()%((%|[a-z]))/i,a:"AbbrDayName",A:"DayName",d:"Date.2",e:"Date",j:"DayOfYear.3",u:"DayOfWeek",w:"Day",U:"FullWeekOfYear.2",V:"IsoWeek.2",W:"WeekOfYear.2",b:"AbbrMonthName",B:"MonthName",m:"MonthNumber.2",h:"AbbrMonthName",C:"Century.2",y:"ShortYear.2",Y:"FullYear",H:"Hours.2",I:"Hours12.2",l:"Hours12",p:"AMPM",P:"AmPm",M:"Minutes.2",S:"Seconds.2",s:"Unix",O:"TimezoneOffset",z:"GmtOffset",Z:"TimezoneAbbr"},shortcuts:{D:"%m/%d/%y",F:"%Y-%m-%d",T:"%H:%M:%S",X:"%H:%M:%S",x:"%m/%d/%y",R:"%H:%M",r:"%I:%M:%S %p",t:"\t",n:"\n","%":"%"}};ag.createDate=function(aj){if(aj==null){return new Date()}if(aj instanceof Date){return aj}if(typeof aj=="number"){return new Date(aj)}var ao=String(aj).replace(/^\s*(.+)\s*$/g,"$1");ao=ao.replace(/^([0-9]{1,4})-([0-9]{1,2})-([0-9]{1,4})/,"$1/$2/$3");ao=ao.replace(/^(3[01]|[0-2]?\d)[-\/]([a-z]{3,})[-\/](\d{4})/i,"$1 $2 $3");var an=ao.match(/^(3[01]|[0-2]?\d)[-\/]([a-z]{3,})[-\/](\d{2})\D*/i);if(an&&an.length>3){var at=parseFloat(an[3]);var am=ag.config.defaultCentury+at;am=String(am);ao=ao.replace(/^(3[01]|[0-2]?\d)[-\/]([a-z]{3,})[-\/](\d{2})\D*/i,an[1]+" "+an[2]+" "+am)}an=ao.match(/^([0-9]{1,2})[-\/]([0-9]{1,2})[-\/]([0-9]{1,2})[^0-9]/);function ar(ax,aw){var aC=parseFloat(aw[1]);var aB=parseFloat(aw[2]);var aA=parseFloat(aw[3]);var az=ag.config.defaultCentury;var av,au,aD,ay;if(aC>31){au=aA;aD=aB;av=az+aC}else{au=aB;aD=aC;av=az+aA}ay=aD+"/"+au+"/"+av;return ax.replace(/^([0-9]{1,2})[-\/]([0-9]{1,2})[-\/]([0-9]{1,2})/,ay)}if(an&&an.length>3){ao=ar(ao,an)}var an=ao.match(/^([0-9]{1,2})[-\/]([0-9]{1,2})[-\/]([0-9]{1,2})$/);if(an&&an.length>3){ao=ar(ao,an)}var al=0;var ai=ag.matchers.length;var aq,ah,ap=ao,ak;while(al31){ah=an;ai=am+ao}else{ah=ao;ai=am+an}var ap=ab(aj[2],ag.regional[ag.regional.getLocale()]["monthNamesShort"]);if(ap==-1){ap=ab(aj[2],ag.regional[ag.regional.getLocale()]["monthNames"])}ak.setFullYear(ai,ap,ah);ak.setHours(0,0,0,0);return ak}else{return al}}];function ab(aj,ak){if(ak.indexOf){return ak.indexOf(aj)}for(var ah=0,ai=ak.length;ah=ap)?"":Array(1+ap-au.length>>>0).join(aq);return at?au+ar:ar+au}function ak(ar){var aq=new String(ar);for(var ap=10;ap>0;ap--){if(aq==(aq=aq.replace(/^(\d+)(\d{3})/,"$1"+L.jqplot.sprintf.thousandsSeparator+"$2"))){break}}return aq}function aj(av,au,ax,ar,at,aq){var aw=ar-av.length;if(aw>0){var ap=" ";if(aq){ap=" "}if(ax||!at){av=an(av,ar,ap,ax)}else{av=av.slice(0,au.length)+an("",aw,"0",true)+av.slice(au.length)}}return av}function ao(ay,aq,aw,ar,ap,av,ax,au){var at=ay>>>0;aw=aw&&at&&{"2":"0b","8":"0","16":"0x"}[aq]||"";ay=aw+an(at.toString(aq),av||0,"0",false);return aj(ay,aw,ar,ap,ax,au)}function ah(au,av,ar,ap,at,aq){if(ap!=null){au=au.slice(0,ap)}return aj(au,"",av,ar,at,aq)}var ai=arguments,al=0,am=ai[al++];return am.replace(L.jqplot.sprintf.regex,function(aM,ax,ay,aB,aO,aJ,av){if(aM=="%%"){return"%"}var aD=false,az="",aA=false,aL=false,aw=false,au=false;for(var aI=0;ay&&aI-1?6:(av=="d")?0:void (0)}else{if(aJ=="*"){aJ=+ai[al++]}else{if(aJ.charAt(0)=="*"){aJ=+ai[aJ.slice(1,-1)]}else{aJ=+aJ}}}var aF=ax?ai[ax.slice(0,-1)]:ai[al++];switch(av){case"s":if(aF==null){return""}return ah(String(aF),aD,aB,aJ,aA,aw);case"c":return ah(String.fromCharCode(+aF),aD,aB,aJ,aA,aw);case"b":return ao(aF,2,aL,aD,aB,aJ,aA,aw);case"o":return ao(aF,8,aL,aD,aB,aJ,aA,aw);case"x":return ao(aF,16,aL,aD,aB,aJ,aA,aw);case"X":return ao(aF,16,aL,aD,aB,aJ,aA,aw).toUpperCase();case"u":return ao(aF,10,aL,aD,aB,aJ,aA,aw);case"i":var ar=parseInt(+aF,10);if(isNaN(ar)){return""}var aH=ar<0?"-":az;var aK=au?ak(String(Math.abs(ar))):String(Math.abs(ar));aF=aH+an(aK,aJ,"0",false);return aj(aF,aH,aD,aB,aA,aw);case"d":var ar=Math.round(+aF);if(isNaN(ar)){return""}var aH=ar<0?"-":az;var aK=au?ak(String(Math.abs(ar))):String(Math.abs(ar));aF=aH+an(aK,aJ,"0",false);return aj(aF,aH,aD,aB,aA,aw);case"e":case"E":case"f":case"F":case"g":case"G":var ar=+aF;if(isNaN(ar)){return""}var aH=ar<0?"-":az;var at=["toExponential","toFixed","toPrecision"]["efg".indexOf(av.toLowerCase())];var aN=["toString","toUpperCase"]["eEfFgG".indexOf(av)%2];var aK=Math.abs(ar)[at](aJ);var aE=aK.toString().split(".");aE[0]=au?ak(aE[0]):aE[0];aK=aE.join(L.jqplot.sprintf.decimalMark);aF=aH+aK;var aC=aj(aF,aH,aD,aB,aA,aw)[aN]();return aC;case"p":case"P":var ar=+aF;if(isNaN(ar)){return""}var aH=ar<0?"-":az;var aE=String(Number(Math.abs(ar)).toExponential()).split(/e|E/);var aq=(aE[0].indexOf(".")!=-1)?aE[0].length-1:String(ar).length;var aG=(aE[1]<0)?-aE[1]-1:0;if(Math.abs(ar)<1){if(aq+aG<=aJ){aF=aH+Math.abs(ar).toPrecision(aq)}else{if(aq<=aJ-1){aF=aH+Math.abs(ar).toExponential(aq-1)}else{aF=aH+Math.abs(ar).toExponential(aJ-1)}}}else{var ap=(aq<=aJ)?aq:aJ;aF=aH+Math.abs(ar).toPrecision(ap)}var aN=["toString","toUpperCase"]["pP".indexOf(av)%2];return aj(aF,aH,aD,aB,aA,aw)[aN]();case"n":return"";default:return aM}})};L.jqplot.sprintf.thousandsSeparator=",";L.jqplot.sprintf.decimalMark=".";L.jqplot.sprintf.regex=/%%|%(\d+\$)?([-+#0&\' ]*)(\*\d+\$|\*|\d+)?(\.(\*\d+\$|\*|\d+))?([nAscboxXuidfegpEGP])/g;L.jqplot.getSignificantFigures=function(al){var an=String(Number(Math.abs(al)).toExponential()).split(/e|E/);var am=(an[0].indexOf(".")!=-1)?an[0].length-1:an[0].length;var ai=(an[1]<0)?-an[1]-1:0;var ah=parseInt(an[1],10);var aj=(ah+1>0)?ah+1:0;var ak=(am<=aj)?0:am-ah-1;return{significantDigits:am,digitsLeft:aj,digitsRight:ak,zeros:ai,exponent:ah}};L.jqplot.getPrecision=function(ah){return L.jqplot.getSignificantFigures(ah).digitsRight};var X=L.uiBackCompat!==false;L.jqplot.effects={effect:{}};var m="jqplot.storage.";L.extend(L.jqplot.effects,{version:"1.9pre",save:function(ai,aj){for(var ah=0;ah").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),ah={width:ai.width(),height:ai.height()},ak=document.activeElement;ai.wrap(al);if(ai[0]===ak||L.contains(ai[0],ak)){L(ak).focus()}al=ai.parent();if(ai.css("position")==="static"){al.css({position:"relative"});ai.css({position:"relative"})}else{L.extend(aj,{position:ai.css("position"),zIndex:ai.css("z-index")});L.each(["top","left","bottom","right"],function(am,an){aj[an]=ai.css(an);if(isNaN(parseInt(aj[an],10))){aj[an]="auto"}});ai.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})}ai.css(ah);return al.css(aj).show()},removeWrapper:function(ah){var ai=document.activeElement;if(ah.parent().is(".ui-effects-wrapper")){ah.parent().replaceWith(ah);if(ah[0]===ai||L.contains(ah[0],ai)){L(ai).focus()}}return ah}});function j(ai,ah,aj,ak){if(L.isPlainObject(ai)){return ai}ai={effect:ai};if(ah===u){ah={}}if(L.isFunction(ah)){ak=ah;aj=null;ah={}}if(L.type(ah)==="number"||L.fx.speeds[ah]){ak=aj;aj=ah;ah={}}if(L.isFunction(aj)){ak=aj;aj=null}if(ah){L.extend(ai,ah)}aj=aj||ah.duration;ai.duration=L.fx.off?0:typeof aj==="number"?aj:aj in L.fx.speeds?L.fx.speeds[aj]:L.fx.speeds._default;ai.complete=ak||ah.complete;return ai}function ae(ah){if(!ah||typeof ah==="number"||L.fx.speeds[ah]){return true}if(typeof ah==="string"&&!L.jqplot.effects.effect[ah]){if(X&&L.jqplot.effects[ah]){return false}return true}return false}L.fn.extend({jqplotEffect:function(ap,aq,ai,ao){var an=j.apply(this,arguments),ak=an.mode,al=an.queue,am=L.jqplot.effects.effect[an.effect],ah=!am&&X&&L.jqplot.effects[an.effect];if(L.fx.off||!(am||ah)){if(ak){return this[ak](an.duration,an.complete)}else{return this.each(function(){if(an.complete){an.complete.call(this)}})}}function aj(au){var av=L(this),at=an.complete,aw=an.mode;function ar(){if(L.isFunction(at)){at.call(av[0])}if(L.isFunction(au)){au()}}if(av.is(":hidden")?aw==="hide":aw==="show"){ar()}else{am.call(av[0],an,ar)}}if(am){return al===false?this.each(aj):this.queue(al||"fx",aj)}else{return ah.call(this,{options:an,duration:an.duration,callback:an.complete,mode:an.mode})}}});var a=/up|down|vertical/,v=/up|left|vertical|horizontal/;L.jqplot.effects.effect.blind=function(aj,ao){var ak=L(this),ar=["position","top","bottom","left","right","height","width"],ap=L.jqplot.effects.setMode(ak,aj.mode||"hide"),au=aj.direction||"up",am=a.test(au),al=am?"height":"width",aq=am?"top":"left",aw=v.test(au),an={},av=ap==="show",ai,ah,at;if(ak.parent().is(".ui-effects-wrapper")){L.jqplot.effects.save(ak.parent(),ar)}else{L.jqplot.effects.save(ak,ar)}ak.show();at=parseInt(ak.css("top"),10);ai=L.jqplot.effects.createWrapper(ak).css({overflow:"hidden"});ah=am?ai[al]()+at:ai[al]();an[al]=av?String(ah):"0";if(!aw){ak.css(am?"bottom":"right",0).css(am?"top":"left","").css({position:"absolute"});an[aq]=av?"0":String(ah)}if(av){ai.css(al,0);if(!aw){ai.css(aq,ah)}}ai.animate(an,{duration:aj.duration,easing:aj.easing,queue:false,complete:function(){if(ap==="hide"){ak.hide()}L.jqplot.effects.restore(ak,ar);L.jqplot.effects.removeWrapper(ak);ao()}})}})(jQuery); \ No newline at end of file diff --git a/helpdesk/static/helpdesk/jquery.jqplot/plugins/jqplot.BezierCurveRenderer.min.js b/helpdesk/static/helpdesk/jquery.jqplot/plugins/jqplot.BezierCurveRenderer.min.js index 1370e520..94c6fc5e 100644 --- a/helpdesk/static/helpdesk/jquery.jqplot/plugins/jqplot.BezierCurveRenderer.min.js +++ b/helpdesk/static/helpdesk/jquery.jqplot/plugins/jqplot.BezierCurveRenderer.min.js @@ -1,34 +1,3 @@ -/** - * Copyright (c) 2009 - 2010 Chris Leonello - * jqPlot is currently available for use in all personal or commercial projects - * under both the MIT (http://www.opensource.org/licenses/mit-license.php) and GPL - * version 2.0 (http://www.gnu.org/licenses/gpl-2.0.html) licenses. This means that you can - * choose the license that best suits your project and use it accordingly. - * - * Although not required, the author would appreciate an email letting him - * know of any substantial use of jqPlot. You can reach the author at: - * chris at jqplot or see http://www.jqplot.com/info.php . - * - * If you are feeling kind and generous, consider supporting the project by - * making a donation at: http://www.jqplot.com/donate.php . - * - * jqPlot includes date instance methods and printf/sprintf functions by other authors: - * - * Date instance methods contained in jqplot.dateMethods.js: - * - * author Ken Snyder (ken d snyder at gmail dot com) - * date 2008-09-10 - * version 2.0.2 (http://kendsnyder.com/sandbox/date/) - * license Creative Commons Attribution License 3.0 (http://creativecommons.org/licenses/by/3.0/) - * - * JavaScript printf/sprintf functions contained in jqplot.sprintf.js: - * - * version 2007.04.27 - * author Ash Searle - * http://hexmen.com/blog/2007/03/printf-sprintf/ - * http://hexmen.com/js/sprintf.js - * The author (Ash Searle) has placed this code in the public domain: - * "This code is unrestricted: you are free to use it however you like." - * - */ -(function(b){b.jqplot.BezierCurveRenderer=function(){b.jqplot.LineRenderer.call(this)};b.jqplot.BezierCurveRenderer.prototype=new b.jqplot.LineRenderer();b.jqplot.BezierCurveRenderer.prototype.constructor=b.jqplot.BezierCurveRenderer;b.jqplot.BezierCurveRenderer.prototype.setGridData=function(h){var e=this._xaxis.series_u2p;var g=this._yaxis.series_u2p;var f=this.data;this.gridData=[];this._prevGridData=[];var d=this.index;if(f.length==2){if(d==0){this.gridData=[[e.call(this._xaxis,f[0][0]),g.call(this._yaxis,f[0][1])],[e.call(this._xaxis,f[1][0]),g.call(this._yaxis,f[1][1]),e.call(this._xaxis,f[1][2]),g.call(this._yaxis,f[1][3]),e.call(this._xaxis,f[1][4]),g.call(this._yaxis,f[1][5])],[e.call(this._xaxis,f[1][4]),g.call(this._yaxis,this._yaxis.min)],[e.call(this._xaxis,f[0][0]),g.call(this._yaxis,this._yaxis.min)]]}else{var c=h.series[d-1].data;this.gridData=[[e.call(this._xaxis,f[0][0]),g.call(this._yaxis,f[0][1])],[e.call(this._xaxis,f[1][0]),g.call(this._yaxis,f[1][1]),e.call(this._xaxis,f[1][2]),g.call(this._yaxis,f[1][3]),e.call(this._xaxis,f[1][4]),g.call(this._yaxis,f[1][5])],[e.call(this._xaxis,c[1][4]),g.call(this._yaxis,c[1][5])],[e.call(this._xaxis,c[1][2]),g.call(this._yaxis,c[1][3]),e.call(this._xaxis,c[1][0]),g.call(this._yaxis,c[1][1]),e.call(this._xaxis,c[0][0]),g.call(this._yaxis,c[0][1])]]}}else{if(d==0){this.gridData=[[e.call(this._xaxis,f[0][0]),g.call(this._yaxis,f[0][1])],[e.call(this._xaxis,f[1][0]),g.call(this._yaxis,f[1][1]),e.call(this._xaxis,f[2][0]),g.call(this._yaxis,f[2][1]),e.call(this._xaxis,f[3][0]),g.call(this._yaxis,f[3][1])],[e.call(this._xaxis,f[3][1]),g.call(this._yaxis,this._yaxis.min)],[e.call(this._xaxis,f[0][0]),g.call(this._yaxis,this._yaxis.min)]]}else{var c=h.series[d-1].data;this.gridData=[[e.call(this._xaxis,f[0][0]),g.call(this._yaxis,f[0][1])],[e.call(this._xaxis,f[1][0]),g.call(this._yaxis,f[1][1]),e.call(this._xaxis,f[2][0]),g.call(this._yaxis,f[2][1]),e.call(this._xaxis,f[3][0]),g.call(this._yaxis,f[3][1])],[e.call(this._xaxis,c[3][0]),g.call(this._yaxis,c[3][1])],[e.call(this._xaxis,c[2][0]),g.call(this._yaxis,c[2][1]),e.call(this._xaxis,c[1][0]),g.call(this._yaxis,c[1][1]),e.call(this._xaxis,c[0][0]),g.call(this._yaxis,c[0][1])]]}}};b.jqplot.BezierCurveRenderer.prototype.makeGridData=function(g,i){var f=this._xaxis.series_u2p;var h=this._yaxis.series_u2p;var e=[];var j=[];var d=this.index;if(g.length==2){if(d==0){e=[[f.call(this._xaxis,g[0][0]),h.call(this._yaxis,g[0][1])],[f.call(this._xaxis,g[1][0]),h.call(this._yaxis,g[1][1]),f.call(this._xaxis,g[1][2]),h.call(this._yaxis,g[1][3]),f.call(this._xaxis,g[1][4]),h.call(this._yaxis,g[1][5])],[f.call(this._xaxis,g[1][4]),h.call(this._yaxis,this._yaxis.min)],[f.call(this._xaxis,g[0][0]),h.call(this._yaxis,this._yaxis.min)]]}else{var c=i.series[d-1].data;e=[[f.call(this._xaxis,g[0][0]),h.call(this._yaxis,g[0][1])],[f.call(this._xaxis,g[1][0]),h.call(this._yaxis,g[1][1]),f.call(this._xaxis,g[1][2]),h.call(this._yaxis,g[1][3]),f.call(this._xaxis,g[1][4]),h.call(this._yaxis,g[1][5])],[f.call(this._xaxis,c[1][4]),h.call(this._yaxis,c[1][5])],[f.call(this._xaxis,c[1][2]),h.call(this._yaxis,c[1][3]),f.call(this._xaxis,c[1][0]),h.call(this._yaxis,c[1][1]),f.call(this._xaxis,c[0][0]),h.call(this._yaxis,c[0][1])]]}}else{if(d==0){e=[[f.call(this._xaxis,g[0][0]),h.call(this._yaxis,g[0][1])],[f.call(this._xaxis,g[1][0]),h.call(this._yaxis,g[1][1]),f.call(this._xaxis,g[2][0]),h.call(this._yaxis,g[2][1]),f.call(this._xaxis,g[3][0]),h.call(this._yaxis,g[3][1])],[f.call(this._xaxis,g[3][1]),h.call(this._yaxis,this._yaxis.min)],[f.call(this._xaxis,g[0][0]),h.call(this._yaxis,this._yaxis.min)]]}else{var c=i.series[d-1].data;e=[[f.call(this._xaxis,g[0][0]),h.call(this._yaxis,g[0][1])],[f.call(this._xaxis,g[1][0]),h.call(this._yaxis,g[1][1]),f.call(this._xaxis,g[2][0]),h.call(this._yaxis,g[2][1]),f.call(this._xaxis,g[3][0]),h.call(this._yaxis,g[3][1])],[f.call(this._xaxis,c[3][0]),h.call(this._yaxis,c[3][1])],[f.call(this._xaxis,c[2][0]),h.call(this._yaxis,c[2][1]),f.call(this._xaxis,c[1][0]),h.call(this._yaxis,c[1][1]),f.call(this._xaxis,c[0][0]),h.call(this._yaxis,c[0][1])]]}}return e};b.jqplot.BezierCurveRenderer.prototype.draw=function(c,g,d){var e;c.save();if(g.length){if(this.showLine){c.save();var f=(d!=null)?d:{};c.fillStyle=f.fillStyle||this.color;c.beginPath();c.moveTo(g[0][0],g[0][1]);c.bezierCurveTo(g[1][0],g[1][1],g[1][2],g[1][3],g[1][4],g[1][5]);c.lineTo(g[2][0],g[2][1]);if(g[3].length==2){c.lineTo(g[3][0],g[3][1])}else{c.bezierCurveTo(g[3][0],g[3][1],g[3][2],g[3][3],g[3][4],g[3][5])}c.closePath();c.fill();c.restore()}}c.restore()};b.jqplot.BezierCurveRenderer.prototype.drawShadow=function(c,e,d){};b.jqplot.BezierAxisRenderer=function(){b.jqplot.LinearAxisRenderer.call(this)};b.jqplot.BezierAxisRenderer.prototype=new b.jqplot.LinearAxisRenderer();b.jqplot.BezierAxisRenderer.prototype.constructor=b.jqplot.BezierAxisRenderer;b.jqplot.BezierAxisRenderer.prototype.init=function(f){b.extend(true,this,f);var c=this._dataBounds;for(var g=0;gc.max||c.max==null){c.max=k[e][0]}}else{if(k[e][1]c.max||c.max==null){c.max=k[e][1]}}}}else{if(this.name=="xaxis"||this.name=="x2axis"){if(k[0][0]c.max||c.max==null){c.max=k[0][0]}for(var e=0;e<5;e+=2){if(k[1][e]c.max||c.max==null){c.max=k[1][e]}}}else{if(k[0][1]c.max||c.max==null){c.max=k[0][1]}for(var e=1;e<6;e+=2){if(k[1][e]c.max||c.max==null){c.max=k[1][e]}}}}}};function a(g,f,d){d=d||{};d.axesDefaults=b.extend(true,{pad:0},d.axesDefaults);d.legend=b.extend(true,{placement:"outside"},d.legend);var c=false;if(d.seriesDefaults.renderer==b.jqplot.BezierCurveRenderer){c=true}else{if(d.series){for(var e=0;ec.max||c.max==null){c.max=k[e][0]}}else{if(k[e][1]c.max||c.max==null){c.max=k[e][1]}}}}else{if(this.name=="xaxis"||this.name=="x2axis"){if(k[0][0]c.max||c.max==null){c.max=k[0][0]}for(var e=0;e<5;e+=2){if(k[1][e]c.max||c.max==null){c.max=k[1][e]}}}else{if(k[0][1]c.max||c.max==null){c.max=k[0][1]}for(var e=1;e<6;e+=2){if(k[1][e]c.max||c.max==null){c.max=k[1][e]}}}}}};function a(g,f,d){d=d||{};d.axesDefaults=b.extend(true,{pad:0},d.axesDefaults);d.seriesDefaults=d.seriesDefaults||{};d.legend=b.extend(true,{placement:"outside"},d.legend);var c=false;if(d.seriesDefaults.renderer==b.jqplot.BezierCurveRenderer){c=true}else{if(d.series){for(var e=0;e0){this.data[q][u]+=this.data[q-1][u]}}this.data[this.data.length]=(u==1)?[this.data.length+1,s]:[s,this.data.length+1];this._data[this._data.length]=(u==1)?[this._data.length+1,s]:[s,this._data.length+1]}if(this.rendererOptions.groups>1){this.breakOnNull=true;var n=this.data.length;var v=parseInt(n/this.rendererOptions.groups,10);var r=0;for(var q=v;q570)?n[p]*0.8:n[p]+0.3*(255-n[p]);n[p]=parseInt(n[p],10)}q.push("rgb("+n[0]+","+n[1]+","+n[2]+")")}return q}d.jqplot.BarRenderer.prototype.draw=function(E,J,q){var G;var A=(q!=undefined)?q:{};var v=(A.shadow!=undefined)?A.shadow:this.shadow;var M=(A.showLine!=undefined)?A.showLine:this.showLine;var F=(A.fill!=undefined)?A.fill:this.fill;var p=this.xaxis;var H=this.yaxis;var y=this._xaxis.series_u2p;var I=this._yaxis.series_u2p;var D,C,x,w,s;this._dataColors=[];this._barPoints=[];if(this.barWidth==null){this.renderer.setBarWidth.call(this)}var L=this._plotSeriesInfo=this.renderer.calcSeriesNumbers.call(this);x=L[0];w=L[1];s=L[2];if(this._stack){this._barNudge=0}else{this._barNudge=(-Math.abs(w/2-0.5)+s)*(this.barWidth+this.barPadding)}if(M){var u=new d.jqplot.ColorGenerator(this.negativeSeriesColors);var B=new d.jqplot.ColorGenerator(this.seriesColors);var K=u.get(this.index);if(!this.useNegativeColors){K=A.fillStyle}var t=A.fillStyle;if(this.barDirection=="vertical"){for(var G=0;G0&&G0&&G0){this.data[q][u]+=this.data[q-1][u]}}this.data[this.data.length]=(u==1)?[this.data.length+1,s]:[s,this.data.length+1];this._data[this._data.length]=(u==1)?[this._data.length+1,s]:[s,this._data.length+1]}if(this.rendererOptions.groups>1){this.breakOnNull=true;var n=this.data.length;var v=parseInt(n/this.rendererOptions.groups,10);var r=0;for(var q=v;q570)?n[p]*0.8:n[p]+0.3*(255-n[p]);n[p]=parseInt(n[p],10)}q.push("rgb("+n[0]+","+n[1]+","+n[2]+")")}return q}function i(v,u,s,t,o){var q=v,w=v-1,n,p,r=(o==="x")?0:1;if(q>0){p=t.series[w]._plotData[u][r];if((s*p)<0){n=i(w,u,s,t,o)}else{n=t.series[w].gridData[u][r]}}else{n=(r===0)?t.series[q]._xaxis.series_u2p(0):t.series[q]._yaxis.series_u2p(0)}return n}d.jqplot.BarRenderer.prototype.draw=function(E,L,q,G){var I;var A=d.extend({},q);var w=(A.shadow!=undefined)?A.shadow:this.shadow;var O=(A.showLine!=undefined)?A.showLine:this.showLine;var F=(A.fill!=undefined)?A.fill:this.fill;var p=this.xaxis;var J=this.yaxis;var y=this._xaxis.series_u2p;var K=this._yaxis.series_u2p;var D,C;this._dataColors=[];this._barPoints=[];if(this.barWidth==null){this.renderer.setBarWidth.call(this)}var N=this._plotSeriesInfo=this.renderer.calcSeriesNumbers.call(this);var x=N[0];var v=N[1];var s=N[2];var H=[];if(this._stack){this._barNudge=0}else{this._barNudge=(-Math.abs(v/2-0.5)+s)*(this.barWidth+this.barPadding)}if(O){var u=new d.jqplot.ColorGenerator(this.negativeSeriesColors);var B=new d.jqplot.ColorGenerator(this.seriesColors);var M=u.get(this.index);if(!this.useNegativeColors){M=A.fillStyle}var t=A.fillStyle;var r;var P;var o;if(this.barDirection=="vertical"){for(var I=0;I0&&I=0){o=this._yaxis.series_u2p(0)}else{if(this._yaxis.min>0){o=E.canvas.height}else{o=0}}}else{if(this.waterfall&&I==this.gridData.length-1){if(this._yaxis.min<=0&&this._yaxis.max>=0){o=this._yaxis.series_u2p(0)}else{if(this._yaxis.min>0){o=E.canvas.height}else{o=0}}}else{o=E.canvas.height}}}}}if((this.fillToZero&&this._plotData[I][1]<0)||(this.waterfall&&this._data[I][1]<0)){if(this.varyBarColor&&!this._stack){if(this.useNegativeColors){A.fillStyle=u.next()}else{A.fillStyle=B.next()}}else{A.fillStyle=M}}else{if(this.varyBarColor&&!this._stack){A.fillStyle=B.next()}else{A.fillStyle=t}}if(!this.fillToZero||this._plotData[I][1]>=0){H.push([r-this.barWidth/2,o]);H.push([r-this.barWidth/2,L[I][1]]);H.push([r+this.barWidth/2,L[I][1]]);H.push([r+this.barWidth/2,o])}else{H.push([r-this.barWidth/2,L[I][1]]);H.push([r-this.barWidth/2,o]);H.push([r+this.barWidth/2,o]);H.push([r+this.barWidth/2,L[I][1]])}this._barPoints.push(H);if(w&&!this._stack){var z=d.extend(true,{},A);delete z.fillStyle;this.renderer.shadowRenderer.draw(E,H,z)}var n=A.fillStyle||this.color;this._dataColors.push(n);this.renderer.shapeRenderer.draw(E,H,A)}}else{if(this.barDirection=="horizontal"){for(var I=0;I0&&I=0){P=this._xaxis.series_u2p(0)}else{if(this._xaxis.min>0){P=0}else{P=0}}}else{if(this.waterfall&&I==this.gridData.length-1){if(this._xaxis.min<=0&&this._xaxis.max>=0){P=this._xaxis.series_u2p(0)}else{if(this._xaxis.min>0){P=0}else{P=E.canvas.width}}}else{P=0}}}}}if((this.fillToZero&&this._plotData[I][0]<0)||(this.waterfall&&this._data[I][0]<0)){if(this.varyBarColor&&!this._stack){if(this.useNegativeColors){A.fillStyle=u.next()}else{A.fillStyle=B.next()}}else{A.fillStyle=M}}else{if(this.varyBarColor&&!this._stack){A.fillStyle=B.next()}else{A.fillStyle=t}}if(!this.fillToZero||this._plotData[I][0]>=0){H.push([P,r+this.barWidth/2]);H.push([P,r-this.barWidth/2]);H.push([L[I][0],r-this.barWidth/2]);H.push([L[I][0],r+this.barWidth/2])}else{H.push([L[I][0],r+this.barWidth/2]);H.push([L[I][0],r-this.barWidth/2]);H.push([P,r-this.barWidth/2]);H.push([P,r+this.barWidth/2])}this._barPoints.push(H);if(w&&!this._stack){var z=d.extend(true,{},A);delete z.fillStyle;this.renderer.shadowRenderer.draw(E,H,z)}var n=A.fillStyle||this.color;this._dataColors.push(n);this.renderer.shapeRenderer.draw(E,H,A)}}}}if(this.highlightColors.length==0){this.highlightColors=d.jqplot.computeHighlightColors(this._dataColors)}else{if(typeof(this.highlightColors)=="string"){var N=this.highlightColors;this.highlightColors=[];for(var I=0;I")}k=a.extend(true,{},this.css,k);c=a('
');this.canvas._elem.append(c);this.escapeHtml?c.text(p):c.html(p);delete k.position;delete k.marginRight;delete k.marginLeft;if(!k.background&&!k.backgroundColor&&!k.backgroundImage){k.background=j.next()}c.css(k);n=c.outerWidth();g=c.outerHeight();e=o[0]-n/2+"px";m=o[1]-g/2+"px";c.css({left:e,top:m});c=null}};a.jqplot.BlockCanvas=function(){a.jqplot.ElemContainer.call(this);this._ctx};a.jqplot.BlockCanvas.prototype=new a.jqplot.ElemContainer();a.jqplot.BlockCanvas.prototype.constructor=a.jqplot.BlockCanvas;a.jqplot.BlockCanvas.prototype.createElement=function(i,e,c){this._offsets=i;var b="jqplot-blockCanvas";if(e!=undefined){b=e}var g;if(this._elem){g=this._elem.get(0)}else{g=document.createElement("div")}if(c!=undefined){this._plotDimensions=c}var d=this._plotDimensions.width-this._offsets.left-this._offsets.right+"px";var f=this._plotDimensions.height-this._offsets.top-this._offsets.bottom+"px";this._elem=a(g);this._elem.css({position:"absolute",width:d,height:f,left:this._offsets.left,top:this._offsets.top});this._elem.addClass(b);return this._elem};a.jqplot.BlockCanvas.prototype.setContext=function(){this._ctx={canvas:{width:0,height:0},clearRect:function(){return null}};return this._ctx}})(jQuery); \ No newline at end of file +/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com + jsDate | (c) 2010-2013 Chris Leonello + */(function(a){a.jqplot.BlockRenderer=function(){a.jqplot.LineRenderer.call(this)};a.jqplot.BlockRenderer.prototype=new a.jqplot.LineRenderer();a.jqplot.BlockRenderer.prototype.constructor=a.jqplot.BlockRenderer;a.jqplot.BlockRenderer.prototype.init=function(b){this.css={padding:"2px",border:"1px solid #999",textAlign:"center"};this.escapeHtml=false;this.insertBreaks=true;this.varyBlockColors=false;a.extend(true,this,b);if(this.css.backgroundColor){this.color=this.css.backgroundColor}else{if(this.css.background){this.color=this.css.background}else{if(!this.varyBlockColors){this.css.background=this.color}}}this.canvas=new a.jqplot.BlockCanvas();this.shadowCanvas=new a.jqplot.BlockCanvas();this.canvas._plotDimensions=this._plotDimensions;this.shadowCanvas._plotDimensions=this._plotDimensions;this._type="block";this.moveBlock=function(l,j,i,e){var c=this.canvas._elem.children(":eq("+l+")");this.data[l][0]=j;this.data[l][1]=i;this._plotData[l][0]=j;this._plotData[l][1]=i;this._stackData[l][0]=j;this._stackData[l][1]=i;this.gridData[l][0]=this._xaxis.series_u2p(j);this.gridData[l][1]=this._yaxis.series_u2p(i);var k=c.outerWidth();var f=c.outerHeight();var d=this.gridData[l][0]-k/2+"px";var g=this.gridData[l][1]-f/2+"px";if(e){if(parseInt(e,10)){e=parseInt(e,10)}c.animate({left:d,top:g},e)}else{c.css({left:d,top:g})}c=null}};a.jqplot.BlockRenderer.prototype.draw=function(q,o,r){if(this.plugins.pointLabels){this.plugins.pointLabels.show=false}var f,c,l,o,p,k,n,g,e,m;var b=(r!=undefined)?r:{};var j=new a.jqplot.ColorGenerator(this.seriesColors);this.canvas._elem.empty();for(f=0;f")}k=a.extend(true,{},this.css,k);c=a('
');this.canvas._elem.append(c);this.escapeHtml?c.text(p):c.html(p);delete k.position;delete k.marginRight;delete k.marginLeft;if(!k.background&&!k.backgroundColor&&!k.backgroundImage){k.background=j.next()}c.css(k);n=c.outerWidth();g=c.outerHeight();e=o[0]-n/2+"px";m=o[1]-g/2+"px";c.css({left:e,top:m});c=null}};a.jqplot.BlockCanvas=function(){a.jqplot.ElemContainer.call(this);this._ctx};a.jqplot.BlockCanvas.prototype=new a.jqplot.ElemContainer();a.jqplot.BlockCanvas.prototype.constructor=a.jqplot.BlockCanvas;a.jqplot.BlockCanvas.prototype.createElement=function(i,e,c){this._offsets=i;var b="jqplot-blockCanvas";if(e!=undefined){b=e}var g;if(this._elem){g=this._elem.get(0)}else{g=document.createElement("div")}if(c!=undefined){this._plotDimensions=c}var d=this._plotDimensions.width-this._offsets.left-this._offsets.right+"px";var f=this._plotDimensions.height-this._offsets.top-this._offsets.bottom+"px";this._elem=a(g);this._elem.css({position:"absolute",width:d,height:f,left:this._offsets.left,top:this._offsets.top});this._elem.addClass(b);return this._elem};a.jqplot.BlockCanvas.prototype.setContext=function(){this._ctx={canvas:{width:0,height:0},clearRect:function(){return null}};return this._ctx}})(jQuery); \ No newline at end of file diff --git a/helpdesk/static/helpdesk/jquery.jqplot/plugins/jqplot.bubbleRenderer.min.js b/helpdesk/static/helpdesk/jquery.jqplot/plugins/jqplot.bubbleRenderer.min.js index 3cbecb6b..dc0c1ef0 100644 --- a/helpdesk/static/helpdesk/jquery.jqplot/plugins/jqplot.bubbleRenderer.min.js +++ b/helpdesk/static/helpdesk/jquery.jqplot/plugins/jqplot.bubbleRenderer.min.js @@ -1,34 +1,3 @@ -/** - * Copyright (c) 2009 - 2010 Chris Leonello - * jqPlot is currently available for use in all personal or commercial projects - * under both the MIT (http://www.opensource.org/licenses/mit-license.php) and GPL - * version 2.0 (http://www.gnu.org/licenses/gpl-2.0.html) licenses. This means that you can - * choose the license that best suits your project and use it accordingly. - * - * Although not required, the author would appreciate an email letting him - * know of any substantial use of jqPlot. You can reach the author at: - * chris at jqplot or see http://www.jqplot.com/info.php . - * - * If you are feeling kind and generous, consider supporting the project by - * making a donation at: http://www.jqplot.com/donate.php . - * - * jqPlot includes date instance methods and printf/sprintf functions by other authors: - * - * Date instance methods contained in jqplot.dateMethods.js: - * - * author Ken Snyder (ken d snyder at gmail dot com) - * date 2008-09-10 - * version 2.0.2 (http://kendsnyder.com/sandbox/date/) - * license Creative Commons Attribution License 3.0 (http://creativecommons.org/licenses/by/3.0/) - * - * JavaScript printf/sprintf functions contained in jqplot.sprintf.js: - * - * version 2007.04.27 - * author Ash Searle - * http://hexmen.com/blog/2007/03/printf-sprintf/ - * http://hexmen.com/js/sprintf.js - * The author (Ash Searle) has placed this code in the public domain: - * "This code is unrestricted: you are free to use it however you like." - * - */ -(function(f){var d=function(m){return Math.max.apply(Math,m)};var j=function(m){return Math.min.apply(Math,m)};f.jqplot.BubbleRenderer=function(){f.jqplot.LineRenderer.call(this)};f.jqplot.BubbleRenderer.prototype=new f.jqplot.LineRenderer();f.jqplot.BubbleRenderer.prototype.constructor=f.jqplot.BubbleRenderer;f.jqplot.BubbleRenderer.prototype.init=function(v,s){this.varyBubbleColors=true;this.autoscaleBubbles=true;this.autoscaleMultiplier=1;this.autoscalePointsFactor=-0.07;this.escapeHtml=true;this.highlightMouseOver=true;this.highlightMouseDown=false;this.highlightColors=[];this.bubbleAlpha=1;this.highlightAlpha=null;this.bubbleGradients=false;this.showLabels=true;this.radii=[];this.maxRadius=0;this._highlightedPoint=null;this.labels=[];this.bubbleCanvases=[];if(v.highlightMouseDown&&v.highlightMouseOver==null){v.highlightMouseOver=false}f.extend(true,this,v);if(this.highlightAlpha==null){this.highlightAlpha=this.bubbleAlpha;if(this.bubbleGradients){this.highlightAlpha=0.35}}this.autoscaleMultiplier=this.autoscaleMultiplier*Math.pow(this.data.length,this.autoscalePointsFactor);this._highlightedPoint=null;for(var q=0;q570)?t[p]*0.8:t[p]+0.3*(255-t[p]);t[p]=parseInt(t[p],10)}this.highlightColors.push("rgba("+t[0]+","+t[1]+","+t[2]+", "+this.highlightAlpha+")")}}this.highlightColorGenerator=new f.jqplot.ColorGenerator(this.highlightColors);var m={fill:true,isarc:true,angle:this.shadowAngle,alpha:this.shadowAlpha,closePath:true};this.renderer.shadowRenderer.init(m);this.canvas=new f.jqplot.DivCanvas();this.canvas._plotDimensions=this._plotDimensions;s.eventListenerHooks.addOnce("jqplotMouseMove",a);s.eventListenerHooks.addOnce("jqplotMouseDown",b);s.eventListenerHooks.addOnce("jqplotMouseUp",k);s.eventListenerHooks.addOnce("jqplotClick",g);s.eventListenerHooks.addOnce("jqplotRightClick",l);s.postDrawHooks.addOnce(h)};f.jqplot.BubbleRenderer.prototype.setGridData=function(w){var q=this._xaxis.series_u2p;var m=this._yaxis.series_u2p;var t=this._plotData;this.gridData=[];var s=[];this.radii=[];var v=Math.min(w._height,w._width);for(var u=0;u');if(this.escapeHtml){tel.text(v)}else{tel.html(v)}this.canvas._elem.append(tel);var G=f(tel).outerHeight();var u=f(tel).outerWidth();var A=I[1]-0.5*G;var o=I[0]-0.5*u;tel.css({top:A,left:o});this.labels[B]=f(tel)}}};f.jqplot.DivCanvas=function(){f.jqplot.ElemContainer.call(this);this._ctx};f.jqplot.DivCanvas.prototype=new f.jqplot.ElemContainer();f.jqplot.DivCanvas.prototype.constructor=f.jqplot.DivCanvas;f.jqplot.DivCanvas.prototype.createElement=function(s,p,n){this._offsets=s;var m="jqplot-DivCanvas";if(p!=undefined){m=p}var r;if(this._elem){r=this._elem.get(0)}else{r=document.createElement("div")}if(n!=undefined){this._plotDimensions=n}var o=this._plotDimensions.width-this._offsets.left-this._offsets.right+"px";var q=this._plotDimensions.height-this._offsets.top-this._offsets.bottom+"px";this._elem=f(r);this._elem.css({position:"absolute",width:o,height:q,left:this._offsets.left,top:this._offsets.top});this._elem.addClass(m);return this._elem};f.jqplot.DivCanvas.prototype.setContext=function(){this._ctx={canvas:{width:0,height:0},clearRect:function(){return null}};return this._ctx};f.jqplot.BubbleCanvas=function(){f.jqplot.ElemContainer.call(this);this._ctx};f.jqplot.BubbleCanvas.prototype=new f.jqplot.ElemContainer();f.jqplot.BubbleCanvas.prototype.constructor=f.jqplot.BubbleCanvas;f.jqplot.BubbleCanvas.prototype.createElement=function(n,u,s){var m="jqplot-bubble-point";var q;if(this._elem){q=this._elem.get(0)}else{q=document.createElement("canvas")}q.width=(s!=null)?2*s:q.width;q.height=(s!=null)?2*s:q.height;this._elem=f(q);var o=(n!=null&&s!=null)?n-s:this._elem.css("left");var p=(u!=null&&s!=null)?u-s:this._elem.css("top");this._elem.css({position:"absolute",left:o,top:p});this._elem.addClass(m);if(f.browser.msie){window.G_vmlCanvasManager.init_(document);q=window.G_vmlCanvasManager.initElement(q)}return this._elem};f.jqplot.BubbleCanvas.prototype.draw=function(m,s,v,p){var D=this._ctx;var B=D.canvas.width/2;var z=D.canvas.height/2;D.save();if(v&&!f.browser.msie){m=m*1.04;var o=f.jqplot.getColorComponents(s);var u="rgba("+Math.round(o[0]+0.8*(255-o[0]))+", "+Math.round(o[1]+0.8*(255-o[1]))+", "+Math.round(o[2]+0.8*(255-o[2]))+", "+o[3]+")";var t="rgba("+o[0]+", "+o[1]+", "+o[2]+", 0)";var C=0.35*m;var A=B-Math.cos(p)*0.33*m;var n=z-Math.sin(p)*0.33*m;var w=D.createRadialGradient(A,n,C,B,z,m);w.addColorStop(0,u);w.addColorStop(0.93,s);w.addColorStop(0.96,t);w.addColorStop(1,t);D.fillStyle=w;D.fillRect(0,0,D.canvas.width,D.canvas.height)}else{D.fillStyle=s;D.strokeStyle=s;D.lineWidth=1;D.beginPath();var q=2*Math.PI;D.arc(B,z,m,0,q,0);D.closePath();D.fill()}D.restore()};f.jqplot.BubbleCanvas.prototype.setContext=function(){this._ctx=this._elem.get(0).getContext("2d");return this._ctx};f.jqplot.BubbleAxisRenderer=function(){f.jqplot.LinearAxisRenderer.call(this)};f.jqplot.BubbleAxisRenderer.prototype=new f.jqplot.LinearAxisRenderer();f.jqplot.BubbleAxisRenderer.prototype.constructor=f.jqplot.BubbleAxisRenderer;f.jqplot.BubbleAxisRenderer.prototype.init=function(z){f.extend(true,this,z);var x=this._dataBounds;var t=minpidx=maxsids=maxpidx=maxr=minr=minMaxRadius=maxMaxRadius=maxMult=minMult=0;for(var o=0;ox.max||x.max==null){x.max=u[n][0];maxsidx=o;maxpidx=n;maxr=u[n][2];maxMaxRadius=y.maxRadius;maxMult=y.autoscaleMultiplier}}else{if(u[n][1]x.max||x.max==null){x.max=u[n][1];maxsidx=o;maxpidx=n;maxr=u[n][2];maxMaxRadius=y.maxRadius;maxMult=y.autoscaleMultiplier}}}}var r=minr/minMaxRadius;var m=maxr/maxMaxRadius;var w=x.max-x.min;var q=Math.min(this._plotDimensions.width,this._plotDimensions.height);var v=r*minMult/3*w;var p=m*maxMult/3*w;x.max+=p;x.min-=v};function e(p,v,q){p.plugins.bubbleRenderer.highlightLabelCanvas.empty();var z=p.series[v];var n=p.plugins.bubbleRenderer.highlightCanvas;var w=n._ctx;w.clearRect(0,0,w.canvas.width,w.canvas.height);z._highlightedPoint=q;p.plugins.bubbleRenderer.highlightedSeriesIndex=v;var o=z.highlightColorGenerator.get(q);var u=z.gridData[q][0],t=z.gridData[q][1],m=z.gridData[q][2];w.save();w.fillStyle=o;w.strokeStyle=o;w.lineWidth=1;w.beginPath();w.arc(u,t,m,0,2*Math.PI,0);w.closePath();w.fill();w.restore();if(z.labels[q]){p.plugins.bubbleRenderer.highlightLabel=z.labels[q].clone();p.plugins.bubbleRenderer.highlightLabel.appendTo(p.plugins.bubbleRenderer.highlightLabelCanvas);p.plugins.bubbleRenderer.highlightLabel.addClass("jqplot-bubble-label-highlight")}}function i(p){var m=p.plugins.bubbleRenderer.highlightCanvas;var o=p.plugins.bubbleRenderer.highlightedSeriesIndex;p.plugins.bubbleRenderer.highlightLabelCanvas.empty();m._ctx.clearRect(0,0,m._ctx.canvas.width,m._ctx.canvas.height);for(var n=0;n');var q=this._gridPadding.top;var p=this._gridPadding.left;var n=this._plotDimensions.width-this._gridPadding.left-this._gridPadding.right;var m=this._plotDimensions.height-this._gridPadding.top-this._gridPadding.bottom;this.plugins.bubbleRenderer.highlightLabelCanvas.css({top:q,left:p,width:n+"px",height:m+"px"});this.eventCanvas._elem.before(this.plugins.bubbleRenderer.highlightCanvas.createElement(this._gridPadding,"jqplot-bubbleRenderer-highlight-canvas",this._plotDimensions));this.eventCanvas._elem.before(this.plugins.bubbleRenderer.highlightLabelCanvas);var o=this.plugins.bubbleRenderer.highlightCanvas.setContext()}function c(q,p,n){n=n||{};n.axesDefaults=n.axesDefaults||{};n.seriesDefaults=n.seriesDefaults||{};var m=false;if(n.seriesDefaults.renderer==f.jqplot.BubbleRenderer){m=true}else{if(n.series){for(var o=0;o570)?u[q]*0.8:u[q]+0.3*(255-u[q]);u[q]=parseInt(u[q],10)}this.highlightColors.push("rgba("+u[0]+","+u[1]+","+u[2]+", "+this.highlightAlpha+")")}}this.highlightColorGenerator=new f.jqplot.ColorGenerator(this.highlightColors);var m={fill:true,isarc:true,angle:this.shadowAngle,alpha:this.shadowAlpha,closePath:true};this.renderer.shadowRenderer.init(m);this.canvas=new f.jqplot.DivCanvas();this.canvas._plotDimensions=this._plotDimensions;t.eventListenerHooks.addOnce("jqplotMouseMove",a);t.eventListenerHooks.addOnce("jqplotMouseDown",b);t.eventListenerHooks.addOnce("jqplotMouseUp",k);t.eventListenerHooks.addOnce("jqplotClick",g);t.eventListenerHooks.addOnce("jqplotRightClick",l);t.postDrawHooks.addOnce(h)};f.jqplot.BubbleRenderer.prototype.setGridData=function(w){var q=this._xaxis.series_u2p;var m=this._yaxis.series_u2p;var t=this._plotData;this.gridData=[];var s=[];this.radii=[];var v=Math.min(w._height,w._width);for(var u=0;u');if(this.escapeHtml){p.text(z)}else{p.html(z)}this.canvas._elem.append(p);var H=f(p).outerHeight();var v=f(p).outerWidth();var B=J[1]-0.5*H;var o=J[0]-0.5*v;p.css({top:B,left:o});this.labels[C]=f(p)}}};f.jqplot.DivCanvas=function(){f.jqplot.ElemContainer.call(this);this._ctx};f.jqplot.DivCanvas.prototype=new f.jqplot.ElemContainer();f.jqplot.DivCanvas.prototype.constructor=f.jqplot.DivCanvas;f.jqplot.DivCanvas.prototype.createElement=function(s,p,n){this._offsets=s;var m="jqplot-DivCanvas";if(p!=undefined){m=p}var r;if(this._elem){r=this._elem.get(0)}else{r=document.createElement("div")}if(n!=undefined){this._plotDimensions=n}var o=this._plotDimensions.width-this._offsets.left-this._offsets.right+"px";var q=this._plotDimensions.height-this._offsets.top-this._offsets.bottom+"px";this._elem=f(r);this._elem.css({position:"absolute",width:o,height:q,left:this._offsets.left,top:this._offsets.top});this._elem.addClass(m);return this._elem};f.jqplot.DivCanvas.prototype.setContext=function(){this._ctx={canvas:{width:0,height:0},clearRect:function(){return null}};return this._ctx};f.jqplot.BubbleCanvas=function(){f.jqplot.ElemContainer.call(this);this._ctx};f.jqplot.BubbleCanvas.prototype=new f.jqplot.ElemContainer();f.jqplot.BubbleCanvas.prototype.constructor=f.jqplot.BubbleCanvas;f.jqplot.BubbleCanvas.prototype.createElement=function(n,u,s){var m="jqplot-bubble-point";var q;if(this._elem){q=this._elem.get(0)}else{q=document.createElement("canvas")}q.width=(s!=null)?2*s:q.width;q.height=(s!=null)?2*s:q.height;this._elem=f(q);var o=(n!=null&&s!=null)?n-s:this._elem.css("left");var p=(u!=null&&s!=null)?u-s:this._elem.css("top");this._elem.css({position:"absolute",left:o,top:p});this._elem.addClass(m);if(f.jqplot.use_excanvas){window.G_vmlCanvasManager.init_(document);q=window.G_vmlCanvasManager.initElement(q)}return this._elem};f.jqplot.BubbleCanvas.prototype.draw=function(m,s,v,p){var D=this._ctx;var B=D.canvas.width/2;var z=D.canvas.height/2;D.save();if(v&&!f.jqplot.use_excanvas){m=m*1.04;var o=f.jqplot.getColorComponents(s);var u="rgba("+Math.round(o[0]+0.8*(255-o[0]))+", "+Math.round(o[1]+0.8*(255-o[1]))+", "+Math.round(o[2]+0.8*(255-o[2]))+", "+o[3]+")";var t="rgba("+o[0]+", "+o[1]+", "+o[2]+", 0)";var C=0.35*m;var A=B-Math.cos(p)*0.33*m;var n=z-Math.sin(p)*0.33*m;var w=D.createRadialGradient(A,n,C,B,z,m);w.addColorStop(0,u);w.addColorStop(0.93,s);w.addColorStop(0.96,t);w.addColorStop(1,t);D.fillStyle=w;D.fillRect(0,0,D.canvas.width,D.canvas.height)}else{D.fillStyle=s;D.strokeStyle=s;D.lineWidth=1;D.beginPath();var q=2*Math.PI;D.arc(B,z,m,0,q,0);D.closePath();D.fill()}D.restore()};f.jqplot.BubbleCanvas.prototype.setContext=function(){this._ctx=this._elem.get(0).getContext("2d");return this._ctx};f.jqplot.BubbleAxisRenderer=function(){f.jqplot.LinearAxisRenderer.call(this)};f.jqplot.BubbleAxisRenderer.prototype=new f.jqplot.LinearAxisRenderer();f.jqplot.BubbleAxisRenderer.prototype.constructor=f.jqplot.BubbleAxisRenderer;f.jqplot.BubbleAxisRenderer.prototype.init=function(n){f.extend(true,this,n);var I=this._dataBounds;var H=0,v=0,m=0,y=0,q=0,r=0,D=0,t=0,F=0,z=0;for(var E=0;EI.max||I.max==null){I.max=G[B][0];m=E;y=B;q=G[B][2];t=x.maxRadius;F=x.autoscaleMultiplier}}else{if(G[B][1]I.max||I.max==null){I.max=G[B][1];m=E;y=B;q=G[B][2];t=x.maxRadius;F=x.autoscaleMultiplier}}}}var o=r/D;var w=q/t;var C=I.max-I.min;var A=Math.min(this._plotDimensions.width,this._plotDimensions.height);var p=o*z/3*C;var u=w*F/3*C;I.max+=u;I.min-=p};function e(p,v,q){p.plugins.bubbleRenderer.highlightLabelCanvas.empty();var z=p.series[v];var n=p.plugins.bubbleRenderer.highlightCanvas;var w=n._ctx;w.clearRect(0,0,w.canvas.width,w.canvas.height);z._highlightedPoint=q;p.plugins.bubbleRenderer.highlightedSeriesIndex=v;var o=z.highlightColorGenerator.get(q);var u=z.gridData[q][0],t=z.gridData[q][1],m=z.gridData[q][2];w.save();w.fillStyle=o;w.strokeStyle=o;w.lineWidth=1;w.beginPath();w.arc(u,t,m,0,2*Math.PI,0);w.closePath();w.fill();w.restore();if(z.labels[q]){p.plugins.bubbleRenderer.highlightLabel=z.labels[q].clone();p.plugins.bubbleRenderer.highlightLabel.appendTo(p.plugins.bubbleRenderer.highlightLabelCanvas);p.plugins.bubbleRenderer.highlightLabel.addClass("jqplot-bubble-label-highlight")}}function i(p){var m=p.plugins.bubbleRenderer.highlightCanvas;var o=p.plugins.bubbleRenderer.highlightedSeriesIndex;p.plugins.bubbleRenderer.highlightLabelCanvas.empty();m._ctx.clearRect(0,0,m._ctx.canvas.width,m._ctx.canvas.height);for(var n=0;n');var q=this._gridPadding.top;var p=this._gridPadding.left;var n=this._plotDimensions.width-this._gridPadding.left-this._gridPadding.right;var m=this._plotDimensions.height-this._gridPadding.top-this._gridPadding.bottom;this.plugins.bubbleRenderer.highlightLabelCanvas.css({top:q,left:p,width:n+"px",height:m+"px"});this.eventCanvas._elem.before(this.plugins.bubbleRenderer.highlightCanvas.createElement(this._gridPadding,"jqplot-bubbleRenderer-highlight-canvas",this._plotDimensions,this));this.eventCanvas._elem.before(this.plugins.bubbleRenderer.highlightLabelCanvas);var o=this.plugins.bubbleRenderer.highlightCanvas.setContext()}function c(q,p,n){n=n||{};n.axesDefaults=n.axesDefaults||{};n.seriesDefaults=n.seriesDefaults||{};var m=false;if(n.seriesDefaults.renderer==f.jqplot.BubbleRenderer){m=true}else{if(n.series){for(var o=0;ot){y=w;w=t;t=y}if(v>s){y=v;v=s;s=y}var u=(o>=w&&o<=t&&n>=v&&n<=s);return u}function a(z,w,r,A,x){var y=x.plugins.canvasOverlay;var v=y.objects;var s=v.length;var u,o=false;var q;for(var t=0;t-1){return n/this.pt2px}else{if(b.indexOf("pt")>-1){return n}else{if(b.indexOf("em")>-1){return n*12}else{if(b.indexOf("%")>-1){return n*12/100}else{return n/this.pt2px}}}}};a.jqplot.CanvasTextRenderer.prototype.fontWeight2Float=function(b){if(Number(b)){return b/400}else{switch(b){case"normal":return 1;break;case"bold":return 1.75;break;case"bolder":return 2.25;break;case"lighter":return 0.75;break;default:return 1;break}}};a.jqplot.CanvasTextRenderer.prototype.getText=function(){return this.text};a.jqplot.CanvasTextRenderer.prototype.setText=function(c,b){this.text=c;this.setWidth(b);return this};a.jqplot.CanvasTextRenderer.prototype.getWidth=function(b){return this.width};a.jqplot.CanvasTextRenderer.prototype.setWidth=function(c,b){if(!b){this.width=this.measure(c,this.text)}else{this.width=b}return this};a.jqplot.CanvasTextRenderer.prototype.getHeight=function(b){return this.height};a.jqplot.CanvasTextRenderer.prototype.setHeight=function(b){if(!b){this.height=this.normalizedFontSize*this.pt2px}else{this.height=b}return this};a.jqplot.CanvasTextRenderer.prototype.letter=function(b){return this.letters[b]};a.jqplot.CanvasTextRenderer.prototype.ascent=function(){return this.normalizedFontSize};a.jqplot.CanvasTextRenderer.prototype.descent=function(){return 7*this.normalizedFontSize/25};a.jqplot.CanvasTextRenderer.prototype.measure=function(d,f){var e=0;var b=f.length;for(i=0;i30)?2:2+(30-this.normalizedFontSize)/20;t.lineWidth=u*k*this.fontWeight2Float(this.fontWeight);for(var g=0;g":{width:24,points:[[4,18],[20,9],[4,0]]},"?":{width:18,points:[[3,16],[3,17],[4,19],[5,20],[7,21],[11,21],[13,20],[14,19],[15,17],[15,15],[14,13],[13,12],[9,10],[9,7],[-1,-1],[9,2],[8,1],[9,0],[10,1],[9,2]]},"@":{width:27,points:[[18,13],[17,15],[15,16],[12,16],[10,15],[9,14],[8,11],[8,8],[9,6],[11,5],[14,5],[16,6],[17,8],[-1,-1],[12,16],[10,14],[9,11],[9,8],[10,6],[11,5],[-1,-1],[18,16],[17,8],[17,6],[19,5],[21,5],[23,7],[24,10],[24,12],[23,15],[22,17],[20,19],[18,20],[15,21],[12,21],[9,20],[7,19],[5,17],[4,15],[3,12],[3,9],[4,6],[5,4],[7,2],[9,1],[12,0],[15,0],[18,1],[20,2],[21,3],[-1,-1],[19,16],[18,8],[18,6],[19,5]]},A:{width:18,points:[[9,21],[1,0],[-1,-1],[9,21],[17,0],[-1,-1],[4,7],[14,7]]},B:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[-1,-1],[4,11],[13,11],[16,10],[17,9],[18,7],[18,4],[17,2],[16,1],[13,0],[4,0]]},C:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5]]},D:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[11,21],[14,20],[16,18],[17,16],[18,13],[18,8],[17,5],[16,3],[14,1],[11,0],[4,0]]},E:{width:19,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11],[-1,-1],[4,0],[17,0]]},F:{width:18,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11]]},G:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[18,8],[-1,-1],[13,8],[18,8]]},H:{width:22,points:[[4,21],[4,0],[-1,-1],[18,21],[18,0],[-1,-1],[4,11],[18,11]]},I:{width:8,points:[[4,21],[4,0]]},J:{width:16,points:[[12,21],[12,5],[11,2],[10,1],[8,0],[6,0],[4,1],[3,2],[2,5],[2,7]]},K:{width:21,points:[[4,21],[4,0],[-1,-1],[18,21],[4,7],[-1,-1],[9,12],[18,0]]},L:{width:17,points:[[4,21],[4,0],[-1,-1],[4,0],[16,0]]},M:{width:24,points:[[4,21],[4,0],[-1,-1],[4,21],[12,0],[-1,-1],[20,21],[12,0],[-1,-1],[20,21],[20,0]]},N:{width:22,points:[[4,21],[4,0],[-1,-1],[4,21],[18,0],[-1,-1],[18,21],[18,0]]},O:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21]]},P:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,14],[17,12],[16,11],[13,10],[4,10]]},Q:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21],[-1,-1],[12,4],[18,-2]]},R:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[4,11],[-1,-1],[11,11],[18,0]]},S:{width:20,points:[[17,18],[15,20],[12,21],[8,21],[5,20],[3,18],[3,16],[4,14],[5,13],[7,12],[13,10],[15,9],[16,8],[17,6],[17,3],[15,1],[12,0],[8,0],[5,1],[3,3]]},T:{width:16,points:[[8,21],[8,0],[-1,-1],[1,21],[15,21]]},U:{width:22,points:[[4,21],[4,6],[5,3],[7,1],[10,0],[12,0],[15,1],[17,3],[18,6],[18,21]]},V:{width:18,points:[[1,21],[9,0],[-1,-1],[17,21],[9,0]]},W:{width:24,points:[[2,21],[7,0],[-1,-1],[12,21],[7,0],[-1,-1],[12,21],[17,0],[-1,-1],[22,21],[17,0]]},X:{width:20,points:[[3,21],[17,0],[-1,-1],[17,21],[3,0]]},Y:{width:18,points:[[1,21],[9,11],[9,0],[-1,-1],[17,21],[9,11]]},Z:{width:20,points:[[17,21],[3,0],[-1,-1],[3,21],[17,21],[-1,-1],[3,0],[17,0]]},"[":{width:14,points:[[4,25],[4,-7],[-1,-1],[5,25],[5,-7],[-1,-1],[4,25],[11,25],[-1,-1],[4,-7],[11,-7]]},"\\":{width:14,points:[[0,21],[14,-3]]},"]":{width:14,points:[[9,25],[9,-7],[-1,-1],[10,25],[10,-7],[-1,-1],[3,25],[10,25],[-1,-1],[3,-7],[10,-7]]},"^":{width:16,points:[[6,15],[8,18],[10,15],[-1,-1],[3,12],[8,17],[13,12],[-1,-1],[8,17],[8,0]]},_:{width:16,points:[[0,-2],[16,-2]]},"`":{width:10,points:[[6,21],[5,20],[4,18],[4,16],[5,15],[6,16],[5,17]]},a:{width:19,points:[[15,14],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},b:{width:19,points:[[4,21],[4,0],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},c:{width:18,points:[[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},d:{width:19,points:[[15,21],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},e:{width:18,points:[[3,8],[15,8],[15,10],[14,12],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},f:{width:12,points:[[10,21],[8,21],[6,20],[5,17],[5,0],[-1,-1],[2,14],[9,14]]},g:{width:19,points:[[15,14],[15,-2],[14,-5],[13,-6],[11,-7],[8,-7],[6,-6],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},h:{width:19,points:[[4,21],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},i:{width:8,points:[[3,21],[4,20],[5,21],[4,22],[3,21],[-1,-1],[4,14],[4,0]]},j:{width:10,points:[[5,21],[6,20],[7,21],[6,22],[5,21],[-1,-1],[6,14],[6,-3],[5,-6],[3,-7],[1,-7]]},k:{width:17,points:[[4,21],[4,0],[-1,-1],[14,14],[4,4],[-1,-1],[8,8],[15,0]]},l:{width:8,points:[[4,21],[4,0]]},m:{width:30,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0],[-1,-1],[15,10],[18,13],[20,14],[23,14],[25,13],[26,10],[26,0]]},n:{width:19,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},o:{width:19,points:[[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3],[16,6],[16,8],[15,11],[13,13],[11,14],[8,14]]},p:{width:19,points:[[4,14],[4,-7],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},q:{width:19,points:[[15,14],[15,-7],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},r:{width:13,points:[[4,14],[4,0],[-1,-1],[4,8],[5,11],[7,13],[9,14],[12,14]]},s:{width:17,points:[[14,11],[13,13],[10,14],[7,14],[4,13],[3,11],[4,9],[6,8],[11,7],[13,6],[14,4],[14,3],[13,1],[10,0],[7,0],[4,1],[3,3]]},t:{width:12,points:[[5,21],[5,4],[6,1],[8,0],[10,0],[-1,-1],[2,14],[9,14]]},u:{width:19,points:[[4,14],[4,4],[5,1],[7,0],[10,0],[12,1],[15,4],[-1,-1],[15,14],[15,0]]},v:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0]]},w:{width:22,points:[[3,14],[7,0],[-1,-1],[11,14],[7,0],[-1,-1],[11,14],[15,0],[-1,-1],[19,14],[15,0]]},x:{width:17,points:[[3,14],[14,0],[-1,-1],[14,14],[3,0]]},y:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0],[6,-4],[4,-6],[2,-7],[1,-7]]},z:{width:17,points:[[14,14],[3,0],[-1,-1],[3,14],[14,14],[-1,-1],[3,0],[14,0]]},"{":{width:14,points:[[9,25],[7,24],[6,23],[5,21],[5,19],[6,17],[7,16],[8,14],[8,12],[6,10],[-1,-1],[7,24],[6,22],[6,20],[7,18],[8,17],[9,15],[9,13],[8,11],[4,9],[8,7],[9,5],[9,3],[8,1],[7,0],[6,-2],[6,-4],[7,-6],[-1,-1],[6,8],[8,6],[8,4],[7,2],[6,1],[5,-1],[5,-3],[6,-5],[7,-6],[9,-7]]},"|":{width:8,points:[[4,25],[4,-7]]},"}":{width:14,points:[[5,25],[7,24],[8,23],[9,21],[9,19],[8,17],[7,16],[6,14],[6,12],[8,10],[-1,-1],[7,24],[8,22],[8,20],[7,18],[6,17],[5,15],[5,13],[6,11],[10,9],[6,7],[5,5],[5,3],[6,1],[7,0],[8,-2],[8,-4],[7,-6],[-1,-1],[8,8],[6,6],[6,4],[7,2],[8,1],[9,-1],[9,-3],[8,-5],[7,-6],[5,-7]]},"~":{width:24,points:[[3,6],[3,8],[4,11],[6,12],[8,12],[10,11],[14,8],[16,7],[18,7],[20,8],[21,10],[-1,-1],[3,8],[4,10],[6,11],[8,11],[10,10],[14,7],[16,6],[18,6],[20,7],[21,10],[21,12]]}};a.jqplot.CanvasFontRenderer=function(b){b=b||{};if(!b.pt2px){b.pt2px=1.5}a.jqplot.CanvasTextRenderer.call(this,b)};a.jqplot.CanvasFontRenderer.prototype=new a.jqplot.CanvasTextRenderer({});a.jqplot.CanvasFontRenderer.prototype.constructor=a.jqplot.CanvasFontRenderer;a.jqplot.CanvasFontRenderer.prototype.measure=function(c,e){var d=this.fontSize+" "+this.fontFamily;c.save();c.font=d;var b=c.measureText(e).width;c.restore();return b};a.jqplot.CanvasFontRenderer.prototype.draw=function(e,g){var c=0;var h=this.height*0.72;e.save();var d,b;if((-Math.PI/2<=this.angle&&this.angle<=0)||(Math.PI*3/2<=this.angle&&this.angle<=Math.PI*2)){d=0;b=-Math.sin(this.angle)*this.width}else{if((0-1){return c/this.pt2px}else{if(b.indexOf("pt")>-1){return c}else{if(b.indexOf("em")>-1){return c*12}else{if(b.indexOf("%")>-1){return c*12/100}else{return c/this.pt2px}}}}};a.jqplot.CanvasTextRenderer.prototype.fontWeight2Float=function(b){if(Number(b)){return b/400}else{switch(b){case"normal":return 1;break;case"bold":return 1.75;break;case"bolder":return 2.25;break;case"lighter":return 0.75;break;default:return 1;break}}};a.jqplot.CanvasTextRenderer.prototype.getText=function(){return this.text};a.jqplot.CanvasTextRenderer.prototype.setText=function(c,b){this.text=c;this.setWidth(b);return this};a.jqplot.CanvasTextRenderer.prototype.getWidth=function(b){return this.width};a.jqplot.CanvasTextRenderer.prototype.setWidth=function(c,b){if(!b){this.width=this.measure(c,this.text)}else{this.width=b}return this};a.jqplot.CanvasTextRenderer.prototype.getHeight=function(b){return this.height};a.jqplot.CanvasTextRenderer.prototype.setHeight=function(b){if(!b){this.height=this.normalizedFontSize*this.pt2px}else{this.height=b}return this};a.jqplot.CanvasTextRenderer.prototype.letter=function(b){return this.letters[b]};a.jqplot.CanvasTextRenderer.prototype.ascent=function(){return this.normalizedFontSize};a.jqplot.CanvasTextRenderer.prototype.descent=function(){return 7*this.normalizedFontSize/25};a.jqplot.CanvasTextRenderer.prototype.measure=function(d,g){var f=0;var b=g.length;for(var e=0;e30)?2:2+(30-this.normalizedFontSize)/20;s.lineWidth=t*k*this.fontWeight2Float(this.fontWeight);for(var g=0;g":{width:24,points:[[4,18],[20,9],[4,0]]},"?":{width:18,points:[[3,16],[3,17],[4,19],[5,20],[7,21],[11,21],[13,20],[14,19],[15,17],[15,15],[14,13],[13,12],[9,10],[9,7],[-1,-1],[9,2],[8,1],[9,0],[10,1],[9,2]]},"@":{width:27,points:[[18,13],[17,15],[15,16],[12,16],[10,15],[9,14],[8,11],[8,8],[9,6],[11,5],[14,5],[16,6],[17,8],[-1,-1],[12,16],[10,14],[9,11],[9,8],[10,6],[11,5],[-1,-1],[18,16],[17,8],[17,6],[19,5],[21,5],[23,7],[24,10],[24,12],[23,15],[22,17],[20,19],[18,20],[15,21],[12,21],[9,20],[7,19],[5,17],[4,15],[3,12],[3,9],[4,6],[5,4],[7,2],[9,1],[12,0],[15,0],[18,1],[20,2],[21,3],[-1,-1],[19,16],[18,8],[18,6],[19,5]]},A:{width:18,points:[[9,21],[1,0],[-1,-1],[9,21],[17,0],[-1,-1],[4,7],[14,7]]},B:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[-1,-1],[4,11],[13,11],[16,10],[17,9],[18,7],[18,4],[17,2],[16,1],[13,0],[4,0]]},C:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5]]},D:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[11,21],[14,20],[16,18],[17,16],[18,13],[18,8],[17,5],[16,3],[14,1],[11,0],[4,0]]},E:{width:19,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11],[-1,-1],[4,0],[17,0]]},F:{width:18,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11]]},G:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[18,8],[-1,-1],[13,8],[18,8]]},H:{width:22,points:[[4,21],[4,0],[-1,-1],[18,21],[18,0],[-1,-1],[4,11],[18,11]]},I:{width:8,points:[[4,21],[4,0]]},J:{width:16,points:[[12,21],[12,5],[11,2],[10,1],[8,0],[6,0],[4,1],[3,2],[2,5],[2,7]]},K:{width:21,points:[[4,21],[4,0],[-1,-1],[18,21],[4,7],[-1,-1],[9,12],[18,0]]},L:{width:17,points:[[4,21],[4,0],[-1,-1],[4,0],[16,0]]},M:{width:24,points:[[4,21],[4,0],[-1,-1],[4,21],[12,0],[-1,-1],[20,21],[12,0],[-1,-1],[20,21],[20,0]]},N:{width:22,points:[[4,21],[4,0],[-1,-1],[4,21],[18,0],[-1,-1],[18,21],[18,0]]},O:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21]]},P:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,14],[17,12],[16,11],[13,10],[4,10]]},Q:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21],[-1,-1],[12,4],[18,-2]]},R:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[4,11],[-1,-1],[11,11],[18,0]]},S:{width:20,points:[[17,18],[15,20],[12,21],[8,21],[5,20],[3,18],[3,16],[4,14],[5,13],[7,12],[13,10],[15,9],[16,8],[17,6],[17,3],[15,1],[12,0],[8,0],[5,1],[3,3]]},T:{width:16,points:[[8,21],[8,0],[-1,-1],[1,21],[15,21]]},U:{width:22,points:[[4,21],[4,6],[5,3],[7,1],[10,0],[12,0],[15,1],[17,3],[18,6],[18,21]]},V:{width:18,points:[[1,21],[9,0],[-1,-1],[17,21],[9,0]]},W:{width:24,points:[[2,21],[7,0],[-1,-1],[12,21],[7,0],[-1,-1],[12,21],[17,0],[-1,-1],[22,21],[17,0]]},X:{width:20,points:[[3,21],[17,0],[-1,-1],[17,21],[3,0]]},Y:{width:18,points:[[1,21],[9,11],[9,0],[-1,-1],[17,21],[9,11]]},Z:{width:20,points:[[17,21],[3,0],[-1,-1],[3,21],[17,21],[-1,-1],[3,0],[17,0]]},"[":{width:14,points:[[4,25],[4,-7],[-1,-1],[5,25],[5,-7],[-1,-1],[4,25],[11,25],[-1,-1],[4,-7],[11,-7]]},"\\":{width:14,points:[[0,21],[14,-3]]},"]":{width:14,points:[[9,25],[9,-7],[-1,-1],[10,25],[10,-7],[-1,-1],[3,25],[10,25],[-1,-1],[3,-7],[10,-7]]},"^":{width:16,points:[[6,15],[8,18],[10,15],[-1,-1],[3,12],[8,17],[13,12],[-1,-1],[8,17],[8,0]]},_:{width:16,points:[[0,-2],[16,-2]]},"`":{width:10,points:[[6,21],[5,20],[4,18],[4,16],[5,15],[6,16],[5,17]]},a:{width:19,points:[[15,14],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},b:{width:19,points:[[4,21],[4,0],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},c:{width:18,points:[[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},d:{width:19,points:[[15,21],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},e:{width:18,points:[[3,8],[15,8],[15,10],[14,12],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},f:{width:12,points:[[10,21],[8,21],[6,20],[5,17],[5,0],[-1,-1],[2,14],[9,14]]},g:{width:19,points:[[15,14],[15,-2],[14,-5],[13,-6],[11,-7],[8,-7],[6,-6],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},h:{width:19,points:[[4,21],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},i:{width:8,points:[[3,21],[4,20],[5,21],[4,22],[3,21],[-1,-1],[4,14],[4,0]]},j:{width:10,points:[[5,21],[6,20],[7,21],[6,22],[5,21],[-1,-1],[6,14],[6,-3],[5,-6],[3,-7],[1,-7]]},k:{width:17,points:[[4,21],[4,0],[-1,-1],[14,14],[4,4],[-1,-1],[8,8],[15,0]]},l:{width:8,points:[[4,21],[4,0]]},m:{width:30,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0],[-1,-1],[15,10],[18,13],[20,14],[23,14],[25,13],[26,10],[26,0]]},n:{width:19,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},o:{width:19,points:[[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3],[16,6],[16,8],[15,11],[13,13],[11,14],[8,14]]},p:{width:19,points:[[4,14],[4,-7],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},q:{width:19,points:[[15,14],[15,-7],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},r:{width:13,points:[[4,14],[4,0],[-1,-1],[4,8],[5,11],[7,13],[9,14],[12,14]]},s:{width:17,points:[[14,11],[13,13],[10,14],[7,14],[4,13],[3,11],[4,9],[6,8],[11,7],[13,6],[14,4],[14,3],[13,1],[10,0],[7,0],[4,1],[3,3]]},t:{width:12,points:[[5,21],[5,4],[6,1],[8,0],[10,0],[-1,-1],[2,14],[9,14]]},u:{width:19,points:[[4,14],[4,4],[5,1],[7,0],[10,0],[12,1],[15,4],[-1,-1],[15,14],[15,0]]},v:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0]]},w:{width:22,points:[[3,14],[7,0],[-1,-1],[11,14],[7,0],[-1,-1],[11,14],[15,0],[-1,-1],[19,14],[15,0]]},x:{width:17,points:[[3,14],[14,0],[-1,-1],[14,14],[3,0]]},y:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0],[6,-4],[4,-6],[2,-7],[1,-7]]},z:{width:17,points:[[14,14],[3,0],[-1,-1],[3,14],[14,14],[-1,-1],[3,0],[14,0]]},"{":{width:14,points:[[9,25],[7,24],[6,23],[5,21],[5,19],[6,17],[7,16],[8,14],[8,12],[6,10],[-1,-1],[7,24],[6,22],[6,20],[7,18],[8,17],[9,15],[9,13],[8,11],[4,9],[8,7],[9,5],[9,3],[8,1],[7,0],[6,-2],[6,-4],[7,-6],[-1,-1],[6,8],[8,6],[8,4],[7,2],[6,1],[5,-1],[5,-3],[6,-5],[7,-6],[9,-7]]},"|":{width:8,points:[[4,25],[4,-7]]},"}":{width:14,points:[[5,25],[7,24],[8,23],[9,21],[9,19],[8,17],[7,16],[6,14],[6,12],[8,10],[-1,-1],[7,24],[8,22],[8,20],[7,18],[6,17],[5,15],[5,13],[6,11],[10,9],[6,7],[5,5],[5,3],[6,1],[7,0],[8,-2],[8,-4],[7,-6],[-1,-1],[8,8],[6,6],[6,4],[7,2],[8,1],[9,-1],[9,-3],[8,-5],[7,-6],[5,-7]]},"~":{width:24,points:[[3,6],[3,8],[4,11],[6,12],[8,12],[10,11],[14,8],[16,7],[18,7],[20,8],[21,10],[-1,-1],[3,8],[4,10],[6,11],[8,11],[10,10],[14,7],[16,6],[18,6],[20,7],[21,10],[21,12]]}};a.jqplot.CanvasFontRenderer=function(b){b=b||{};if(!b.pt2px){b.pt2px=1.5}a.jqplot.CanvasTextRenderer.call(this,b)};a.jqplot.CanvasFontRenderer.prototype=new a.jqplot.CanvasTextRenderer({});a.jqplot.CanvasFontRenderer.prototype.constructor=a.jqplot.CanvasFontRenderer;a.jqplot.CanvasFontRenderer.prototype.measure=function(c,e){var d=this.fontSize+" "+this.fontFamily;c.save();c.font=d;var b=c.measureText(e).width;c.restore();return b};a.jqplot.CanvasFontRenderer.prototype.draw=function(e,g){var c=0;var h=this.height*0.72;e.save();var d,b;if((-Math.PI/2<=this.angle&&this.angle<=0)||(Math.PI*3/2<=this.angle&&this.angle<=Math.PI*2)){d=0;b=-Math.sin(this.angle)*this.width}else{if((0b.max||b.max==null){b.max=h[c][0]}}else{if(h[c][1]b.max||b.max==null){b.max=h[c][1]}}}}if(this.groupLabels.length){this.groups=this.groupLabels.length}};a.jqplot.CategoryAxisRenderer.prototype.createTicks=function(){var D=this._ticks;var z=this.ticks;var F=this.name;var C=this._dataBounds;var v,A;var q,w;var d,c;var b,x;if(z.length){if(this.groups>1&&!this._grouped){var r=z.length;var p=parseInt(r/this.groups,10);var e=0;for(var x=p;x1&&!this._grouped){var r=y.length;var p=parseInt(r/this.groups,10);var e=0;for(var x=p;x0&&o');if(this.name=="xaxis"||this.name=="x2axis"){this._elem.width(this._plotDimensions.width)}else{this._elem.height(this._plotDimensions.height)}this.labelOptions.axis=this.name;this._label=new this.labelRenderer(this.labelOptions);if(this._label.show){var g=this._label.draw(b);g.appendTo(this._elem)}var f=this._ticks;for(var e=0;e');g.html(this.groupLabels[e]);this._groupLabels.push(g);g.appendTo(this._elem)}}return this._elem};a.jqplot.CategoryAxisRenderer.prototype.set=function(){var e=0;var m;var k=0;var f=0;var d=(this._label==null)?false:this._label.show;if(this.show){var n=this._ticks;for(var c=0;ce){e=m}}}var j=0;for(var c=0;cj){j=m}}if(d){k=this._label._elem.outerWidth(true);f=this._label._elem.outerHeight(true)}if(this.name=="xaxis"){e+=j+f;this._elem.css({height:e+"px",left:"0px",bottom:"0px"})}else{if(this.name=="x2axis"){e+=j+f;this._elem.css({height:e+"px",left:"0px",top:"0px"})}else{if(this.name=="yaxis"){e+=j+k;this._elem.css({width:e+"px",left:"0px",top:"0px"});if(d&&this._label.constructor==a.jqplot.AxisLabelRenderer){this._label._elem.css("width",k+"px")}}else{e+=j+k;this._elem.css({width:e+"px",right:"0px",top:"0px"});if(d&&this._label.constructor==a.jqplot.AxisLabelRenderer){this._label._elem.css("width",k+"px")}}}}}};a.jqplot.CategoryAxisRenderer.prototype.pack=function(e,c){var B=this._ticks;var v=this.max;var s=this.min;var n=c.max;var l=c.min;var q=(this._label==null)?false:this._label.show;for(var r in e){this._elem.css(r,e[r])}this._offsets=c;var g=n-l;var k=v-s;this.p2u=function(h){return(h-l)*k/g+s};this.u2p=function(h){return(h-s)*g/k+l};if(this.name=="xaxis"||this.name=="x2axis"){this.series_u2p=function(h){return(h-s)*g/k};this.series_p2u=function(h){return h*k/g+s}}else{this.series_u2p=function(h){return(h-v)*g/k};this.series_p2u=function(h){return h*k/g+v}}if(this.show){if(this.name=="xaxis"||this.name=="x2axis"){for(i=0;i0){b=-o._textRenderer.height*Math.cos(-o._textRenderer.angle)/2}else{b=-o.getHeight()+o._textRenderer.height*Math.cos(o._textRenderer.angle)/2}break;case"middle":b=-o.getHeight()/2;break;default:b=-o.getHeight()/2;break}}else{b=-o.getHeight()/2}var C=this.u2p(o.value)+b+"px";o._elem.css("top",C);o.pack()}}var y=["left",0];if(q){var x=this._label._elem.outerHeight(true);this._label._elem.css("top",n-g/2-x/2+"px");if(this.name=="yaxis"){this._label._elem.css("left","0px");y=["left",this._label._elem.outerWidth(true)]}else{this._label._elem.css("right","0px");y=["right",this._label._elem.outerWidth(true)]}this._label.pack()}var d=parseInt(this._ticks.length/this.groups,10);for(i=0;ib.max||b.max==null){b.max=h[c][0]}}else{if(h[c][1]b.max||b.max==null){b.max=h[c][1]}}}}if(this.groupLabels.length){this.groups=this.groupLabels.length}};a.jqplot.CategoryAxisRenderer.prototype.createTicks=function(){var D=this._ticks;var z=this.ticks;var F=this.name;var C=this._dataBounds;var v,A;var q,w;var d,c;var b,x;if(z.length){if(this.groups>1&&!this._grouped){var r=z.length;var p=parseInt(r/this.groups,10);var e=0;for(var x=p;x1&&!this._grouped){var r=y.length;var p=parseInt(r/this.groups,10);var e=0;for(var x=p;x0&&o');if(this.name=="xaxis"||this.name=="x2axis"){this._elem.width(this._plotDimensions.width)}else{this._elem.height(this._plotDimensions.height)}this.labelOptions.axis=this.name;this._label=new this.labelRenderer(this.labelOptions);if(this._label.show){var g=this._label.draw(b,j);g.appendTo(this._elem)}var f=this._ticks;for(var e=0;e');g.html(this.groupLabels[e]);this._groupLabels.push(g);g.appendTo(this._elem)}}return this._elem};a.jqplot.CategoryAxisRenderer.prototype.set=function(){var e=0;var m;var k=0;var f=0;var d=(this._label==null)?false:this._label.show;if(this.show){var n=this._ticks;for(var c=0;ce){e=m}}}var j=0;for(var c=0;cj){j=m}}if(d){k=this._label._elem.outerWidth(true);f=this._label._elem.outerHeight(true)}if(this.name=="xaxis"){e+=j+f;this._elem.css({height:e+"px",left:"0px",bottom:"0px"})}else{if(this.name=="x2axis"){e+=j+f;this._elem.css({height:e+"px",left:"0px",top:"0px"})}else{if(this.name=="yaxis"){e+=j+k;this._elem.css({width:e+"px",left:"0px",top:"0px"});if(d&&this._label.constructor==a.jqplot.AxisLabelRenderer){this._label._elem.css("width",k+"px")}}else{e+=j+k;this._elem.css({width:e+"px",right:"0px",top:"0px"});if(d&&this._label.constructor==a.jqplot.AxisLabelRenderer){this._label._elem.css("width",k+"px")}}}}}};a.jqplot.CategoryAxisRenderer.prototype.pack=function(e,c){var C=this._ticks;var v=this.max;var s=this.min;var n=c.max;var l=c.min;var q=(this._label==null)?false:this._label.show;var x;for(var r in e){this._elem.css(r,e[r])}this._offsets=c;var g=n-l;var k=v-s;if(!this.reverse){this.u2p=function(h){return(h-s)*g/k+l};this.p2u=function(h){return(h-l)*k/g+s};if(this.name=="xaxis"||this.name=="x2axis"){this.series_u2p=function(h){return(h-s)*g/k};this.series_p2u=function(h){return h*k/g+s}}else{this.series_u2p=function(h){return(h-v)*g/k};this.series_p2u=function(h){return h*k/g+v}}}else{this.u2p=function(h){return l+(v-h)*g/k};this.p2u=function(h){return s+(h-l)*k/g};if(this.name=="xaxis"||this.name=="x2axis"){this.series_u2p=function(h){return(v-h)*g/k};this.series_p2u=function(h){return h*k/g+v}}else{this.series_u2p=function(h){return(s-h)*g/k};this.series_p2u=function(h){return h*k/g+s}}}if(this.show){if(this.name=="xaxis"||this.name=="x2axis"){for(x=0;x=this._ticks.length-1){continue}if(this._ticks[u]._elem&&this._ticks[u].label!=" "){var o=this._ticks[u]._elem;var r=o.position();B+=r.left+o.outerWidth(true)/2;f++}}B=B/f;this._groupLabels[x].css({left:(B-this._groupLabels[x].outerWidth(true)/2)});this._groupLabels[x].css(z[0],z[1])}}else{for(x=0;x0){b=-o._textRenderer.height*Math.cos(-o._textRenderer.angle)/2}else{b=-o.getHeight()+o._textRenderer.height*Math.cos(o._textRenderer.angle)/2}break;case"middle":b=-o.getHeight()/2;break;default:b=-o.getHeight()/2;break}}else{b=-o.getHeight()/2}var D=this.u2p(o.value)+b+"px";o._elem.css("top",D);o.pack()}}var z=["left",0];if(q){var y=this._label._elem.outerHeight(true);this._label._elem.css("top",n-g/2-y/2+"px");if(this.name=="yaxis"){this._label._elem.css("left","0px");z=["left",this._label._elem.outerWidth(true)]}else{this._label._elem.css("right","0px");z=["right",this._label._elem.outerWidth(true)]}this._label.pack()}var d=parseInt(this._ticks.length/this.groups,10)+1;for(x=0;x=this._ticks.length-1){continue}if(this._ticks[u]._elem&&this._ticks[u].label!=" "){var o=this._ticks[u]._elem;var r=o.position();B+=r.top+o.outerHeight()/2;f++}}B=B/f;this._groupLabels[x].css({top:B-this._groupLabels[x].outerHeight()/2});this._groupLabels[x].css(z[0],z[1])}}}}})(jQuery); \ No newline at end of file diff --git a/helpdesk/static/helpdesk/jquery.jqplot/plugins/jqplot.ciParser.min.js b/helpdesk/static/helpdesk/jquery.jqplot/plugins/jqplot.ciParser.min.js new file mode 100644 index 00000000..08f46c85 --- /dev/null +++ b/helpdesk/static/helpdesk/jquery.jqplot/plugins/jqplot.ciParser.min.js @@ -0,0 +1,3 @@ +/* jqPlot 1.0.8r1250 | (c) 2009-2013 Chris Leonello | jplot.com + jsDate | (c) 2010-2013 Chris Leonello + */(function(a){a.jqplot.ciParser=function(g,l){var m=[],o,n,h,f,e,c;if(typeof(g)=="string"){g=a.jqplot.JSON.parse(g,d)}else{if(typeof(g)=="object"){for(e in g){for(h=0;h=0){i=/^\/Date\((-?[0-9]+)\)\/$/.exec(k);if(i){return parseInt(i[1],10)}}return k}}for(var b in g){o=[];n=g[b];switch(b){case"PriceTicks":for(h=0;h