diff --git a/CHANGELOG b/CHANGELOG index 958ca45b4..5cbb5270e 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -194,6 +194,8 @@ - fix .htaccess file in restapi - restapi: add setDocumentOwner, owner can be set when uploading a document - theme in configuration can override theme of user +- saving the settings will no longer reenable an extention with no configuration +- put a red/green bullet before the extension name in the settings -------------------------------------------------------------------------------- Changes in version 5.1.20 diff --git a/styles/bootstrap/application.css b/styles/bootstrap/application.css index 17395082d..8dc96ee18 100644 --- a/styles/bootstrap/application.css +++ b/styles/bootstrap/application.css @@ -284,7 +284,9 @@ ul.jqtree-tree li.jqtree_common > .jqtree-element:hover { } i.success {color: #00b000;} +i.enabled {color: #00b000;} i.error {color: #b00000;} +i.disabled {color: #b00000;} i.warning {color: #ff9900;} i.initstate {color: #ff9900;} i.released {color: #00b000;} diff --git a/styles/bootstrap/application.js b/styles/bootstrap/application.js index b955a0e5a..147dad2ed 100644 --- a/styles/bootstrap/application.js +++ b/styles/bootstrap/application.js @@ -64,7 +64,7 @@ $(document).ready( function() { $('body').on('touchstart.dropdown', '.dropdown-menu', function (e) { e.stopPropagation(); }); $('.datepicker, #expirationdate, #fromdate, #todate, #createstartdate, #createenddate, #expirationstartdate, #expirationenddate, #revisionstartdate') - .datepicker() + .datepicker({todayHighlight: true, toggleActive: true}) .on('changeDate', function(ev){ if(ev.date && $(ev.target).data('selectmenu')) { $("#"+$(ev.target).data('selectmenu')).val('date'); diff --git a/views/bootstrap/class.Settings.php b/views/bootstrap/class.Settings.php index 25133cdde..4a3de21f1 100644 --- a/views/bootstrap/class.Settings.php +++ b/views/bootstrap/class.Settings.php @@ -38,7 +38,8 @@ class SeedDMS_View_Settings extends SeedDMS_Bootstrap_Style { protected function showStartPaneContent($name, $isactive) { /* {{{ */ echo '
'; $this->contentContainerStart(); - echo ''; + echo '
'; + echo ''; } /* }}} */ protected function showEndPaneContent($name, $currentab) { /* {{{ */ @@ -532,8 +533,8 @@ if(($kkk = $this->callHook('getFullSearchEngine')) && is_array($kkk)) if($this->hasHook('processConfig')) $extconf = $this->callHook('processConfig', $extname, $extconf); if($extconf['config']) { - $this->showRawConfigHeadline("".'_extensions[$extname]["__disable__"] ? '1' : '').'" />'.$extconf['title']); - foreach($extconf['config'] as $confkey=>$conf) { + $this->showRawConfigHeadline("".'_extensions[$extname]["__disable__"] ? '1' : '').'" />'.$extconf['title'].''); + foreach($extconf['config'] as $confkey=>$conf) { ob_start(); switch($conf['type']) { case 'checkbox': @@ -653,6 +654,12 @@ if(($kkk = $this->callHook('getFullSearchEngine')) && is_array($kkk)) $html = ob_get_clean(); $this->showConfigPlain($conf['title'], isset($conf['help']) ? $conf['help'] : '', $html); } + } else { + /* Even no configuration exists, output the input field to enable/disable + * the extension. Otherwise it will be enabled each time the config is + * saved. + */ + echo '_extensions[$extname]["__disable__"] ? '1' : '').'" />'."\n"; } } $this->showEndPaneContent('extensions', $currenttab);