family: user_external_template of agenda cell (#56730)
This commit is contained in:
parent
389465cb57
commit
90aa90b991
|
@ -0,0 +1,21 @@
|
|||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('family', '0006_weekly_agenda_cell'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='weeklyagendacell',
|
||||
name='user_external_id_key',
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='weeklyagendacell',
|
||||
name='user_external_template',
|
||||
field=models.CharField(default='', max_length=255),
|
||||
preserve_default=False,
|
||||
),
|
||||
]
|
|
@ -58,7 +58,7 @@ class FamilyInfosCell(CellBase):
|
|||
class WeeklyAgendaCell(JsonCellBase):
|
||||
title = models.CharField(_('Title'), max_length=150, blank=True)
|
||||
agenda_reference = models.CharField(_('Agenda'), max_length=128)
|
||||
user_external_id_key = models.CharField(max_length=50)
|
||||
user_external_template = models.CharField(max_length=255)
|
||||
|
||||
default_template_name = 'family/weekly_agenda.html'
|
||||
force_async = True
|
||||
|
@ -81,9 +81,10 @@ class WeeklyAgendaCell(JsonCellBase):
|
|||
if not chrono_url.endswith('/'):
|
||||
chrono_url += '/'
|
||||
# XXX events=all param is not supported for now
|
||||
return (
|
||||
'%sapi/agendas/datetimes/?agendas=%s&user_external_id=%s:{{ user_external_id|default:user_nameid }}'
|
||||
% (chrono_url, self.agenda_reference, self.user_external_id_key)
|
||||
return '%sapi/agendas/datetimes/?agendas=%s&user_external_id=%s' % (
|
||||
chrono_url,
|
||||
self.agenda_reference,
|
||||
self.user_external_template,
|
||||
)
|
||||
|
||||
def is_visible(self, **kwargs):
|
||||
|
|
|
@ -67,7 +67,7 @@ def test_weeklyagenda_cell(settings, context):
|
|||
# wrong url
|
||||
assert (
|
||||
requests_get.call_args_list[0][0][0]
|
||||
== 'http://chrono.example.org/api/agendas/datetimes/?agendas=&user_external_id=:'
|
||||
== 'http://chrono.example.org/api/agendas/datetimes/?agendas=&user_external_id='
|
||||
)
|
||||
|
||||
cell.agenda_reference = 'some-agenda'
|
||||
|
@ -78,10 +78,10 @@ def test_weeklyagenda_cell(settings, context):
|
|||
cell.render(context)
|
||||
assert (
|
||||
requests_get.call_args_list[0][0][0]
|
||||
== 'http://chrono.example.org/api/agendas/datetimes/?agendas=some-agenda&user_external_id=:xyz'
|
||||
== 'http://chrono.example.org/api/agendas/datetimes/?agendas=some-agenda&user_external_id='
|
||||
)
|
||||
|
||||
cell.user_external_id_key = 'some-key'
|
||||
cell.user_external_template = 'some-key:{{ user_nameid }}'
|
||||
cell.save()
|
||||
with mock.patch('combo.utils.requests.get') as requests_get:
|
||||
requests_get.return_value = MockedRequestResponse(content=json.dumps(data))
|
||||
|
|
Loading…
Reference in New Issue