diff --git a/INSTALL/UPGRADE.md b/INSTALL/UPGRADE.md new file mode 100644 index 0000000..a74e152 --- /dev/null +++ b/INSTALL/UPGRADE.md @@ -0,0 +1,18 @@ +# Upgrade Cerebrate + +To upgrade a local cerebrate installation, simply pull the new code from the remote `main` branch: + +```bash +sudo -u www-data git -C /var/www/cerebrate/ pull origin main +``` + +If you need to use a proxy, you can pass them to the command like this: + +```bash +https_proxy=http://proxy.local:8080 sudo -Eu www-data git -C /var/www/cerebrate/ pull origin main +``` + +To upgrade the database, login to the webinterface as administrator and call +http://cerebrate.local:8000/instance/migrationIndex +Also available from the menu in the interface as "Database migration". +Run all available upgrades. diff --git a/README.md b/README.md index a00ccc6..c2dfa33 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ Managing public keys and assigning them to users both for communication and vali The platform is built on CakePHP 4 along with Bootstrap 4 and shares parts of the code-base with [MISP](https://www.github.com/MISP). -The installation is documented at the following location [INSTALL/INSTALL.md](INSTALL/INSTALL.md) +The installation is documented at the following location [INSTALL/INSTALL.md](INSTALL/INSTALL.md). For upgrades, look at [INSTALL/UPGRADE.md](INSTALL/UPGRADE.md) Hardware requirements: diff --git a/src/Controller/Component/CRUDComponent.php b/src/Controller/Component/CRUDComponent.php index 86bb1ec..e2e8fbe 100644 --- a/src/Controller/Component/CRUDComponent.php +++ b/src/Controller/Component/CRUDComponent.php @@ -12,7 +12,7 @@ use Cake\Http\Exception\NotFoundException; class CRUDComponent extends Component { - protected $components = ['RestResponse']; + public $components = ['RestResponse']; public function initialize(array $config): void { diff --git a/templates/Roles/add.php b/templates/Roles/add.php index 2264573..3d874b5 100644 --- a/templates/Roles/add.php +++ b/templates/Roles/add.php @@ -12,6 +12,11 @@ 'type' => 'checkbox', 'label' => 'Full admin privilege' ], + [ + 'field' => 'perm_sync', + 'type' => 'checkbox', + 'label' => 'Sync permission' + ], [ 'field' => 'is_default', 'type' => 'checkbox', diff --git a/templates/Roles/index.php b/templates/Roles/index.php index e3fec85..e5685c3 100644 --- a/templates/Roles/index.php +++ b/templates/Roles/index.php @@ -47,6 +47,12 @@ echo $this->element('genericElements/IndexTable/index_table', [ 'data_path' => 'perm_admin', 'element' => 'boolean' ], + [ + 'name' => __('Sync'), + 'sort' => 'perm_sync', + 'data_path' => 'perm_sync', + 'element' => 'boolean' + ], [ 'name' => 'Default', 'sort' => 'is_default', diff --git a/templates/Roles/view.php b/templates/Roles/view.php index 917fda9..4624868 100644 --- a/templates/Roles/view.php +++ b/templates/Roles/view.php @@ -17,6 +17,11 @@ echo $this->element( 'path' => 'perm_admin', 'type' => 'boolean' ], + [ + 'key' => __('Sync permission'), + 'path' => 'perm_sync', + 'type' => 'boolean' + ], [ 'key' => __('Default role'), 'path' => 'is_default',