doc fixes

This commit is contained in:
Dennis Eichhorn 2022-04-21 23:52:00 +02:00
parent d3a5b1439a
commit 6c0a98a18b
6 changed files with 65 additions and 19 deletions

View File

@ -16,6 +16,7 @@ namespace Modules\Profile\Admin\Install;
use Model\Setting; use Model\Setting;
use Model\SettingMapper; use Model\SettingMapper;
use Modules\Profile\Models\SettingsEnum;
use phpOMS\Application\ApplicationAbstract; use phpOMS\Application\ApplicationAbstract;
/** /**
@ -42,9 +43,9 @@ class Media
{ {
$media = \Modules\Media\Admin\Installer::installExternal($app, ['path' => __DIR__ . '/Media.install.json']); $media = \Modules\Media\Admin\Installer::installExternal($app, ['path' => __DIR__ . '/Media.install.json']);
$defaultProfileImage = $media['upload'][0]->getId(); $defaultProfileImage = (int) \reset($media['upload'][0]);
$setting = new Setting(); $setting = new Setting();
SettingMapper::create()->execute($setting->with(0, 'default_profile_image', (string) $defaultProfileImage, '\\d+', null, 'Profile')); SettingMapper::create()->execute($setting->with(0, SettingsEnum::DEFAULT_PROFILE_IMAGE, (string) $defaultProfileImage, '\\d+', null, 'Profile'));
} }
} }

View File

@ -16,7 +16,7 @@ Generally, the development philosophy is result orientated. This means that anyo
Developers are encouraged to pick open tasks with high priorities according to their own skill level. Senior developers may directly assign tasks to developers based on their importance. New developers may find it easier to start with a task that has a low priority as they often also have a lower difficulty. Developers are encouraged to pick open tasks with high priorities according to their own skill level. Senior developers may directly assign tasks to developers based on their importance. New developers may find it easier to start with a task that has a low priority as they often also have a lower difficulty.
Open tasks can be found in the project overview: [PROJECT.md](../Project/PROJECT.md) Open tasks can be found in the project overview: [PROJECT.md](https://github.com/Karaka-Management/Organization-Guide/blob/master/Project/PROJECT.md)
Tasks currently in development are prefixed in the priority column with an asterisk `*` and a name tag in the task description of the developer who is working on the task. Tasks currently in development are prefixed in the priority column with an asterisk `*` and a name tag in the task description of the developer who is working on the task.

View File

@ -52,7 +52,7 @@ final class ApiController extends Controller
* *
* @since 1.0.0 * @since 1.0.0
*/ */
public function apiProfileCreate(RequestAbstract $request, ResponseAbstract $response, $data = null) : void public function apiProfileCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
{ {
$profiles = $this->createProfilesFromRequest($request); $profiles = $this->createProfilesFromRequest($request);
$created = []; $created = [];
@ -105,7 +105,7 @@ final class ApiController extends Controller
* *
* @since 1.0.0 * @since 1.0.0
*/ */
public function apiProfileTempLoginCreate(RequestAbstract $request, ResponseAbstract $response, $data = null) : void public function apiProfileTempLoginCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
{ {
/** @var \Modules\Admin\Models\Account $account */ /** @var \Modules\Admin\Models\Account $account */
$account = AccountMapper::get()->where('id', $request->header->account)->execute(); $account = AccountMapper::get()->where('id', $request->header->account)->execute();
@ -167,7 +167,7 @@ final class ApiController extends Controller
* *
* @since 1.0.0 * @since 1.0.0
*/ */
public function apiSettingsAccountImageSet(RequestAbstract $request, ResponseAbstract $response, $data = null) : void public function apiSettingsAccountImageSet(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
{ {
$uploadedFiles = $request->getFiles(); $uploadedFiles = $request->getFiles();
@ -212,7 +212,7 @@ final class ApiController extends Controller
* *
* @since 1.0.0 * @since 1.0.0
*/ */
public function apiContactElementCreate(RequestAbstract $request, ResponseAbstract $response, $data = null) : void public function apiContactElementCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
{ {
if (!empty($val = $this->validateContactElementCreate($request))) { if (!empty($val = $this->validateContactElementCreate($request))) {
$response->set('contact_element_create', new FormValidation($val)); $response->set('contact_element_create', new FormValidation($val));
@ -286,7 +286,7 @@ final class ApiController extends Controller
* *
* @since 1.0.0 * @since 1.0.0
*/ */
public function apiAddressCreate(RequestAbstract $request, ResponseAbstract $response, $data = null) : void public function apiAddressCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
{ {
if (!empty($val = $this->validateAddressCreate($request))) { if (!empty($val = $this->validateAddressCreate($request))) {
$response->set('address_create', new FormValidation($val)); $response->set('address_create', new FormValidation($val));

View File

@ -18,6 +18,7 @@ use Modules\Admin\Models\LocalizationMapper;
use Modules\Media\Models\MediaMapper; use Modules\Media\Models\MediaMapper;
use Modules\Media\Models\NullMedia; use Modules\Media\Models\NullMedia;
use Modules\Profile\Models\ProfileMapper; use Modules\Profile\Models\ProfileMapper;
use Modules\Profile\Models\SettingsEnum;
use phpOMS\Asset\AssetType; use phpOMS\Asset\AssetType;
use phpOMS\Contract\RenderableInterface; use phpOMS\Contract\RenderableInterface;
use phpOMS\Localization\NullLocalization; use phpOMS\Localization\NullLocalization;
@ -47,7 +48,7 @@ final class BackendController extends Controller
* *
* @since 1.0.0 * @since 1.0.0
*/ */
public function setupProfileStyles(RequestAbstract $request, ResponseAbstract $response, $data = null) : void public function setupProfileStyles(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
{ {
/** @var \phpOMS\Model\Html\Head $head */ /** @var \phpOMS\Model\Html\Head $head */
$head = $response->get('Content')->getData('head'); $head = $response->get('Content')->getData('head');
@ -65,7 +66,7 @@ final class BackendController extends Controller
* *
* @since 1.0.0 * @since 1.0.0
*/ */
public function viewProfileList(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface public function viewProfileList(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : RenderableInterface
{ {
$view = new View($this->app->l11nManager, $request, $response); $view = new View($this->app->l11nManager, $request, $response);
@ -97,8 +98,10 @@ final class BackendController extends Controller
); );
} }
$profileImage = $this->app->appSettings->get(null, 'default_profile_image', null, 'Profile'); $profileImage = $this->app->appSettings->get(names: SettingsEnum::DEFAULT_PROFILE_IMAGE, module: 'Profile');
$image = MediaMapper::get()->where('id', (int) $profileImage->content)->execute();
/** @var \Modules\Media\Modles\Media $image */
$image = MediaMapper::get()->where('id', (int) $profileImage->content)->execute();
$view->setData('defaultImage', $image); $view->setData('defaultImage', $image);
@ -116,7 +119,7 @@ final class BackendController extends Controller
* *
* @since 1.0.0 * @since 1.0.0
*/ */
public function viewProfileSingle(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface public function viewProfileSingle(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : RenderableInterface
{ {
$view = new View($this->app->l11nManager, $request, $response); $view = new View($this->app->l11nManager, $request, $response);
@ -135,8 +138,13 @@ final class BackendController extends Controller
$calendarView->setTemplate('/Modules/Calendar/Theme/Backend/Components/Calendar/mini'); $calendarView->setTemplate('/Modules/Calendar/Theme/Backend/Components/Calendar/mini');
$view->addData('calendar', $calendarView); $view->addData('calendar', $calendarView);
$mapperQuery = ProfileMapper::get()->with('account')->with('image')->with('location')->with('contactElements'); $mapperQuery = ProfileMapper::get()
->with('account')
->with('image')
->with('location')
->with('contactElements');
/** @var \Modules\Profile\Modles\Profile $profile */
$profile = $request->getData('for') !== null $profile = $request->getData('for') !== null
? $mapperQuery->where('account', (int) $request->getData('for'))->execute() ? $mapperQuery->where('account', (int) $request->getData('for'))->execute()
: $mapperQuery->where('id', (int) $request->getData('id'))->execute(); : $mapperQuery->where('id', (int) $request->getData('id'))->execute();
@ -145,6 +153,7 @@ final class BackendController extends Controller
$l11n = null; $l11n = null;
if ($profile->account->getId() === $request->header->account) { if ($profile->account->getId() === $request->header->account) {
/** @var \phpOMS\Localization\Localization $l11n */
$l11n = LocalizationMapper::get()->where('id', $profile->account->l11n->getId())->execute(); $l11n = LocalizationMapper::get()->where('id', $profile->account->l11n->getId())->execute();
} }
@ -153,10 +162,16 @@ final class BackendController extends Controller
$accGrpSelector = new \Modules\Profile\Theme\Backend\Components\AccountGroupSelector\BaseView($this->app->l11nManager, $request, $response); $accGrpSelector = new \Modules\Profile\Theme\Backend\Components\AccountGroupSelector\BaseView($this->app->l11nManager, $request, $response);
$view->addData('accGrpSelector', $accGrpSelector); $view->addData('accGrpSelector', $accGrpSelector);
$media = MediaMapper::get()->where('createdBy', (int) $profile->account->getId())->limit(25)->execute(); /** @var \Modules\Media\Modles\Media[] $media */
$media = MediaMapper::getAll()
->with('createdBy')
->where('createdBy', (int) $profile->account->getId())
->limit(25)
->execute();
$view->setData('media', $media instanceof NullMedia ? [] : (!\is_array($media) ? [$media] : $media)); $view->setData('media', $media instanceof NullMedia ? [] : (!\is_array($media) ? [$media] : $media));
$profileImage = $this->app->appSettings->get(null, 'default_profile_image', null, 'Profile'); $profileImage = $this->app->appSettings->get(names: SettingsEnum::DEFAULT_PROFILE_IMAGE, module: 'Profile');
$image = MediaMapper::get()->where('id', (int) $profileImage->content)->execute(); $image = MediaMapper::get()->where('id', (int) $profileImage->content)->execute();
$view->setData('defaultImage', $image); $view->setData('defaultImage', $image);
@ -175,7 +190,7 @@ final class BackendController extends Controller
* *
* @since 1.0.0 * @since 1.0.0
*/ */
public function viewProfileAdminSettings(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface public function viewProfileAdminSettings(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : RenderableInterface
{ {
$view = new View($this->app->l11nManager, $request, $response); $view = new View($this->app->l11nManager, $request, $response);
$view->setTemplate('/Modules/Profile/Theme/Backend/modules-settings'); $view->setTemplate('/Modules/Profile/Theme/Backend/modules-settings');
@ -195,7 +210,7 @@ final class BackendController extends Controller
* *
* @since 1.0.0 * @since 1.0.0
*/ */
public function viewProfileAdminCreate(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface public function viewProfileAdminCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : RenderableInterface
{ {
$view = new View($this->app->l11nManager, $request, $response); $view = new View($this->app->l11nManager, $request, $response);
$view->setTemplate('/Modules/Profile/Theme/Backend/modules-create'); $view->setTemplate('/Modules/Profile/Theme/Backend/modules-create');

View File

@ -60,7 +60,7 @@ final class ProfileMapper extends DataMapperFactory
/** /**
* Belongs to. * Belongs to.
* *
* @var array<string, array{mapper:string, external:string}> * @var array<string, array{mapper:string, external:string, column?:string, by?:string}>
* @since 1.0.0 * @since 1.0.0
*/ */
public const BELONGS_TO = [ public const BELONGS_TO = [

30
Models/SettingsEnum.php Normal file
View File

@ -0,0 +1,30 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package Modules\Profile\Models
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://karaka.app
*/
declare(strict_types=1);
namespace Modules\Profile\Models;
use phpOMS\Stdlib\Base\Enum;
/**
* Default settings enum.
*
* @package Modules\Profile\Models
* @license OMS License 1.0
* @link https://karaka.app
* @since 1.0.0
*/
abstract class SettingsEnum extends Enum
{
public const DEFAULT_PROFILE_IMAGE = '1000300001';
}