mirror of
https://github.com/Karaka-Management/oms-Admin.git
synced 2026-02-14 19:48:41 +00:00
code fixes
This commit is contained in:
parent
f375214ced
commit
5065d38e2e
|
|
@ -40,11 +40,11 @@ use Modules\Admin\Models\ModuleStatusUpdateType;
|
||||||
use Modules\Admin\Models\NullAccount;
|
use Modules\Admin\Models\NullAccount;
|
||||||
use Modules\Admin\Models\PermissionCategory;
|
use Modules\Admin\Models\PermissionCategory;
|
||||||
use Modules\Admin\Models\SettingsEnum;
|
use Modules\Admin\Models\SettingsEnum;
|
||||||
use Modules\Messages\Models\SettingsEnum as SettingsEnumMessages;
|
|
||||||
use Modules\Media\Models\Collection;
|
use Modules\Media\Models\Collection;
|
||||||
use Modules\Media\Models\CollectionMapper;
|
use Modules\Media\Models\CollectionMapper;
|
||||||
use Modules\Media\Models\UploadFile;
|
use Modules\Media\Models\UploadFile;
|
||||||
use Modules\Messages\Models\EmailMapper;
|
use Modules\Messages\Models\EmailMapper;
|
||||||
|
use Modules\Messages\Models\SettingsEnum as SettingsEnumMessages;
|
||||||
use phpOMS\Account\AccountStatus;
|
use phpOMS\Account\AccountStatus;
|
||||||
use phpOMS\Account\AccountType;
|
use phpOMS\Account\AccountType;
|
||||||
use phpOMS\Account\GroupStatus;
|
use phpOMS\Account\GroupStatus;
|
||||||
|
|
@ -64,8 +64,8 @@ use phpOMS\Message\Http\HttpResponse;
|
||||||
use phpOMS\Message\Http\RequestMethod;
|
use phpOMS\Message\Http\RequestMethod;
|
||||||
use phpOMS\Message\Http\RequestStatusCode;
|
use phpOMS\Message\Http\RequestStatusCode;
|
||||||
use phpOMS\Message\Http\Rest;
|
use phpOMS\Message\Http\Rest;
|
||||||
use phpOMS\Message\Mail\MailHandler;
|
|
||||||
use phpOMS\Message\Mail\DsnNotificationType;
|
use phpOMS\Message\Mail\DsnNotificationType;
|
||||||
|
use phpOMS\Message\Mail\MailHandler;
|
||||||
use phpOMS\Message\Mail\Smtp;
|
use phpOMS\Message\Mail\Smtp;
|
||||||
use phpOMS\Message\Mail\SubmitType;
|
use phpOMS\Message\Mail\SubmitType;
|
||||||
use phpOMS\Message\NotificationLevel;
|
use phpOMS\Message\NotificationLevel;
|
||||||
|
|
@ -257,6 +257,16 @@ final class ApiController extends Controller
|
||||||
return $handler;
|
return $handler;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Setup default values for emails (incl. basic templating)
|
||||||
|
*
|
||||||
|
* @param \Modules\Messages\Models\Email $mail Email
|
||||||
|
* @param string $language Email language (e.g. 'en', 'de')
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
public function setupEmailDefaults(\Modules\Messages\Models\Email $mail, string $language = '') : bool
|
public function setupEmailDefaults(\Modules\Messages\Models\Email $mail, string $language = '') : bool
|
||||||
{
|
{
|
||||||
/** @var \Model\Setting[] $emailSettings */
|
/** @var \Model\Setting[] $emailSettings */
|
||||||
|
|
@ -274,7 +284,7 @@ final class ApiController extends Controller
|
||||||
// @todo Implement a model reading system which allows to define alternative conditions/wheres
|
// @todo Implement a model reading system which allows to define alternative conditions/wheres
|
||||||
// https://github.com/Karaka-Management/phpOMS/issues/365
|
// https://github.com/Karaka-Management/phpOMS/issues/365
|
||||||
if ($language !== '') {
|
if ($language !== '') {
|
||||||
$mailL11n = $mail->getL11nByLanguage($language);
|
$mailL11n = $mail->getL11nByLanguage($language);
|
||||||
$mail->subject = $mailL11n->subject;
|
$mail->subject = $mailL11n->subject;
|
||||||
$mail->body = $mailL11n->body;
|
$mail->body = $mailL11n->body;
|
||||||
$mail->bodyAlt = $mailL11n->bodyAlt;
|
$mail->bodyAlt = $mailL11n->bodyAlt;
|
||||||
|
|
@ -288,6 +298,7 @@ final class ApiController extends Controller
|
||||||
);
|
);
|
||||||
|
|
||||||
if (empty($templateSettings)) {
|
if (empty($templateSettings)) {
|
||||||
|
/** @var \Model\Setting[] $templateSettings */
|
||||||
$templateSettings = $this->app->appSettings->get(
|
$templateSettings = $this->app->appSettings->get(
|
||||||
names: [SettingsEnumMessages::HEADER_TEMPLATE, SettingsEnumMessages::FOOTER_TEMPLATE],
|
names: [SettingsEnumMessages::HEADER_TEMPLATE, SettingsEnumMessages::FOOTER_TEMPLATE],
|
||||||
module: 'Messages',
|
module: 'Messages',
|
||||||
|
|
@ -313,9 +324,9 @@ final class ApiController extends Controller
|
||||||
$mail->template = \array_merge(
|
$mail->template = \array_merge(
|
||||||
$mail->template,
|
$mail->template,
|
||||||
[
|
[
|
||||||
'{header_template}' => $header->body,
|
'{header_template}' => $header->body,
|
||||||
'{header_template_alt}' => $header->bodyAlt,
|
'{header_template_alt}' => $header->bodyAlt,
|
||||||
'{footer_template}' => $footer->body,
|
'{footer_template}' => $footer->body,
|
||||||
'{footer_template_alt}' => $footer->bodyAlt,
|
'{footer_template_alt}' => $footer->bodyAlt,
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
@ -388,7 +399,7 @@ final class ApiController extends Controller
|
||||||
$mail->template,
|
$mail->template,
|
||||||
[
|
[
|
||||||
'{reset_link}' => $resetLink,
|
'{reset_link}' => $resetLink,
|
||||||
'{user_name}' => $account->login,
|
'{user_name}' => $account->login,
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -523,7 +534,7 @@ final class ApiController extends Controller
|
||||||
$mail->template,
|
$mail->template,
|
||||||
[
|
[
|
||||||
'{new_password}' => $pass,
|
'{new_password}' => $pass,
|
||||||
'{user_name}' => $account->login,
|
'{user_name}' => $account->login,
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -3722,7 +3733,7 @@ final class ApiController extends Controller
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @var \Modules\Admin\Models\Address $address */
|
/** @var \phpOMS\Stdlib\Base\Address $address */
|
||||||
$address = AddressMapper::get()->where('id', (int) $request->getData('id'))->execute();
|
$address = AddressMapper::get()->where('id', (int) $request->getData('id'))->execute();
|
||||||
$this->deleteModelRelation($request->header->account, (int) $request->getData('account'), [$address->id], AccountMapper::class, 'addresses', 'account-address', $request->getOrigin());
|
$this->deleteModelRelation($request->header->account, (int) $request->getData('account'), [$address->id], AccountMapper::class, 'addresses', 'account-address', $request->getOrigin());
|
||||||
$this->deleteModel($request->header->account, $address, AddressMapper::class, 'address', $request->getOrigin());
|
$this->deleteModel($request->header->account, $address, AddressMapper::class, 'address', $request->getOrigin());
|
||||||
|
|
|
||||||
|
|
@ -127,7 +127,7 @@ final class CliController extends Controller
|
||||||
/**
|
/**
|
||||||
* Api method to make a call to the cli app
|
* Api method to make a call to the cli app
|
||||||
*
|
*
|
||||||
* @param mixed ...$data Generic data
|
* @param string ...$data Generic data
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*
|
*
|
||||||
|
|
@ -143,7 +143,7 @@ final class CliController extends Controller
|
||||||
|
|
||||||
// Enter read only mode
|
// Enter read only mode
|
||||||
$setting->content = (string) ApplicationStatus::READ_ONLY;
|
$setting->content = (string) ApplicationStatus::READ_ONLY;
|
||||||
$this->app->appSetting->save([$setting]);
|
$this->app->appSettings->save([$setting]);
|
||||||
|
|
||||||
$mapper = SettingMapper::yield()
|
$mapper = SettingMapper::yield()
|
||||||
->where('isEncrypted', true);
|
->where('isEncrypted', true);
|
||||||
|
|
@ -164,6 +164,6 @@ final class CliController extends Controller
|
||||||
|
|
||||||
// Restore old mode
|
// Restore old mode
|
||||||
$setting->content = $oldMode;
|
$setting->content = $oldMode;
|
||||||
$this->app->appSetting->save([$setting]);
|
$this->app->appSettings->save([$setting]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -59,7 +59,7 @@ class Account extends \phpOMS\Account\Account
|
||||||
/**
|
/**
|
||||||
* Location data.
|
* Location data.
|
||||||
*
|
*
|
||||||
* @var Address[]
|
* @var \phpOMS\Stdlib\Base\Address[]
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
public array $addresses = [];
|
public array $addresses = [];
|
||||||
|
|
|
||||||
|
|
@ -275,6 +275,18 @@ class AccountMapper extends DataMapperFactory
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find accounts that have read permission
|
||||||
|
*
|
||||||
|
* @param int $unitId Unit id
|
||||||
|
* @param string $module Module name
|
||||||
|
* @param int $category Category
|
||||||
|
* @param int $element Element id
|
||||||
|
*
|
||||||
|
* @return int[] Account ids
|
||||||
|
*
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
public static function findReadPermission(
|
public static function findReadPermission(
|
||||||
int $unitId,
|
int $unitId,
|
||||||
string $module,
|
string $module,
|
||||||
|
|
@ -284,7 +296,7 @@ class AccountMapper extends DataMapperFactory
|
||||||
{
|
{
|
||||||
$accounts = [];
|
$accounts = [];
|
||||||
|
|
||||||
$sql =<<<SQL
|
$sql = <<<SQL
|
||||||
SELECT account_permission_account as account
|
SELECT account_permission_account as account
|
||||||
FROM account_permission
|
FROM account_permission
|
||||||
WHERE (account_permission_unit = {$unitId} OR account_permission_unit IS NULL)
|
WHERE (account_permission_unit = {$unitId} OR account_permission_unit IS NULL)
|
||||||
|
|
@ -294,14 +306,14 @@ class AccountMapper extends DataMapperFactory
|
||||||
AND account_permission_hasread = 1;
|
AND account_permission_hasread = 1;
|
||||||
SQL;
|
SQL;
|
||||||
|
|
||||||
$query = new Builder(self::$db);
|
$query = new Builder(self::$db);
|
||||||
$results = $query->raw($sql)->execute()->fetchAll(\PDO::FETCH_ASSOC);
|
$results = $query->raw($sql)->execute()?->fetchAll(\PDO::FETCH_ASSOC) ?? [];
|
||||||
|
|
||||||
foreach ($results as $result) {
|
foreach ($results as $result) {
|
||||||
$accounts[] = (int) $result['account'];
|
$accounts[] = (int) $result['account'];
|
||||||
}
|
}
|
||||||
|
|
||||||
$sql =<<<SQL
|
$sql = <<<SQL
|
||||||
SELECT account_group_account as account
|
SELECT account_group_account as account
|
||||||
FROM account_group
|
FROM account_group
|
||||||
LEFT JOIN group_permission ON account_group.account_group_group = group_permission.group_permission_group
|
LEFT JOIN group_permission ON account_group.account_group_group = group_permission.group_permission_group
|
||||||
|
|
@ -312,8 +324,8 @@ class AccountMapper extends DataMapperFactory
|
||||||
AND group_permission_hasread = 1;
|
AND group_permission_hasread = 1;
|
||||||
SQL;
|
SQL;
|
||||||
|
|
||||||
$query = new Builder(self::$db);
|
$query = new Builder(self::$db);
|
||||||
$results = $query->raw($sql)->execute()->fetchAll(\PDO::FETCH_ASSOC);
|
$results = $query->raw($sql)->execute()?->fetchAll(\PDO::FETCH_ASSOC) ?? [];
|
||||||
|
|
||||||
foreach ($results as $result) {
|
foreach ($results as $result) {
|
||||||
$accounts[] = (int) $result['account'];
|
$accounts[] = (int) $result['account'];
|
||||||
|
|
|
||||||
|
|
@ -97,6 +97,15 @@ final class LocalizationMapper extends DataMapperFactory
|
||||||
*
|
*
|
||||||
* @var array<string, array{mapper:class-string, external:string, by?:string, column?:string, conditional?:bool}>
|
* @var array<string, array{mapper:class-string, external:string, by?:string, column?:string, conditional?:bool}>
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
|
*
|
||||||
|
* @question Is there a real significant difference between by and column?
|
||||||
|
* By defines the reference id
|
||||||
|
* Column defines the data which is stored in the variable IFF a scalar type should be stored instead of an object
|
||||||
|
* Maybe using a flag instead of column would be better: e.g. useScalar = true -> don't create object
|
||||||
|
* But sometimes we don't define 'by' if the 'by' is the primary key:
|
||||||
|
* by => id
|
||||||
|
* column => whatever
|
||||||
|
* But we don't type this and only define column.
|
||||||
*/
|
*/
|
||||||
public const OWNS_ONE = [
|
public const OWNS_ONE = [
|
||||||
'country' => [
|
'country' => [
|
||||||
|
|
|
||||||
|
|
@ -73,7 +73,7 @@ class AddressView extends View
|
||||||
/**
|
/**
|
||||||
* Reference id
|
* Reference id
|
||||||
*
|
*
|
||||||
* @var string
|
* @var int
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
public int $refId = 0;
|
public int $refId = 0;
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ class ContactView extends View
|
||||||
/**
|
/**
|
||||||
* Contact
|
* Contact
|
||||||
*
|
*
|
||||||
* @var Modules\Admin\Models\Contact[]
|
* @var \Modules\Admin\Models\Contact[]
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
public array $contacts = [];
|
public array $contacts = [];
|
||||||
|
|
@ -73,7 +73,7 @@ class ContactView extends View
|
||||||
/**
|
/**
|
||||||
* Reference id
|
* Reference id
|
||||||
*
|
*
|
||||||
* @var string
|
* @var int
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
public int $refId = 0;
|
public int $refId = 0;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user