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\SettingMapper;
use Modules\Profile\Models\SettingsEnum;
use phpOMS\Application\ApplicationAbstract;
/**
@ -42,9 +43,9 @@ class Media
{
$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();
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.
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.

View File

@ -52,7 +52,7 @@ final class ApiController extends Controller
*
* @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);
$created = [];
@ -105,7 +105,7 @@ final class ApiController extends Controller
*
* @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 */
$account = AccountMapper::get()->where('id', $request->header->account)->execute();
@ -167,7 +167,7 @@ final class ApiController extends Controller
*
* @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();
@ -212,7 +212,7 @@ final class ApiController extends Controller
*
* @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))) {
$response->set('contact_element_create', new FormValidation($val));
@ -286,7 +286,7 @@ final class ApiController extends Controller
*
* @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))) {
$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\NullMedia;
use Modules\Profile\Models\ProfileMapper;
use Modules\Profile\Models\SettingsEnum;
use phpOMS\Asset\AssetType;
use phpOMS\Contract\RenderableInterface;
use phpOMS\Localization\NullLocalization;
@ -47,7 +48,7 @@ final class BackendController extends Controller
*
* @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 */
$head = $response->get('Content')->getData('head');
@ -65,7 +66,7 @@ final class BackendController extends Controller
*
* @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);
@ -97,8 +98,10 @@ final class BackendController extends Controller
);
}
$profileImage = $this->app->appSettings->get(null, 'default_profile_image', null, 'Profile');
$image = MediaMapper::get()->where('id', (int) $profileImage->content)->execute();
$profileImage = $this->app->appSettings->get(names: SettingsEnum::DEFAULT_PROFILE_IMAGE, module: 'Profile');
/** @var \Modules\Media\Modles\Media $image */
$image = MediaMapper::get()->where('id', (int) $profileImage->content)->execute();
$view->setData('defaultImage', $image);
@ -116,7 +119,7 @@ final class BackendController extends Controller
*
* @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);
@ -135,8 +138,13 @@ final class BackendController extends Controller
$calendarView->setTemplate('/Modules/Calendar/Theme/Backend/Components/Calendar/mini');
$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
? $mapperQuery->where('account', (int) $request->getData('for'))->execute()
: $mapperQuery->where('id', (int) $request->getData('id'))->execute();
@ -145,6 +153,7 @@ final class BackendController extends Controller
$l11n = null;
if ($profile->account->getId() === $request->header->account) {
/** @var \phpOMS\Localization\Localization $l11n */
$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);
$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));
$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();
$view->setData('defaultImage', $image);
@ -175,7 +190,7 @@ final class BackendController extends Controller
*
* @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->setTemplate('/Modules/Profile/Theme/Backend/modules-settings');
@ -195,7 +210,7 @@ final class BackendController extends Controller
*
* @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->setTemplate('/Modules/Profile/Theme/Backend/modules-create');

View File

@ -60,7 +60,7 @@ final class ProfileMapper extends DataMapperFactory
/**
* 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
*/
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';
}