Skip to content

Commit

Permalink
Fix user groups creation and update, also WIP event planning creation
Browse files Browse the repository at this point in the history
  • Loading branch information
catdesu committed Mar 6, 2024
1 parent e40bef6 commit f686b28
Show file tree
Hide file tree
Showing 7 changed files with 75 additions and 42 deletions.
19 changes: 14 additions & 5 deletions orif/timbreuse/Controllers/EventPlannings.php
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,9 @@ public function createPersonal() : string|RedirectResponse {
}
}

return $this->display_view(['Timbreuse\Views\eventPlannings\personal\save_form'], $data);
return $this->display_view([
'Timbreuse\Views\eventPlannings\personal\save_form',
'Timbreuse\Views\eventPlannings\get_event_series_form'], $data);
}

/**
Expand All @@ -107,7 +109,9 @@ public function createGroup() : string|RedirectResponse {
}
}

return $this->display_view(['Timbreuse\Views\eventPlannings\group\save_form'], $data);
return $this->display_view([
'Timbreuse\Views\eventPlannings\group\save_form',
'Timbreuse\Views\eventPlannings\get_event_series_form'], $data);
}

/**
Expand Down Expand Up @@ -184,9 +188,14 @@ public function delete(int $id, int $action = 0) : string|RedirectResponse {
private function getPostDataAndSaveEventPlanning() : array {
$eventPlanning = [
'id' => $this->request->getPost('id'),
'name' => $this->request->getPost('name'),
'is_group_event_planning' => (bool)$this->request->getPost('isGroupEventType'),
'is_personal_event_planning' => (bool)$this->request->getPost('isPersonalEventType'),
'fk_event_series_id' => $this->request->getPost('fk_event_series_id'),
'fk_user_group_id' => $this->request->getPost('fk_user_group_id'),
'fk_user_sync_id' => $this->request->getPost('fk_user_sync_id'),
'fk_event_type_id' => $this->request->getPost('fk_event_type_id'),
'event_date' => $this->request->getPost('event_date'),
'start_time' => $this->request->getPost('start_time'),
'end_time' => $this->request->getPost('end_time'),
'is_work_time' => (bool)$this->request->getPost('isPersonalEventType'),
];

$this->eventPlanningsModel->save($eventPlanning);
Expand Down
15 changes: 8 additions & 7 deletions orif/timbreuse/Controllers/UserGroups.php
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,12 @@ public function create(int $parentId = null) : string|RedirectResponse {
$data = [
'title' => lang('tim_lang.create_user_group_title'),
'userGroup' => null,
'sessionUserGroup' => session()->get('groupPostData') ?? null,
'parentUserGroup' => $parentUserGroup,
];

session()->remove('groupPostData');

if (isset($_POST) && !empty($_POST)) {
if ($this->checkSelectParent()) {
return redirect()->to(base_url('admin/user-groups/select-parent'));
Expand All @@ -96,25 +99,23 @@ public function create(int $parentId = null) : string|RedirectResponse {
*/
public function update(int $id, int $parentId = null) : string|RedirectResponse {
$userGroup = $this->userGroupsModel->find($id);
$parentUserGroupId = $parentId ?? $userGroup['fk_parent_user_group_id'] ?? null;

if (is_null($userGroup)) {
return redirect()->to(base_url('admin/user-groups'));
}

if (is_null($parentId) && !is_null($userGroup['fk_parent_user_group_id'])) {
$parentUserGroup = $this->userGroupsModel->find($userGroup['fk_parent_user_group_id']);
} else if (!is_null($parentId) && is_null($userGroup['fk_parent_user_group_id'])) {
$parentUserGroup = $this->userGroupsModel->find($parentId);
} else {
$parentUserGroup = null;
}
$parentUserGroup = $this->userGroupsModel->find($parentUserGroupId);

$data = [
'title' => lang('tim_lang.update_user_group_title'),
'userGroup' => $userGroup,
'sessionUserGroup' => session()->get('groupPostData') ?? null,
'parentUserGroup' => $parentUserGroup,
];

session()->remove('groupPostData');

if (isset($_POST) && !empty($_POST)) {
if ($this->checkSelectParent()) {
return redirect()->to(base_url('admin/user-groups/select-parent/' . $id ?? ''));
Expand Down
16 changes: 15 additions & 1 deletion orif/timbreuse/Models/EventPlanningsModel.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,16 @@ class EventPlanningsModel extends Model
protected $returnType = 'array';
protected $useSoftDeletes = false;
protected $protectFields = true;
protected $allowedFields = ['fk_user_group_id', 'fk_user_sync_id', 'fk_event_type_id', 'event_date', 'start_time', 'end_time', 'is_work_time'];
protected $allowedFields = [
'fk_event_series_id',
'fk_user_group_id',
'fk_user_sync_id',
'fk_event_type_id',
'event_date',
'start_time',
'end_time',
'is_work_time'
];

// Validation
protected $validationRules = [];
Expand All @@ -29,6 +38,11 @@ public function __construct(ConnectionInterface &$db = null, ValidationInterface
[
'rules' => 'permit_empty|numeric'
],
'fk_event_series_id' =>
[
'label' => lang('tim_lang.field_user_group_id'),
'rules' => 'permit_empty|numeric'
],
'fk_user_group_id' =>
[
'label' => lang('tim_lang.field_user_group_id'),
Expand Down
18 changes: 18 additions & 0 deletions orif/timbreuse/Views/eventPlannings/get_event_series_Form.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<script>
let createSeriesForm = document.getElementById("create_series_form");
let createSeriesButton = document.getElementById("create_series");
const eventSeriesURL = '<?= base_url('event-series/html/form') ?>';

createSeriesButton.onclick = () => {
createSeriesButton.innerHTML = '<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span> ' + createSeriesButton.innerText;
$.ajax({
url: eventSeriesURL,
type: 'get',
success: (response) => {
const html = JSON.parse(response);
createSeriesButton.hidden = true;
$('#create_series_form').append(html);
}
});
};
</script>
15 changes: 11 additions & 4 deletions orif/timbreuse/Views/eventPlannings/group/save_form.php
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
<div class="col-sm-6">
<div class="form-group">
<?= form_label(lang('tim_lang.field_linked_user_group'), 'linked_user_group', ['class' => 'form-label']); ?>
<?= form_input('linked_user_group', $eventPlanning['linked_user_group'] ?? set_value('linked_user_group'), [
<?= form_input('', $eventPlanning['linked_user_group'] ?? set_value('linked_user_group'), [
'class' => 'form-control', 'id' => 'linked_user_group', 'disabled' => ''
]); ?>
<span class="text-danger"><?= isset($errors['end_time']) ? esc($errors['end_time']) : ''; ?></span>
Expand All @@ -45,7 +45,7 @@
</div>

<div class="row">
<div class="col-12">
<div class="col-sm-4">
<div class="form-group">
<?= form_label(lang('tim_lang.field_event_date'), 'event_date', ['class' => 'form-label']); ?>
<?= form_input('event_date', $eventPlanning['event_date'] ?? set_value('event_date'), [
Expand All @@ -54,7 +54,7 @@
<span class="text-danger"><?= isset($errors['event_date']) ? esc($errors['event_date']) : ''; ?></span>
</div>
</div>
<div class="col-sm-6">
<div class="col-sm-4">
<div class="form-group">
<?= form_label(lang('tim_lang.field_start_time'), 'start_time', ['class' => 'form-label']); ?>
<?= form_input('start_time', $eventPlanning['start_time'] ?? set_value('start_time'), [
Expand All @@ -63,7 +63,7 @@
<span class="text-danger"><?= isset($errors['start_time']) ? esc($errors['start_time']) : ''; ?></span>
</div>
</div>
<div class="col-sm-6">
<div class="col-sm-4">
<div class="form-group">
<?= form_label(lang('tim_lang.field_end_time'), 'end_time', ['class' => 'form-label']); ?>
<?= form_input('end_time', $eventPlanning['end_time'] ?? set_value('end_time'), [
Expand Down Expand Up @@ -100,6 +100,13 @@
</div>
</div>

<?= form_input('linked_user_group_id', '', ['hidden' => '']) ?>

<?php if (!$update): ?>
<?= form_button('', lang('tim_lang.btn_create_series'), ['class' => 'btn btn-primary', 'id' => 'create_series']) ?>
<div id="create_series_form"></div>
<?php endif; ?>

<!-- FORM BUTTONS -->
<div class="row mb-3 mt-3">
<div class="col text-right">
Expand Down
30 changes: 7 additions & 23 deletions orif/timbreuse/Views/eventPlannings/personal/save_form.php
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
<div class="col-sm-6">
<div class="form-group">
<?= form_label(lang('tim_lang.field_linked_user'), 'linked_user', ['class' => 'form-label']); ?>
<?= form_input('linked_user', $eventPlanning['linked_user'] ?? set_value('linked_user'), [
<?= form_input('', $eventPlanning['linked_user'] ?? set_value('linked_user'), [
'class' => 'form-control', 'id' => 'linked_user', 'disabled' => ''
]); ?>
<span class="text-danger"><?= isset($errors['end_time']) ? esc($errors['end_time']) : ''; ?></span>
Expand Down Expand Up @@ -99,10 +99,13 @@
</div>
</div>
</div>

<?= form_button('', lang('tim_lang.btn_create_series'), ['class' => 'btn btn-primary', 'id' => 'create_series']) ?>

<div id="create_series_form"></div>
<?= form_input('linked_user_id', '', ['hidden' => '']) ?>

<?php if (!$update): ?>
<?= form_button('', lang('tim_lang.btn_create_series'), ['class' => 'btn btn-primary', 'id' => 'create_series']) ?>
<div id="create_series_form"></div>
<?php endif; ?>

<!-- FORM BUTTONS -->
<div class="row mb-3 mt-3">
Expand All @@ -113,22 +116,3 @@
</div>
<?= form_close(); ?>
</div>

<script>
let createSeriesForm = document.getElementById("create_series_form");
let createSeriesButton = document.getElementById("create_series");
const eventSeriesURL = '<?= base_url('event-series/html/form') ?>';

createSeriesButton.onclick = () => {
createSeriesButton.innerHTML = '<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span> ' + createSeriesButton.innerText;
$.ajax({
url: eventSeriesURL,
type: 'get',
success: (response) => {
const html = JSON.parse(response);
createSeriesButton.hidden = true;
$('#create_series_form').append(html);
}
});
};
</script>
4 changes: 2 additions & 2 deletions orif/timbreuse/Views/userGroups/save_form.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@
<div class="col-sm-6">
<div class="form-group">
<?= form_label(lang('tim_lang.field_name'), 'name', ['class' => 'form-label']); ?>
<?= form_input('name', $userGroup['name'] ?? set_value('name'), [
'class' => 'form-control', 'required' => ''
<?= form_input('name', $sessionUserGroup['name'] ?? $userGroup['name'] ?? set_value('name'), [
'class' => 'form-control'
]); ?>
<span class="text-danger"><?= isset($errors['name']) ? esc($errors['name']) : ''; ?></span>
</div>
Expand Down

0 comments on commit f686b28

Please sign in to comment.