Browse Source

add check for existing duplicates tasks. And remote target=blank

devel
Dmitry Novikov 7 years ago
parent
commit
b9d0f66250
  1. 14
      abonapp/templates/abonapp/debtors.html
  2. 2
      abonapp/templates/abonapp/editAbon.html
  3. 2
      abonapp/templates/abonapp/group_list.html
  4. 2
      abonapp/templates/abonapp/invoiceForPayment.html
  5. 2
      abonapp/templates/abonapp/modal_phonebook.html
  6. 2
      abonapp/templates/abonapp/payHistory.html
  7. 2
      abonapp/templates/abonapp/service.html
  8. 2
      accounts_app/templates/accounts/ext.htm
  9. 5
      devapp/templates/devapp/custom_dev_page/onu.html
  10. 7
      devapp/templates/devapp/custom_dev_page/onu_for_zte.html
  11. 2
      devapp/templates/devapp/group_list.html
  12. 2
      dialing_app/templates/index.html
  13. 2
      dialing_app/templatetags/telephone_filters.py
  14. 4
      msg_app/templates/msg_app/chat.html
  15. 4
      searchapp/templates/searchapp/index.html
  16. 3
      taskapp/locale/ru/LC_MESSAGES/django.po
  17. 8
      taskapp/templates/taskapp/details.html
  18. 18
      taskapp/views.py

14
abonapp/templates/abonapp/debtors.html

@ -31,13 +31,19 @@
{% for invoice in invoices %}
<tr>
<td>{{ invoice.id }}</td>
<td><a href="{% url 'abonapp:abon_home' invoice.abon.group.id invoice.abon.username %}"
target="_blank">{{ invoice.abon.username }}</a></td>
<td>
<a href="{% url 'abonapp:abon_home' invoice.abon.group.id invoice.abon.username %}">
{{ invoice.abon.username }}
</a>
</td>
<td>{{ invoice.amount }}</td>
<td>{{ invoice.comment }}</td>
<td>{{ invoice.date_create|date:'d b H:i' }}</td>
<td><a href="{% url 'acc_app:other_profile' invoice.author.id %}"
target="_blank">{{ invoice.author.username }}</a></td>
<td>
<a href="{% url 'acc_app:other_profile' invoice.author.id %}">
{{ invoice.author.username }}
</a>
</td>
</tr>
{% empty %}
<tr>

2
abonapp/templates/abonapp/editAbon.html

@ -136,7 +136,7 @@
<label for="id_method" class="col-sm-4 control-label">{% trans 'Device' %}</label>
<div class="col-sm-8 btn-group btn-group-sm">
{% if device %}
<a href="{% url 'devapp:view' group.pk device.pk %}" target="_blank" class="btn btn-sm btn-default" title="{% trans 'Mac Address' %}: {{ device.mac_addr|default:_('Not assigned') }}">
<a href="{% url 'devapp:view' group.pk device.pk %}" class="btn btn-sm btn-default" title="{% trans 'Mac Address' %}: {{ device.mac_addr|default:_('Not assigned') }}">
<span class="glyphicon glyphicon-hdd"></span>
<span class="hidden-md">{{ device.comment|truncatechars:11 }} {{ device.ip_address|default:'' }}</span>
</a>

2
abonapp/templates/abonapp/group_list.html

@ -70,7 +70,7 @@
<span class="glyphicon glyphicon-usd"></span> <span class="hidden-xs">{% trans 'Fin report' %}</span>
</a>
{% endif %}
<a href="{% url 'abonapp:vcards' %}" target="_blank" class="btn btn-default">
<a href="{% url 'abonapp:vcards' %}" class="btn btn-default">
<span class="glyphicon glyphicon-phone"></span>
<span class="hidden-xs">{% trans 'Export vCards' %}</span>
</a>

2
abonapp/templates/abonapp/invoiceForPayment.html

@ -49,7 +49,7 @@
{% endif %}
</td>
<td class="col-xs-2">
<a href="{% url 'acc_app:other_profile' inv.author.id %}" target="_blank">{{ inv.author.username }}</a>
<a href="{% url 'acc_app:other_profile' inv.author.id %}">{{ inv.author.username }}</a>
</td>
</tr>
{% empty %}

2
abonapp/templates/abonapp/modal_phonebook.html

@ -26,7 +26,7 @@
</table>
<div class="modal-footer">
<a href="{% url 'abonapp:phonebook' gid %}?f=csv" class="btn btn-default" target="_blank">
<a href="{% url 'abonapp:phonebook' gid %}?f=csv" class="btn btn-default">
<span class="glyphicon glyphicon-export"></span> {% trans 'Export to csv' %}
</a>
</div>

2
abonapp/templates/abonapp/payHistory.html

@ -18,7 +18,7 @@
<td>{{ ph.date|date:'d F Y, H:i:s' }}</td>
<td>
{% if ph.author %}
<a target="_blank" href="{% url 'acc_app:other_profile' ph.author.pk %}">{{ ph.author.username }}</a>
<a href="{% url 'acc_app:other_profile' ph.author.pk %}">{{ ph.author.username }}</a>
{% else %}
{% trans 'System' %}
{% endif %}

2
abonapp/templates/abonapp/service.html

@ -117,7 +117,7 @@
<dt>{% trans 'Auto continue service.' %}</dt>
<dd>
<input type="checkbox" data-url="{% url 'abonapp:set_auto_continue_service' group.pk abon.username %}" class="autosave" {{ abon.autoconnect_service|yesno:'checked,' }}>
<a href="https://github.com/nerosketch/djing/blob/devel/docs/tarifs.md" title="{% trans 'Help' %}" target="_blank" data-toggle="tooltip">?</a>
<a href="https://github.com/nerosketch/djing/blob/devel/docs/tarifs.md" title="{% trans 'Help' %}" data-toggle="tooltip">?</a>
</dd>
</dl>

2
accounts_app/templates/accounts/ext.htm

@ -17,7 +17,7 @@
<div class="row">
<div class="col-sm-3">
<div class="thumbnail">
<a href="{{ userprofile.get_big_ava }}" class="thumbnail" target="_blank">
<a href="{{ userprofile.get_big_ava }}" class="thumbnail">
<img alt="ava" src="{{ userprofile.get_min_ava }}"/>
</a>
<div class="caption btn-group btn-group-sm">

5
devapp/templates/devapp/custom_dev_page/onu.html

@ -21,8 +21,7 @@
{% for da in dev_accs %}
<li class="list-group-item">{% trans 'Attached user' %}:
{% if da.group %}
<a href="{% url 'abonapp:abon_home' da.group.pk da.username %}"
target="_blank">{{ da.get_full_name }}</a>
<a href="{% url 'abonapp:abon_home' da.group.pk da.username %}">{{ da.get_full_name }}</a>
{% else %}
{{ da.get_full_name }}
{% endif %}
@ -32,7 +31,7 @@
<li class="list-group-item">
{% with pdev=dev.parent_dev pdgrp=dev.parent_dev.group %}
{% trans 'Parent device' %}:
<a href="{% url 'devapp:view' pdgrp.pk pdev.pk %}" title="{{ pdev.mac_addr|default:'' }}" target="_blank">
<a href="{% url 'devapp:view' pdgrp.pk pdev.pk %}" title="{{ pdev.mac_addr|default:'' }}">
{{ pdev.ip_address|default:'-' }} {{ pdev.comment }}
</a>
{% endwith %}

7
devapp/templates/devapp/custom_dev_page/onu_for_zte.html

@ -22,8 +22,7 @@
{% for da in dev_accs %}
<li class="list-group-item">{% trans 'Attached user' %}:
{% if da.group %}
<a href="{% url 'abonapp:abon_home' da.group.pk da.username %}"
target="_blank">{{ da.get_full_name }}</a>
<a href="{% url 'abonapp:abon_home' da.group.pk da.username %}">{{ da.get_full_name }}</a>
{% else %}
{{ da.get_full_name }}
{% endif %}
@ -33,9 +32,7 @@
<li class="list-group-item">
{% with pdev=dev.parent_dev pdgrp=dev.parent_dev.group %}
{% trans 'Parent device' %}:
<a href="{% url 'devapp:view' pdgrp.pk pdev.pk %}"
title="{{ pdev.mac_addr|default:'' }}"
target="_blank">
<a href="{% url 'devapp:view' pdgrp.pk pdev.pk %}" title="{{ pdev.mac_addr|default:'' }}">
{{ pdev.ip_address|default:'-' }} {{ pdev.comment }}
</a>
{% endwith %}

2
devapp/templates/devapp/group_list.html

@ -35,7 +35,7 @@
<a href="{% url 'devapp:devices_null_group' %}" class="btn btn-primary">
<span class="glyphicon glyphicon-list-alt"></span> {% trans 'Devices without group' %}
</a>
<a href="{% url 'devapp:nagios_objects_conf' %}" class="btn btn-default" target="_blank">
<a href="{% url 'devapp:nagios_objects_conf' %}" class="btn btn-default">
<span class="glyphicon glyphicon-export"></span> {% trans 'Export to nagios objects' %}
</a>
</td>

2
dialing_app/templates/index.html

@ -60,7 +60,7 @@
<span class="glyphicon glyphicon-play"></span>
<audio preload="metadata" src="{{ lurl|default:'#' }}"></audio>
</button>
<a href="{{ lurl|default:'#' }}" class="btn btn-default disabled" target="_blank" title="{% trans 'Download' %}">
<a href="{{ lurl|default:'#' }}" class="btn btn-default disabled" title="{% trans 'Download' %}">
<span class="glyphicon glyphicon-download-alt"></span>
</a>
</td>

2
dialing_app/templatetags/telephone_filters.py

@ -14,7 +14,7 @@ def abon_if_telephone(value):
if value[0] != '+':
value = '+' + value
url = resolve_url('dialapp:to_abon', tel=value)
a = '<a href="%s" target="_blank">%s</a>' % (url, value)
a = '<a href="%s">%s</a>' % (url, value)
return a
else:
return value

4
msg_app/templates/msg_app/chat.html

@ -37,7 +37,7 @@
<div class="row">
<div class="col-sm-1">
{% if can_view_profile %}
<a href="{% url 'acc_app:other_profile' author.pk %}" class="thumbnail" target="_blank" title="{{ author.get_full_name }}" data-toggle="tooltip">
<a href="{% url 'acc_app:other_profile' author.pk %}" class="thumbnail" title="{{ author.get_full_name }}" data-toggle="tooltip">
<img src="{{ author.get_min_ava }}" alt="ava">
</a>
{% else %}
@ -51,7 +51,7 @@
<pre>{{ msg.text }}</pre>
{% if msg.attachment %}
<a href="{{ msg.attachment }}" class="btn btn-default btn-sm" target="_blank">
<a href="{{ msg.attachment }}" class="btn btn-default btn-sm">
<span class="glyphicon glyphicon-gift"></span> {{ msg.attachment }}
</a>
{% endif %}

4
searchapp/templates/searchapp/index.html

@ -38,7 +38,7 @@
</form>
<div class="list-group">
{% for ab in abons %}
<a href="{% url 'abonapp:abon_home' ab.group.id ab.username %}" target="_blank" class="list-group-item">
<a href="{% url 'abonapp:abon_home' ab.group.id ab.username %}" class="list-group-item">
<h4 class="list-group-item-heading">
<span class="glyphicon glyphicon-user"></span>
{{ ab.username_display|safe }}
@ -70,7 +70,7 @@
{% else %}
{% url 'devapp:fix_device_group' dev.pk as devviewlink %}
{% endif %}
<a href="{{ devviewlink }}" target="_blank" class="list-group-item">
<a href="{{ devviewlink }}" class="list-group-item">
<h4 class="list-group-item-heading">
<span class="glyphicon glyphicon-hdd"></span>
{{ dev.comment|safe }}

3
taskapp/locale/ru/LC_MESSAGES/django.po

@ -508,3 +508,6 @@ msgstr "Напоминание о задаче отправлено"
msgid "View all new tasks"
msgstr "Все незавершённые задачи"
msgid "New task with this user already exists. You are redirected to it."
msgstr "Заявка для этого абонента уже создана. Вы перенаправлены к ней."

8
taskapp/templates/taskapp/details.html

@ -9,7 +9,7 @@
{% trans 'Task author' %}:
{% if task and task.author %}
<a href="{% url 'acc_app:other_profile' task.author.pk %}" title="{{ task.author.get_full_name }}" data-toggle="tooltip" target="_blank">{{ task.author.username }}</a>
<a href="{% url 'acc_app:other_profile' task.author.pk %}" title="{{ task.author.get_full_name }}" data-toggle="tooltip">{{ task.author.username }}</a>
{% else %}
<i>{% trans 'Not assigned' %}</i>
{% endif %}<br>
@ -17,7 +17,7 @@
{% trans 'Implementers' %}:
<ul>
{% for recipient in task.recipients.all %}
<li><a href="{% url 'acc_app:other_profile' recipient.pk %}" target="_blank">{{ recipient.get_full_name }}</a></li>
<li><a href="{% url 'acc_app:other_profile' recipient.pk %}">{{ recipient.get_full_name }}</a></li>
{% endfor %}
</ul>
{% trans 'A priority' %}: {{ task.get_priority_display }}<br>
@ -28,13 +28,13 @@
{% trans 'Condition' %}: {{ task.get_state_display }}<br>
{% trans 'Subscriber' %}
{% if task.abon %}
<a href="{% url 'abonapp:abon_home' task.abon.group.pk task.abon.username %}" target="_blank">{{ task.abon.get_full_name }}</a>
<a href="{% url 'abonapp:abon_home' task.abon.group.pk task.abon.username %}">{{ task.abon.get_full_name }}</a>
{% else %}
<i>{% trans 'Not assigned' %}</i>
{% endif %}<br>
{% if task.attachment %}
{% trans 'Attachment' %}:
<a href="{{ task.attachment.url }}" class="thumbnail" target="_blank">
<a href="{{ task.attachment.url }}" class="thumbnail">
<img src="{{ task.attachment.url }}">
</a>
{% endif %}

18
taskapp/views.py

@ -141,6 +141,16 @@ class TaskUpdateView(LoginAdminMixin, UpdateView):
else:
if not request.user.has_perm('taskapp.change_task'):
raise PermissionDenied
# check if new task with user already exists
uname = request.GET.get('uname')
if uname:
exists_task = Task.objects.filter(abon__username=uname, state='S')
if exists_task.exists():
messages.info(request, _('New task with this user already exists.'
' You are redirected to it.'))
return redirect('taskapp:edit', exists_task.first().pk)
try:
return super(TaskUpdateView, self).dispatch(request, *args, **kwargs)
except TaskException as e:
@ -154,6 +164,14 @@ class TaskUpdateView(LoginAdminMixin, UpdateView):
return kwargs
def form_valid(self, form):
# check if new task with picked user already exists
if form.cleaned_data['state'] == 'S':
exists_task = Task.objects.filter(abon=form.cleaned_data['abon'], state='S')
if exists_task.exists():
messages.info(self.request, _('New task with this user already exists.'
' You are redirected to it.'))
return redirect('taskapp:edit', exists_task.first().pk)
try:
self.object = form.save()
if self.object.author is None:

Loading…
Cancel
Save