mirror of
https://github.com/Karaka-Management/oms-Admin.git
synced 2026-01-11 13:38:39 +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\PermissionCategory;
|
||||
use Modules\Admin\Models\SettingsEnum;
|
||||
use Modules\Messages\Models\SettingsEnum as SettingsEnumMessages;
|
||||
use Modules\Media\Models\Collection;
|
||||
use Modules\Media\Models\CollectionMapper;
|
||||
use Modules\Media\Models\UploadFile;
|
||||
use Modules\Messages\Models\EmailMapper;
|
||||
use Modules\Messages\Models\SettingsEnum as SettingsEnumMessages;
|
||||
use phpOMS\Account\AccountStatus;
|
||||
use phpOMS\Account\AccountType;
|
||||
use phpOMS\Account\GroupStatus;
|
||||
|
|
@ -64,8 +64,8 @@ use phpOMS\Message\Http\HttpResponse;
|
|||
use phpOMS\Message\Http\RequestMethod;
|
||||
use phpOMS\Message\Http\RequestStatusCode;
|
||||
use phpOMS\Message\Http\Rest;
|
||||
use phpOMS\Message\Mail\MailHandler;
|
||||
use phpOMS\Message\Mail\DsnNotificationType;
|
||||
use phpOMS\Message\Mail\MailHandler;
|
||||
use phpOMS\Message\Mail\Smtp;
|
||||
use phpOMS\Message\Mail\SubmitType;
|
||||
use phpOMS\Message\NotificationLevel;
|
||||
|
|
@ -257,6 +257,16 @@ final class ApiController extends Controller
|
|||
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
|
||||
{
|
||||
/** @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
|
||||
// https://github.com/Karaka-Management/phpOMS/issues/365
|
||||
if ($language !== '') {
|
||||
$mailL11n = $mail->getL11nByLanguage($language);
|
||||
$mailL11n = $mail->getL11nByLanguage($language);
|
||||
$mail->subject = $mailL11n->subject;
|
||||
$mail->body = $mailL11n->body;
|
||||
$mail->bodyAlt = $mailL11n->bodyAlt;
|
||||
|
|
@ -288,6 +298,7 @@ final class ApiController extends Controller
|
|||
);
|
||||
|
||||
if (empty($templateSettings)) {
|
||||
/** @var \Model\Setting[] $templateSettings */
|
||||
$templateSettings = $this->app->appSettings->get(
|
||||
names: [SettingsEnumMessages::HEADER_TEMPLATE, SettingsEnumMessages::FOOTER_TEMPLATE],
|
||||
module: 'Messages',
|
||||
|
|
@ -313,9 +324,9 @@ final class ApiController extends Controller
|
|||
$mail->template = \array_merge(
|
||||
$mail->template,
|
||||
[
|
||||
'{header_template}' => $header->body,
|
||||
'{header_template}' => $header->body,
|
||||
'{header_template_alt}' => $header->bodyAlt,
|
||||
'{footer_template}' => $footer->body,
|
||||
'{footer_template}' => $footer->body,
|
||||
'{footer_template_alt}' => $footer->bodyAlt,
|
||||
]
|
||||
);
|
||||
|
|
@ -388,7 +399,7 @@ final class ApiController extends Controller
|
|||
$mail->template,
|
||||
[
|
||||
'{reset_link}' => $resetLink,
|
||||
'{user_name}' => $account->login,
|
||||
'{user_name}' => $account->login,
|
||||
]
|
||||
);
|
||||
|
||||
|
|
@ -523,7 +534,7 @@ final class ApiController extends Controller
|
|||
$mail->template,
|
||||
[
|
||||
'{new_password}' => $pass,
|
||||
'{user_name}' => $account->login,
|
||||
'{user_name}' => $account->login,
|
||||
]
|
||||
);
|
||||
|
||||
|
|
@ -3722,7 +3733,7 @@ final class ApiController extends Controller
|
|||
return;
|
||||
}
|
||||
|
||||
/** @var \Modules\Admin\Models\Address $address */
|
||||
/** @var \phpOMS\Stdlib\Base\Address $address */
|
||||
$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->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
|
||||
*
|
||||
* @param mixed ...$data Generic data
|
||||
* @param string ...$data Generic data
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
|
|
@ -143,7 +143,7 @@ final class CliController extends Controller
|
|||
|
||||
// Enter read only mode
|
||||
$setting->content = (string) ApplicationStatus::READ_ONLY;
|
||||
$this->app->appSetting->save([$setting]);
|
||||
$this->app->appSettings->save([$setting]);
|
||||
|
||||
$mapper = SettingMapper::yield()
|
||||
->where('isEncrypted', true);
|
||||
|
|
@ -164,6 +164,6 @@ final class CliController extends Controller
|
|||
|
||||
// Restore old mode
|
||||
$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.
|
||||
*
|
||||
* @var Address[]
|
||||
* @var \phpOMS\Stdlib\Base\Address[]
|
||||
* @since 1.0.0
|
||||
*/
|
||||
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(
|
||||
int $unitId,
|
||||
string $module,
|
||||
|
|
@ -284,7 +296,7 @@ class AccountMapper extends DataMapperFactory
|
|||
{
|
||||
$accounts = [];
|
||||
|
||||
$sql =<<<SQL
|
||||
$sql = <<<SQL
|
||||
SELECT account_permission_account as account
|
||||
FROM account_permission
|
||||
WHERE (account_permission_unit = {$unitId} OR account_permission_unit IS NULL)
|
||||
|
|
@ -294,14 +306,14 @@ class AccountMapper extends DataMapperFactory
|
|||
AND account_permission_hasread = 1;
|
||||
SQL;
|
||||
|
||||
$query = new Builder(self::$db);
|
||||
$results = $query->raw($sql)->execute()->fetchAll(\PDO::FETCH_ASSOC);
|
||||
$query = new Builder(self::$db);
|
||||
$results = $query->raw($sql)->execute()?->fetchAll(\PDO::FETCH_ASSOC) ?? [];
|
||||
|
||||
foreach ($results as $result) {
|
||||
$accounts[] = (int) $result['account'];
|
||||
}
|
||||
|
||||
$sql =<<<SQL
|
||||
$sql = <<<SQL
|
||||
SELECT account_group_account as account
|
||||
FROM account_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;
|
||||
SQL;
|
||||
|
||||
$query = new Builder(self::$db);
|
||||
$results = $query->raw($sql)->execute()->fetchAll(\PDO::FETCH_ASSOC);
|
||||
$query = new Builder(self::$db);
|
||||
$results = $query->raw($sql)->execute()?->fetchAll(\PDO::FETCH_ASSOC) ?? [];
|
||||
|
||||
foreach ($results as $result) {
|
||||
$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}>
|
||||
* @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 = [
|
||||
'country' => [
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ class AddressView extends View
|
|||
/**
|
||||
* Reference id
|
||||
*
|
||||
* @var string
|
||||
* @var int
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public int $refId = 0;
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ class ContactView extends View
|
|||
/**
|
||||
* Contact
|
||||
*
|
||||
* @var Modules\Admin\Models\Contact[]
|
||||
* @var \Modules\Admin\Models\Contact[]
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public array $contacts = [];
|
||||
|
|
@ -73,7 +73,7 @@ class ContactView extends View
|
|||
/**
|
||||
* Reference id
|
||||
*
|
||||
* @var string
|
||||
* @var int
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public int $refId = 0;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user