Agenda: Move code to function - refs BT#20946

pull/4863/head
Angel Fernando Quiroz Campos 2 years ago
parent 73095bccea
commit de98acedb2
  1. 100
      main/inc/lib/agenda.lib.php

@ -3144,7 +3144,7 @@ class Agenda
$allowCollectiveInvitations = $agendaCollectiveInvitations && 'personal' === $this->type; $allowCollectiveInvitations = $agendaCollectiveInvitations && 'personal' === $this->type;
$allowEventSubscriptions = 'personal' === $this->type && $agendaEventSubscriptions; $allowEventSubscriptions = 'personal' === $this->type && $agendaEventSubscriptions;
if ($allowCollectiveInvitations && $allowEventSubscriptions && !$personalEvent->hasInvitation()) { if ($allowCollectiveInvitations && $allowEventSubscriptions && !$personalEvent) {
$form->addRadio( $form->addRadio(
'invitation_type', 'invitation_type',
get_lang('Allow'), get_lang('Allow'),
@ -3159,6 +3159,49 @@ class Agenda
} }
if ($allowCollectiveInvitations) { if ($allowCollectiveInvitations) {
$this->addCollectiveInvitationsFields($form, $personalEvent);
}
if ($agendaEventSubscriptions) {
$this->addSubscriptionFields($form, $personalEvent);
}
if (api_get_configuration_value('agenda_reminders')) {
$form->addHtml('<div id="notification_list">');
if ($id) {
$this->addFieldsForRemindersToForm($id, $form);
}
$form->addHtml('</div>');
$form->addButton('add_notification', get_lang('AddNotification'), 'bell-o')->setType('button');
$form->addHtml('<hr>');
}
if (api_get_configuration_value('allow_careers_in_global_agenda') && 'admin' === $this->type) {
Career::addCareerFieldsToForm($form);
$form->addHtml('<hr>');
}
if ($id) {
$form->addButtonUpdate(get_lang('ModifyEvent'));
} else {
$form->addButtonSave(get_lang('AgendaAdd'));
}
$form->setDefaults($params);
$form->addRule(
'date_range',
get_lang('ThisFieldIsRequired'),
'required'
);
$form->addRule('title', get_lang('ThisFieldIsRequired'), 'required');
return $form;
}
private function addCollectiveInvitationsFields(FormValidator $form, ?PersonalAgenda $personalEvent)
{
$invitees = []; $invitees = [];
$isCollective = false; $isCollective = false;
$allowInvitees = true; $allowInvitees = true;
@ -3180,7 +3223,7 @@ class Agenda
if ($allowInvitees) { if ($allowInvitees) {
$form->addHtml( $form->addHtml(
'<div id="invitations-block" style="display:'.($allowEventSubscriptions && !$allowInvitees ? 'none;' : 'block;').'">' '<div id="invitations-block">'
); );
$form->addHeader(get_lang('Invitations')); $form->addHeader(get_lang('Invitations'));
$form->addSelectAjax( $form->addSelectAjax(
@ -3196,12 +3239,15 @@ class Agenda
$form->addHtml('<hr>'); $form->addHtml('<hr>');
$form->addHtml('</div>'); $form->addHtml('</div>');
$params['invitees'] = array_keys($invitees); $form->setDefaults([
$params['collective'] = $isCollective; 'invitees' => array_keys($invitees),
'collective' => $isCollective
]);
} }
} }
if ($agendaEventSubscriptions) { private function addSubscriptionFields(FormValidator $form, ?PersonalAgenda $personalEvent)
{
$subscribers = []; $subscribers = [];
$allowSubscribers = true; $allowSubscribers = true;
@ -3215,12 +3261,14 @@ class Agenda
array_column($subscribers, 'name') array_column($subscribers, 'name')
); );
$params['subscribers'] = array_keys($subscribers); $form->setDefaults([
'subscribers' => array_keys($subscribers),
]);
} }
if ($allowSubscribers) { if ($allowSubscribers) {
$form->addHtml( $form->addHtml(
'<div id="subscriptions-block" style="display:'.($allowCollectiveInvitations ? 'none;' : 'block;').'">' '<div id="subscriptions-block">'
); );
$form->addHeader(get_lang('Subscriptions')); $form->addHeader(get_lang('Subscriptions'));
$form->addSelect( $form->addSelect(
@ -3273,7 +3321,9 @@ class Agenda
/** @var AgendaEventSubscription $subscription */ /** @var AgendaEventSubscription $subscription */
$subscription = $personalEvent->getInvitation(); $subscription = $personalEvent->getInvitation();
$params['max_subscriptions'] = $subscription->getMaxAttendees(); $form->setDefaults([
'max_subscriptions' => $subscription->getMaxAttendees(),
]);
$groupId = $personalEvent->getSubscriptionItemId(); $groupId = $personalEvent->getSubscriptionItemId();
@ -3289,40 +3339,6 @@ class Agenda
$form->addHtml('</div>'); $form->addHtml('</div>');
} }
if (api_get_configuration_value('agenda_reminders')) {
$form->addHtml('<div id="notification_list">');
if ($id) {
$this->addFieldsForRemindersToForm($id, $form);
}
$form->addHtml('</div>');
$form->addButton('add_notification', get_lang('AddNotification'), 'bell-o')->setType('button');
$form->addHtml('<hr>');
}
if (api_get_configuration_value('allow_careers_in_global_agenda') && 'admin' === $this->type) {
Career::addCareerFieldsToForm($form);
$form->addHtml('<hr>');
}
if ($id) {
$form->addButtonUpdate(get_lang('ModifyEvent'));
} else {
$form->addButtonSave(get_lang('AgendaAdd'));
}
$form->setDefaults($params);
$form->addRule(
'date_range',
get_lang('ThisFieldIsRequired'),
'required'
);
$form->addRule('title', get_lang('ThisFieldIsRequired'), 'required');
return $form;
}
public function addFieldsForRemindersToForm(int $eventId, FormValidator $form) public function addFieldsForRemindersToForm(int $eventId, FormValidator $form)
{ {
$remindersList = $this->parseEventReminders( $remindersList = $this->parseEventReminders(

Loading…
Cancel
Save