sexta-feira, 23 de maio de 2008

SharePoint Data View Permissão de Usuários

Olá Amigos,

Para verificar o nível de permissão de um usuário quando estamos dentro de um XSL, devemos utilizar a função "ddwrt:IfHasRights(codigoDaPermissao)".

Exemplo (Exclusão de itens):

<xsl:if test="ddwrt:IfHasRights(8)">
...
</xsl:if>

Abaixo as permissões e seus respectivos "códigos"

ViewListItems - 1
AddListItems - 2
EditListItems - 4
DeleteListItems - 8
ApproveItems - 16
OpenItems - 32
ViewVersions - 64
DeleteVersions - 128
CancelCheckout - 256
PersonalViews - 512
ManageLists - 2048
ViewFormPages - 4096
Open - 65536
ViewPages - 131072
AddAndCustomizePages - 262144
ApplyThemeAndBorder - 524288
ApplyStyleSheets - 1048576
ViewUsageData - 2097152
CreateSSCSite - 4194314
ManageSubwebs - 8388608
CreateGroups - 16777216
ManagePermissions - 33554432
BrowseDirectories - 67108864
BrowseUserInfo - 134217728
AddDelPrivateWebParts - 268435456
UpdatePersonalWebParts - 536870912
ManageWeb - 1073741824
UseRemoteAPIs - 137438953472
ManageAlerts - 274877906944
CreateAlerts - 549755813888
EditMyUserInfo - 1099511627776
EnumeratePermissions - 4611686018427387904
FullMask - 9223372036854775807

É um script curto, porém esta função ainda vai salvar sua vida.

Abraços,
Leonardo

3 comentários:

Unknown disse...

Realmente salvou minha vida :)

Eliezer Rodrigues disse...

Felipe, estou com a seguinte dificuldade, tenho uma lista no SharePoint 2013 que existe varias colunas e tem dois grupos de acesso primeiro são os gerentes e segundo os operadores os operadores só podem alterar apenas as colunas "chegada" e "Data" e gerentes faz alteração em todas as colunas, gostaria de saber se consigo fazer este controle.

Leonardo Macanudo disse...

Olá Eliezer,

Infelizmente este tipo de comportamento só será possível com algum tipo de customização.

Uma maneira simples de realizar isto, é criando diferentes formulários de adição e edição de itens. Um para usuários comum e outro para gerentes.

Outra forma, seria utilizar Javascript CSOM para controlar o nível de permissão do usuário.

Existe ainda diversas outras opções, mas sempre o nível de esforço é crescente.

Abraço,
Leonardo