diff --git a/doraemon.spec b/doraemon.spec index 3650594..2d5dff6 100644 --- a/doraemon.spec +++ b/doraemon.spec @@ -1,6 +1,6 @@ Summary: Helps client to join domain and maintain itself Name: doraemon -Version: 1.3.0 +Version: 2.0.0-alpha2 Release: 1.ns6 URL: https://github.com/bglug-it/doraemon/ License: GPLv2+ @@ -11,7 +11,7 @@ Requires: httpd, php, sudo, php-xml, php-mcrypt Requires: nethserver-base, nethserver-php Requires: net-tools Requires: upstart -Source0: doraemon-1.3.0.tar.gz +Source0: doraemon-2.0.0.tar.gz BuildArch: noarch %description @@ -82,6 +82,7 @@ if [ "$1" = 2 ]; then fi %post +/etc/e-smith/events/actions/initialize-default-databases if [ "$1" = 1 ]; then #installation /sbin/e-smith/db configuration set %{name} service status enabled TCPPort 3000 access private DefaultRole client DomainFile /etc/domain.yml ManagementKeyFile /home/amgmt/.ssh/id_rsa.pub NamingBase lab NamingDigits 2 VaultPassFile /home/amgmt/.ansible/vault.txt diff --git a/root/usr/share/nethesis/NethServer/Language/en/NethServer_Module_Doraemon_Rooms.php b/root/usr/share/nethesis/NethServer/Language/en/NethServer_Module_Doraemon_Rooms.php new file mode 100644 index 0000000..14cf8bc --- /dev/null +++ b/root/usr/share/nethesis/NethServer/Language/en/NethServer_Module_Doraemon_Rooms.php @@ -0,0 +1,7 @@ +setTableAdapter($this->getPlatform()->getTableAdapter('rooms', 'room')) + ->setColumns($columns) + ->addRowAction(new \NethServer\Module\Doraemon\Rooms\Modify('update')) + ->addRowAction(new \NethServer\Module\Doraemon\Rooms\Modify('delete')) + ->addTableAction(new \NethServer\Module\Doraemon\Rooms\Modify('create')) + ->addTableAction(new \Nethgui\Controller\Table\Help('Help')) + ; + + parent::initialize(); + } + +} diff --git a/root/usr/share/nethesis/NethServer/Module/Doraemon/Rooms/Modify.php b/root/usr/share/nethesis/NethServer/Module/Doraemon/Rooms/Modify.php new file mode 100644 index 0000000..122b7d7 --- /dev/null +++ b/root/usr/share/nethesis/NethServer/Module/Doraemon/Rooms/Modify.php @@ -0,0 +1,55 @@ +setSchema($parameterSchema); + parent::initialize(); + } + + public function validate(\Nethgui\Controller\ValidationReportInterface $report) + { + if ($this->getIdentifier() === 'delete') { + $v = $this->createValidator()->platform('room-delete'); + if ( ! $v->evaluate($this->parameters['name'])) { + $report->addValidationError($this, 'Key', $v); + } + } + parent::validate($report); + } + + protected function onParametersSaved($parameters) + { + $actionName = $this->getIdentifier(); + if ($actionName === 'update') { + $actionName = 'modify'; + } + $this->getPlatform()->signalEvent(sprintf('room-%s &', $actionName)); + } + + public function prepareView(\Nethgui\View\ViewInterface $view) + { + parent::prepareView($view); + $templates = array( + 'create' => 'NethServer\Template\Doraemon\Rooms', + 'update' => 'NethServer\Template\Doraemon\Rooms', + 'delete' => 'Nethgui\Template\Table\Delete', + ); + $view->setTemplate($templates[$this->getIdentifier()]); + } + +} diff --git a/root/usr/share/nethesis/NethServer/Template/Doraemon/Rooms.php b/root/usr/share/nethesis/NethServer/Template/Doraemon/Rooms.php new file mode 100644 index 0000000..48ca637 --- /dev/null +++ b/root/usr/share/nethesis/NethServer/Template/Doraemon/Rooms.php @@ -0,0 +1,21 @@ +getModule()->getIdentifier() == 'update') { + // disable updating of hostname + // the hostname is the key of the db item, if you change it, bad things happens + $keyFlags = $view::STATE_DISABLED; + $template = 'Update_Room_Header'; +} else { + $keyFlags = 0; + $template = 'Create_Room_Header'; +} + +echo $view->header('hostname')->setAttribute('template', $T($template)); + +echo $view->panel() + ->insert($view->textInput('Name')) +// ->insert($view->textInput('Name', $keyFlags)) +; + +echo $view->buttonList($view::BUTTON_SUBMIT | $view::BUTTON_CANCEL | $view::BUTTON_HELP);