GithubHelp home page GithubHelp logo

serjoscha87 / cockpit_groups Goto Github PK

View Code? Open in Web Editor NEW
37.0 4.0 9.0 228 KB

A Group Management Addon for https://github.com/agentejo/cockpit

PHP 60.81% CSS 3.64% JavaScript 1.66% Hack 33.89%
cockpit addon groupmanagement

cockpit_groups's Introduction

Groups Management UI Addon for Cockpit

Cockpit: https://github.com/agentejo/cockpit

NOTE: I've updated this addon to work with cockpit versions AFTER the big menu overhaul. If you are running an older cockpit installation BEFORE that menu overhaul you might want to install an older version of this addon. You can get it here: https://github.com/serjoscha87/cockpit_GROUPS/releases/tag/v1.0 Please note that this old version won't be supplied with fixes. You are better off updating cockpit to the latest release.

Changelog

27th May 2020:

  • Finally fixed #11 (so now you are able (again) to edit group's settings/config vars)
  • ... and made some more improvements:
    • removed the "info" tile-button + page from the navigation overlay (the git info is now placed down at the end of the groups-addon page)
    • added a new information table in the creator / editor view for groups. This table described some possible config values, their default values / recommended values & a small description for some fields
    • made the layout of group-editor/creator view a bit more fluent
    • added some more text-notes for all you out there struggeling with groups & ACLs
    • removed the filter dropdown at the group overview for its not used yet
    • addon-navigation-tile highlighting now works

11th Sep 2019:

  • Updated for the most current cockpit version as of today (commit cef5ee6c16d780b81ba3edc0b4a18129de3452fe)
    • added one new var ("media.path") in the group creation form
    • "Also create" ... now works again (including the password field)
    • "Also create a Collection..." got the possibility to set the new/duped collection's name
    • Addon now integrates with the new cockpit menu

Feb 2019:

Sep 2018:

  • when configuring ACLs the groups available will be shrinked to a smaller and less space using layout
  • added singleton to group ACL config mask
  • Now a group password can be set due the group creation "process"
  • added some more ACLs for management of singletons
  • added shrink view of group cards for singletons and collections
  • when creating a new group now by default the group vars are set

Screenshot:

Groups Management UI Addon for Cockpit

Installation

put the "Groups" dir of this repository to < your-docroot >/cockpit/addons/.

Other projects according to cockpit

https://github.com/serjoscha87/cockpit_GroupBoundAssets
https://github.com/serjoscha87/cockpit_ApiTester

cockpit_groups's People

Contributors

bassauer-storms-media avatar jankal avatar serjoscha87 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

cockpit_groups's Issues

Problem with Groups UI

Hello. I've put Groups folder into /cockpit/addons directory as is said in Installation paragraph but nothing has changed.
I can't see box "Group" in Setting. Should I change something in code?

Cannot install groups addon

I cannot install / use the addon. Readme says to create a subfolder "addons" in the Cockpit root (/usr/share/cockpit on Ubuntu 18.04) and copy the Groups folder into it. But I cannot see it anywhere in the interface.

Cockpit version is 215.

Error whe trying to create group

When I try to create a new group, I receive the following error from the backend:

error: "invalid document for insert: keys cannot contain ".": "finder.path""
file: "/var/www/html/lib/vendor/mongodb/mongodb/src/Operation/InsertOne.php"
line: 112

Some googling suggestes that the error might be connected with having a mongodb adapter that restricts the usage of "." in keys.

Visibility per collection

Hi,

Thank you for this great addon. I'm wondering if it's possible to limit visibility of some collections. i.e lets say I want "statistics collection" to be visible to managers but hidden for content providers.

If you think this will make your addon too complicated or it's not a wanted feature for your addon you can just close the issue.

Thanks,
Yusuf

Error while trying to save a new group

I have recently just installed the addon to a fairly new Cockpit instance that's using MongoDB and I cannot save a group. I'm using the addon successfully in a different instance (older version of Cockpit and Addon).

Steps to reproduce:

  • Install the plugin;
  • Go to Groups page;
  • Configure the group with the needed details;
  • Press "Save";
  • Notice that nothing happens.

Looking into the console, there is a 500 Error on /groups/save with the following details:

error: "invalid document for insert: keys cannot contain ".": "finder.path""
file: "/var/www/html/lib/vendor/mongodb/mongodb/src/Operation/InsertOne.php"
line: 112

Cockpit version: 0.10.0

Does anyone have any suggestions about this? Thanks in advance.

What license applies to the plugin source code?

Hi,

Thanks for creating this awesome plugin, it is very useful for me and my co-workers. In my company we will use Cockpit CMS, and we would like to use this plugin also. I have a question about licence therefore, because I can not find it in repository.ย 

Can we use this plugin with the same licence as the main project? Cockpit CMS is distributed on MIT licence.

Thanks from advance for reply and have a nice day! :)

Trying to get in touch regarding a security issue

Hey there!

I'd like to report a security issue but cannot find contact instructions on your repository.

If not a hassle, might you kindly add a SECURITY.md file with an email, or another contact method? GitHub recommends this best practice to ensure security issues are responsibly disclosed, and it would serve as a simple instruction for security researchers in the future.

Thank you for your consideration, and I look forward to hearing from you!

(cc @huntr-helper)

group edit error with cockpit 0.9.3

Hi @serjoscha87

I've installed a clean version of cockpit on a wampserver, php 7.3.12 and then installed Groups from the zip download

Creating a group looks fine, but editing the group is throwing an error. Not sure where to look.

Any thoughts?
Many thanks

php_error.log

[05-Dec-2019 13:57:00 UTC] PHP Stack trace:
[05-Dec-2019 13:57:00 UTC] PHP   1. {main}() C:\wamp64\cockpit\index.php:0
[05-Dec-2019 13:57:00 UTC] PHP   2. LimeExtra\App->run() C:\wamp64\cockpit\index.php:48
[05-Dec-2019 13:57:00 UTC] PHP   3. LimeExtra\App->dispatch() C:\wamp64\cockpit\lib\Lime\App.php:983
[05-Dec-2019 13:57:00 UTC] PHP   4. LimeExtra\App->render_route() C:\wamp64\cockpit\lib\Lime\App.php:1036
[05-Dec-2019 13:57:00 UTC] PHP   5. LimeExtra\App->Lime\{closure:C:\wamp64\cockpit\lib\Lime\App.php:893-900}() C:\wamp64\cockpit\lib\Lime\App.php:1090
[05-Dec-2019 13:57:00 UTC] PHP   6. LimeExtra\App->invoke() C:\wamp64\cockpit\lib\Lime\App.php:899
[05-Dec-2019 13:57:00 UTC] PHP   7. Cockpit\Controller\Groups->group() C:\wamp64\cockpit\lib\Lime\App.php:1114
[05-Dec-2019 13:57:00 UTC] PHP   8. Cockpit\Controller\Groups->render() C:\wamp64\cockpit\addons\Groups\Controller\Groups.php:41
[05-Dec-2019 13:57:00 UTC] PHP   9. LimeExtra\App->view() C:\wamp64\cockpit\lib\LimeExtra\Controller.php:51
[05-Dec-2019 13:57:00 UTC] PHP  10. Lexy->file() C:\wamp64\cockpit\lib\LimeExtra\App.php:123
[05-Dec-2019 13:57:00 UTC] PHP  11. lexy_include_with_params() C:\wamp64\cockpit\lib\Lexy.php:132
[05-Dec-2019 13:57:00 UTC] PHP  12. include() C:\wamp64\cockpit\lib\Lexy.php:443 ```

wrong path for assets if cockpit is in subfolder

When I load my cockpit from localhost/cockpit, groups.css and groups.js have wrong paths (localhost/addons/Groups...).

$app->path('groups', 'addons/Groups/');

I found three ways to solve it, but I tested it only on localhost.

$app->path('groups', '/addons/Groups/'); // with slash before addons
$app->path('groups', $app['base_route'].'addons/Groups/'); // adds 'cockpit/'
$app->path('groups', __DIR__); // current path

I prefer the one with __DIR__. This way the addon still works if I don't rename it from 'cockpit_GROUPS' to 'Groups'.

I didn't test this, but it's possible to define a custom module dir in config (loadmodules: dirnames). The version with __DIR__ should work there, too.

How to completely remove add on?

How do you fully remove this add on from the system. I deleted the folder but I believe it leaves files behind in the storage?
I'm getting this error after installing on the login page:


file_put_contents(/var/w...admin/storage/tmp/4cc5a0d2487ec7f4c75b0cc9115bf601.js): failed to open stream: Permission denied in
/var/www.../admin/lib/LimeExtra/Helper/Filesystem.php
on line
108

Singletons Management

It is possible to set permissions regarding collection entries.

However, for singletons, setting permissions do not grant any rights to the user group...

collections data

Cannot see existing collections for non admin groups, how to make them show for all groups/selected groups?

Plugin icon and Finder module errors. Add feature : block access to the Assets module

Hi,

Thanks for this plugin. Can you add this feature and fix these bugs ?

1/ Could you add an option to block access to the Assets module ?

2/ When I connect to an account created with the plugin... I can't use the Finder module, although the module is active in the plugin. I have a error message : "Something went wrong".

Finder module Error - 1
Finder module Error - 2

3/ The URI of the plugin icon is not correct.

Plugin icon Error

Change this :

<li class="uk-grid-margin">
    <a class="uk-display-block uk-panel-card-hover uk-panel-box uk-panel-space " href="/groups">
        <div class="uk-svg-adjust">
            <img class="uk-margin-small-right inherit-color" data-uk-svg="" alt="assets" src="/assets/app/media/icons/accounts.svg" width="40" height="40">
        </div>
        <div class="uk-text-truncate uk-text-small uk-margin-small-top">Groups</div>
    </a>
</li>

By this (src="../assets/app/media/icons/accounts.svg" instead of src="/assets/app/media/icons/accounts.svg") :

<li class="uk-grid-margin">
    <a class="uk-display-block uk-panel-card-hover uk-panel-box uk-panel-space " href="/groups">
        <div class="uk-svg-adjust">
            <img class="uk-margin-small-right inherit-color" data-uk-svg="" alt="assets" src="../assets/app/media/icons/accounts.svg" width="40" height="40">
        </div>
        <div class="uk-text-truncate uk-text-small uk-margin-small-top">Groups</div>
    </a>
</li>

Thanks in advance.

MongoDB not supported

image

image

Seems that the plugin is intended to work with sqlite since in mongo you cannot have a key that contains a dot symbol.

Do you plan to support Mongo?

Thanks!

Permission-management for singletons

I tried adding support for permissions concerning singletons via:

$acls_filtered = [
       'cockpit' => @$row['cockpit'],
       'collections' => @$row['collections'],
       'singletons' => @$row['singletons'],
       'regions' => @$row['regions'],
       'forms' => @$row['forms']
   ];

I also added the form fields required like so:

<div class="uk-form-row">
            <strong class="uk-text-uppercase">singletons</strong>
            <div class="uk-margin-small-top">
                <field-boolean bind="group.singletons.create" label="@lang('Create')"></field-boolean>
            </div>
            <div class="uk-margin-small-top">
                <field-boolean bind="group.singletons.delete" label="@lang('Delete')"></field-boolean>
            </div>
            <div class="uk-margin-small-top">
                <field-boolean bind="group.singletons.manage" label="@lang('Manage')"></field-boolean>
            </div>
        </div>

When I now log in using a user in a group which is allowed to manage singletons, the singleton-link isn't even shown anymore.

Any idea, what I missed?

suggestions for `vars` defaults

assets.path doesn't exist anywhere in the cockpit code. Was it in a previous version or did you add it by mistake?

'finder.allowed_uploads' => 10, looks like a placeholder. The default could be a list with "save" file types, like: pdf, png, jpg, jpeg, svg, gif

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.