phone: use mellon username as a phone line (#9598)
This commit is contained in:
parent
201ad7ed04
commit
e6536f2091
|
@ -0,0 +1,32 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import models, migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('phone', '0003_auto_20151103_1202'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='phonecall',
|
||||
name='callee',
|
||||
field=models.CharField(max_length=80, verbose_name='Callee'),
|
||||
preserve_default=True,
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='phonecall',
|
||||
name='caller',
|
||||
field=models.CharField(max_length=80, verbose_name='Caller'),
|
||||
preserve_default=True,
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='phoneline',
|
||||
name='callee',
|
||||
field=models.CharField(unique=True, max_length=80, verbose_name='Callee'),
|
||||
preserve_default=True,
|
||||
),
|
||||
]
|
|
@ -26,8 +26,8 @@ class PhoneCall(models.Model):
|
|||
class Meta:
|
||||
verbose_name = _('Phone Call')
|
||||
|
||||
caller = models.CharField(_('Caller'), max_length=20)
|
||||
callee = models.CharField(_('Callee'), max_length=20)
|
||||
caller = models.CharField(_('Caller'), max_length=80)
|
||||
callee = models.CharField(_('Callee'), max_length=80)
|
||||
start = models.DateTimeField(_('Start'), auto_now_add=True)
|
||||
stop = models.DateTimeField(_('Stop'), null=True, blank=True)
|
||||
data = models.TextField(_('Data'), blank=True)
|
||||
|
@ -78,7 +78,7 @@ class PhoneCall(models.Model):
|
|||
return '%02d:%02d' % (seconds//60, seconds%60)
|
||||
|
||||
class PhoneLine(models.Model):
|
||||
callee = models.CharField(_('Callee'), unique=True, max_length=20)
|
||||
callee = models.CharField(_('Callee'), unique=True, max_length=80)
|
||||
users = models.ManyToManyField('auth.User', verbose_name=_('User'))
|
||||
|
||||
@classmethod
|
||||
|
|
|
@ -47,6 +47,15 @@ class Home(object):
|
|||
class PhoneZone(TemplateView):
|
||||
template_name = 'welco/phone_home.html'
|
||||
|
||||
def get(self, request, *args, **kwargs):
|
||||
username = request.session.get('mellon_session', {}).get('username')
|
||||
if username:
|
||||
# user is from SSO, username is a phone line (callee), create a link to it
|
||||
username = username[0].split('@', 1)[0][:80] # remove realm
|
||||
if username:
|
||||
PhoneLine.take(callee=username, user=self.request.user)
|
||||
return super(PhoneZone, self).get(request, *args, **kwargs)
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(PhoneZone, self).get_context_data(**kwargs)
|
||||
context['source_type'] = ContentType.objects.get_for_model(PhoneCall)
|
||||
|
|
Loading…
Reference in New Issue