You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.5 KiB
51 lines
1.5 KiB
from django.contrib.auth.decorators import login_required
|
|
from django.contrib import messages
|
|
from django.shortcuts import render, redirect
|
|
from django.utils.translation import ugettext_lazy as _
|
|
from guardian.decorators import permission_required_or_403 as permission_required
|
|
|
|
from abonapp.models import Abon
|
|
from mydefs import only_admins, pag_mn
|
|
from .models import AsteriskCDR
|
|
|
|
|
|
@login_required
|
|
@permission_required('dialing_app.change_asteriskcdr')
|
|
@only_admins
|
|
def home(request):
|
|
logs = AsteriskCDR.objects.exclude(userfield='request').order_by('-calldate')
|
|
logs = pag_mn(request, logs)
|
|
title = _('Last calls')
|
|
return render(request, 'index.html', {
|
|
'logs': logs,
|
|
'title': title
|
|
})
|
|
|
|
|
|
@login_required
|
|
@only_admins
|
|
def to_abon(request, tel):
|
|
abon = Abon.objects.filter(telephone=tel)
|
|
abon_count = abon.count()
|
|
if abon_count > 1:
|
|
messages.warning(request, _('Multiple users with the telephone number'))
|
|
elif abon_count == 0:
|
|
messages.error(request, _('User with the telephone number not found'))
|
|
return redirect('dialapp:home')
|
|
abon = abon[0]
|
|
if abon.group:
|
|
return redirect('abonapp:abon_home', gid=abon.group.pk, uid=abon.pk)
|
|
else:
|
|
return redirect('abonapp:group_list')
|
|
|
|
|
|
@login_required
|
|
@only_admins
|
|
def vmail(request):
|
|
title = _('Voice mail')
|
|
cdr = AsteriskCDR.objects.filter(userfield='request').order_by('-calldate')
|
|
cdr = pag_mn(request, cdr)
|
|
return render(request, 'vmail.html', {
|
|
'title': title,
|
|
'vmessages': cdr
|
|
})
|