← Back to team overview

dhis2-devs team mailing list archive

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