Pergunta

Eu tenho algumas preocupações com uma abordagem que eu estou levando para centralizar um calendário no MOSS. O cenário é que não há um calendário para a Empresa e os eventos são filtrados através de público-alvo. É bastante simples para transformar público-alvo on em um calendário, a minha preocupação é quando o cliente quer auto preencher esse evento com um valor padrão no público-alvo.

Por exemplo, se um gerente de loja é postar o evento o público-alvo seria apenas a loja, da mesma forma, se um distrito gerente mensagens de um evento que só seria aplicável para as lojas em sua / seu distrito. A idéia é puxar um grupo padrão de AD ou mesmo o público global, se necessário, para o público-alvo com base em quem está criando o evento “default”.

Eu estou supondo que eu vou ter de usar a classe AudienceManager e um manipulador de eventos para obter este feito.

Posso definir o público-alvo através de JQuery para um grupo de anúncios? Preciso substituir um manipulador de eventos como ItemAdding para ir e recuperar o grupo?

Isto parece que seria um pedido bastante comum quando utilizando Públicos-alvo com um evento no calendário, mas eu gastei muito de pouco de tempo tentando encontrar exemplos e vêm-se curto.

Foi útil?

Solução

Meu melhor palpite é que você deve realmente usar um ItemEventReceiver, substituindo o evento ItemAdding e ItemUpdating (meter o item é editado?), Ambos de chamar o mesmo método SetAudience, em que o método de definir o público-alvo com base em SPCOntext.Current. Web.CurrentUser e os grupos que se encontra, ou talvez algum nível de permissão personalizado que você criar

código incompleto:

protected override ItemAdding(properties)
{
  SetAudience(properties.ListItem)
}

protected override ItemUpdating(properties)
{
  SetAudience(properties.ListItem)
}

private void SetAudience(SPListItem item)
{
  // get current user's groups
  // check if user is a member of store managers / district managers group
  // get all audiences below this user (i.e. all stores in district or single store
  // add relevant audiences to item
}

}

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top