meraproject/themes/merakomis/dictionary/staffing/model.php
keboss-m 5c21d25d45 Initial commit: Merakomis portal, Docker stack and user-reader API.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-24 11:04:05 +03:00

139 lines
4.8 KiB
PHP
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?
namespace themes\merakomis\dictionary;
use core\columns\structure\eFilterType;
use core\db\structure\Column as C;
use core\db\structure\eColumnType;
use core\lang\structure\LangVariable as V;
use ModuleBZ\Layout\Column;
use ms\ms\structure\msModuleTable;
use common\Image;
use ModuleBZ\Form\Input\ImagePicker;
use ModuleBZ\Form\Input\Switcher;
use ModuleBZ\Form\Input\Text;
use ModuleBZ\Form\Input\Textarea;
use ModuleBZ\Layout\Row;
use themes\Merakomis;
use themes\merakomis\dictionary\staffing\structure\lang as Vars;
use themes\merakomis\input\Save as InputSave;
use themes\merakomis\structure\merakomisModuleTable;
class Staffing extends merakomisModuleTable {
static $self;
static $table_name = 'tMerakomisDStaffing';
static $controller = 'themes.merakomis.dictionary.staffing';
static $ID = 'id';
static $NAME = 'name';
static $TEXT = 'text';
static $VIS = 'vis';
static $PORTAL = 'portal';
static $ACCOUNT = 'account';
static function getTitle(){return V::get(Vars::$MODULE_NAME);}
static function getSystemLangValues():array{ return Vars::getArray(); }
static $cache;
static function getAllCache(){
if(isset(self::$cache)) return self::$cache;
return self::$cache = self::getAll();
}
static function getFormInputs(\ModuleBZ\Form &$form, array $data, $C, bool $isEdit) {
$form->addRow((new Row())
->addColumn((new Column())->setClassAll('c-40 ')->addRow((new Row())))
->addColumn(
(new Column())->setClassAll('c-20 ')->addRow((new Row())
->addColumn(((new Text())
->setName(self::$NAME)
->setValue($C[self::$NAME])
->setClassAll('c-100')
->setLabel($c = V::get(Vars::$NAME))
->setPlaceholder($c)
))
->addColumn(((new Switcher())
->setName(self::$VIS)
->setClassAll('c-100 green_switcher')
//->setLabel(' ')
->setPlaceholder($c = V::get(Vars::$VIS))
->setChecked(boolval($C[self::$VIS]))
))
->addColumn(((new Textarea())
->setName(self::$TEXT)
->setValue($C[self::$TEXT])
->setClassAll('c-100')
->setLabel($c = V::get(Vars::$TEXT))
->setPlaceholder($c)
->setAutoHeight(true)
))
)->addRow((new Row())
->addColumn(((new InputSave())->setClassAll('c-100')->setName('save')))
)
))
;
}
static function columnInfo() : array {
return [
new C([
C::VAR_NAME =>&self::$ID,
C::TYPE =>eColumnType::INT,
C::AUTO_INCREMENT =>true,
C::PRIMARY =>true,
C::DEFAULT =>0,
C::HIDDEN =>true,
C::TH =>V::get(Vars::$ID),
]),
new C([
C::VAR_NAME => &self::$NAME,
C::TYPE => eColumnType::VARCHAR,
C::FILTER_TYPE => eFilterType::TEXT,
C::LENGTH => 1023,
C::TH => V::get(Vars::$NAME),
]),
new C([
C::VAR_NAME => &self::$TEXT,
C::TYPE => eColumnType::TEXT,
C::FILTER_TYPE => eFilterType::TEXT,
C::TH => V::get(Vars::$TEXT),
C::TD_CLASS => 'pre_wrap'
//C::HIDDEN =>true
]),
new C([
C::VAR_NAME => &self::$VIS,
C::TYPE => eColumnType::TINYINT,
C::FILTER_TYPE => eFilterType::BOOLEAN,
C::TH => V::get(Vars::$VIS),
C::FUNC_VALUE_DATA => function($v){
return Merakomis::fbool($v[self::$VIS]);
}
]),
new C([
C::VAR_NAME => &self::$PORTAL,
C::TYPE => eColumnType::INT,
C::DEFAULT => intval(\Site::$portal_id),
c::HIDDEN => true,
]),
new C([
C::VAR_NAME => &self::$ACCOUNT,
C::TYPE => eColumnType::INT,
C::DEFAULT => intval(\Site::$owner_id),
//C::TH => V::get(Vars::$ACCOUNT),
c::HIDDEN => true,
]),
];
}
}
new Staffing();
///