dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #32456
Re: Using /api/dashboards to assign user groups to dashboards
Hi ,
Thanks for the quick replies :) . I just tried using the sharing api ,
and it works as required.
@Lars , Thanks for the docs. :)
On Fri, Aug 29, 2014 at 1:28 PM, Lars Helge Øverland <larshelge@xxxxxxxxx>
wrote:
> Hi,
>
> note there is a small typo above, it should be:
>
> /api/sharing?type=dashboard&id=ID
>
> I have written up some docs here:
>
> https://www.dhis2.org/doc/snapshot/en/user/html/ch32s37.html
>
> Lars
>
>
>
>
>
> On Fri, Aug 29, 2014 at 9:28 AM, Morten Olav Hansen <mortenoh@xxxxxxxxx>
> wrote:
>
>> No, not really. But the API itself is quite simple, to get current
>> sharing information, you just do:
>>
>> /api/sharing/type=dashboard&id=ID (GET request)
>>
>> and then to update, you can use (PUT/POST request):
>> /api/sharing/type=dashboard&id=ID
>>
>> With your JSON payload
>>
>> It's probably easiest to just sniff on the POST with web inspector, and
>> you will get an idea of the API, for example I set external, added a group,
>> and set public read on a dashboard on our test server, and the resulting
>> JSON was:
>>
>> {
>> "meta": {
>> "allowPublicAccess": true,
>> "allowExternalAccess": true
>> },
>> "object": {
>> "id": "iMnYyBfSxmM",
>> "name": "Delivery",
>> "publicAccess": "r-------",
>> "externalAccess": true,
>> "user": {
>> "id": "GOLswS44mh8",
>> "name": "Tom Wakiki"
>> },
>> "userGroupAccesses": [
>> {
>> "id": "wl5cDMuUhmF",
>> "name": "Administrators",
>> "access": "r-------"
>> }
>> ]
>> }
>> }
>>
>> The meta object you can just ignore, but the rest of the API should be
>> clear enough.
>>
>> Please write back if you need more information, I don't think anyone else
>> is using the sharing API, so there might be some rough edges.
>>
>> --
>> Morten
>>
>>
>> On Fri, Aug 29, 2014 at 2:14 PM, Sandesh Sukumar Doolipeta <
>> sandeshd@xxxxxxxxxxxxxxxx> wrote:
>>
>>> Hi morten ,
>>>
>>> Thanks for the reply :) . Yes , I am okay with using two requests
>>> . Is there any documentation on the sharing api ? regarding its usage?
>>>
>>>
>>> On Fri, Aug 29, 2014 at 12:22 PM, Morten Olav Hansen <mortenoh@xxxxxxxxx
>>> > wrote:
>>>
>>>> Hi
>>>>
>>>> Are you OK with using two requests for this? we have a sharing API at
>>>> /api/sharing that will do what you want
>>>>
>>>> --
>>>> Morten
>>>>
>>>>
>>>> On Fri, Aug 29, 2014 at 3:10 AM, Sandesh Sukumar Doolipeta <
>>>> sandeshd@xxxxxxxxxxxxxxxx> wrote:
>>>>
>>>>> Hi ,
>>>>>
>>>>> We are trying to create dashboards using "/api/dashboards" api.
>>>>> While creating the dashboards , we also want to assign user groups to the
>>>>> dashboard.
>>>>>
>>>>> The following is the json being posted ,
>>>>> ======================
>>>>> {
>>>>> "displayName": "Chad",
>>>>> "name": "Chad",
>>>>> "dashboardItems": [
>>>>> {
>>>>> "chart": {
>>>>> "id": "36041e3ee38"
>>>>> }
>>>>> },
>>>>> {
>>>>> "chart": {
>>>>> "id": "e7f643ca378"
>>>>> }
>>>>> }
>>>>> ],
>>>>> "publicAccess": "--------",
>>>>> "access": {
>>>>> "read": true,
>>>>> "manage": true,
>>>>> "update": true,
>>>>> "externalize": true,
>>>>> "write": true,
>>>>> "delete": true
>>>>> },
>>>>> "externalAccess": false,
>>>>> "userGroupAccesses": [
>>>>> {
>>>>> "userGroup": {
>>>>> "id": "aede79b3fbf"
>>>>> }
>>>>> }
>>>>> ],
>>>>> "id": "abfd69cb586"
>>>>> }
>>>>> ==================
>>>>>
>>>>> Though the above json , creates the dashboard , it does not assign
>>>>> the user group to it.
>>>>>
>>>>> When I looked into the code ,
>>>>>
>>>>> I saw that , HibernateGenericStore.java is a work in progress ,
>>>>>
>>>>> ==========
>>>>>
>>>>> // TODO we might want to allow setting sharing props on save, but
>>>>> for now we null them out
>>>>> identifiableObject.setPublicAccess( null );
>>>>> identifiableObject.setUserGroupAccesses( new
>>>>> HashSet<UserGroupAccess>() );
>>>>>
>>>>> ==========
>>>>>
>>>>>
>>>>> Is there any other way to assign user groups to dashboard ? Am I
>>>>> missing anything ?
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> *Sandesh Doolipeta**Application Developer*
>>>>> Emailsandeshd@xxxxxxxxxxxxxxxx
>>>>> Telephone9686062727
>>>>> [image: ThoughtWorks] <http://www.thoughtworks.com/>
>>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> *Sandesh Doolipeta**Application Developer*
>>> Emailsandeshd@xxxxxxxxxxxxxxxx
>>> Telephone9686062727
>>> [image: ThoughtWorks] <http://www.thoughtworks.com/>
>>>
>>
>>
>
--
*Sandesh Doolipeta**Application Developer*
Emailsandeshd@xxxxxxxxxxxxxxxx
Telephone9686062727
[image: ThoughtWorks] <http://www.thoughtworks.com/>
References