This commit is contained in:
2025-06-18 14:50:18 +03:00
parent a64ed080bb
commit 4c716a8a8c
160 changed files with 6786 additions and 23 deletions

View File

@ -0,0 +1,77 @@
<?php
namespace kernel\app_modules\gestalt_profile\services;
use kernel\helpers\Debug;
use kernel\app_modules\gestalt_profile\models\Gestalt_profile;
use kernel\FormModel;
class Gestalt_profileService
{
protected Gestalt_profile $model;
public function __construct()
{
$this->model = new Gestalt_profile();
}
public function create(FormModel $form_model): false|Gestalt_profile
{
$model = new Gestalt_profile();
// Пример заполнения:
$model->user_id = $form_model->getItem('user_id');
$model->fio = $form_model->getItem('fio');
$model->phone = $form_model->getItem('phone');
$model->email = $form_model->getItem('email');
$model->city = $form_model->getItem('city');
$model->photo = $form_model->getItem('photo');
$model->community_status = $form_model->getItem('community_status');
$model->specialization = $form_model->getItem('specialization');
$model->description_of_professional_activity = $form_model->getItem('description_of_professional_activity');
$model->past_events = $form_model->getItem('past_events');
$model->upcoming_events = $form_model->getItem('upcoming_events');
$model->under_curation_events = $form_model->getItem('under_curation_events');
$model->status = $form_model->getItem('status');
$model->show_on_main = $form_model->getItem('show_on_main');
if ($model->save()){
return $model;
}
return false;
}
public function update(FormModel $form_model, Gestalt_profile $gestalt_profile): false|Gestalt_profile
{
// Пример обновления:
$gestalt_profile->user_id = $form_model->getItem('user_id');
$gestalt_profile->fio = $form_model->getItem('fio');
$gestalt_profile->phone = $form_model->getItem('phone');
$gestalt_profile->email = $form_model->getItem('email');
$gestalt_profile->city = $form_model->getItem('city');
$gestalt_profile->photo = $form_model->getItem('photo');
$gestalt_profile->community_status = $form_model->getItem('community_status');
$gestalt_profile->specialization = $form_model->getItem('specialization');
$gestalt_profile->description_of_professional_activity = $form_model->getItem('description_of_professional_activity');
$gestalt_profile->past_events = $form_model->getItem('past_events');
$gestalt_profile->upcoming_events = $form_model->getItem('upcoming_events');
$gestalt_profile->under_curation_events = $form_model->getItem('under_curation_events');
$gestalt_profile->status = $form_model->getItem('status');
$gestalt_profile->show_on_main = $form_model->getItem('show_on_main');
if ($gestalt_profile->save()){
return $gestalt_profile;
}
return false;
}
public static function getCount()
{
return Gestalt_profile::count();
}
public static function getLast4(): array
{
return Gestalt_profile::query()->limit(4)->orderBy('id', 'desc')->get()->toArray();
}
}