Histórico da Página
...
Nota | ||
---|---|---|
| ||
Grande parte dos eventos possuem WKUser para identificar o usuário. Esse ao utilizar a função de substituto, onde um usuário pode substituir outro, irá sempre retornar o usuário que está no momento utilizando o sistema. Exemplo: Ana colocou Bruno como seu substituto, Bruno acessa o sistema e faz uma ação em nome da Ana, sistema irá retornar o código do usuário Bruno nos eventos que usam WKUser. |
Eventos
...
do tipo "Before"
De uma forma geral, os eventos do tipo before são executados antes que a ação que disparou o evento seja efetivada, desta forma é possível filtrar os dados que são passados ou até mesmo evitar que a ação executada seja concluída.
Para bloquear a ação basta lançar uma Exception passando uma mensagem de texto que será exibida em formado de toast para o usuário:
Exemplo:
Bloco de código | ||||
---|---|---|---|---|
| ||||
throw "Você não pode efetuar esta ação após as 18 horas." |
Eventos do tipo "After"
Já os eventos do tipo after são executados após a efetivação da ação e não possuem nenhuma influência sobre esta. Ou seja, qualquer dado alterado no parâmetro recebido dentro do evento não será refletido sobre o conteúdo persistido da ação.
Outra característica interessante desse tipo de evento é que eles não devem lançar exceção, caso isso ocorra a exceção ignorada pelo sistema.
Eventos Disponíveis
A seguir serão detalhados os eventos disponíveis no Fluig.
AddDocumentConvertionExt
Este evento permite customizar a conversão de documento realizada pelo Fluig. Mais informações sobre ele podem ser encontradas no guia Conversores de Documentos.
DisplayCentralTasks
Este evento é disparado sempre antes de ser exibida a central de tarefas. Através dele é possível inserir, alterar ou remover os links da central de tarefas. O evento recebe como parâmetro um LinkedHashMap com os links disponíveis na central de tarefas.
Exemplo adicionando um link customizado ao final dos itens da central de tarefas:
Bloco de código | ||
---|---|---|
| ||
function displayCentralTasks (links){
|
...
A seguir serão detalhados os eventos disponíveis no Fluig.
AddDocumentConvertionExt
Este evento permite customizar a conversão de documento realizada pelo Fluig. Mais informações sobre ele podem ser encontradas no guia Conversores de Documentos.
DisplayCentralTasks
Este evento é disparado sempre antes de ser exibida a central de tarefas. Através dele é possível inserir, alterar ou remover os links da central de tarefas. O evento recebe como parâmetro um LinkedHashMap com os links disponíveis na central de tarefas.
Exemplo adicionando um link customizado ao final dos itens da central de tarefas:
Bloco de código | ||
---|---|---|
| ||
function displayCentralTasks (links){
links.put("Fluig","http://www.fluig.com");
} |
Exemplos alterando a ordem de exibição dos links padrões e adicionando três novos, um no início e dois ao final:
Bloco de código | ||
---|---|---|
| ||
function displayCentralTasks (links){ var _links = new java.util.LinkedHashMap(); _links.put("Fluig","http://www.fluig.com"); } |
Exemplos alterando a ordem de exibição dos links padrões e adicionando três novos, um no início e dois ao final:
Bloco de código | ||
---|---|---|
| ||
function displayCentralTasks (links){ var _links = new java.util.LinkedHashMap(); _links.put("Fluig","http://www.fluig.com"); var it = links.keySet().iterator(); while (it.hasNext()) { var key = it.next(); _links.put(key, links.get(key)); } _links.put("Fluig - DEV" ,"http://dev.fluig.com"); _links.put("Google","http://www.google.com.br/search?sourceid=chrome&ie=UTF-8&q=" + getValue("WKUser")); links.clear(); links.putAll(_links); } |
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
function validateCustomMetadata (fields){ if( fields.getValue("campo1") == “Area 1”){ throw "TRATAMENTO DA EXCEÇÃO"; } } |
...
BeforeDocumentPublisher
Utilizado quando é preciso fazer validação customizada nas propriedades da tela de publicação/edição de documentos antes de salva-lo no banco de dados. Dentre todas as propriedades da tela de publicação/edição de documentos não serão tratados os campos customizados, pois já existe um evento que trata esta situação.
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
function beforeDocumentViewer(){
var doc = getValue("WKDocument");
var company = getValue("WKCompany");
var ds
try {
var c1 = DatasetFactory.createConstraint( "allocatedDocumentPK.companyId", company, company, ConstraintType.MUST);
var c2 = DatasetFactory.createConstraint( "allocatedDocumentPK.sourceDocument", doc.getDocumentId(), doc.getDocumentId(), ConstraintType.MUST);
var c3 = DatasetFactory.createConstraint( "allocatedDocumentPK.sourceVersion", doc.getVersion(), doc.getVersion(), ConstraintType.MUST);
var c4 = DatasetFactory.createConstraint("active", "true","true", ConstraintType.MUST);
var constraints = new Array(c1, c2, c3, c4);
ds = DatasetFactory.getDataset("allocatedDocument", null, constraints, null);
}catch (e) {
log.error("Erro ao tentar recuperar o documento em CheckOut: " + e.message);
}
if(ds!=null && ds.rowsCount>0){
throw "Este documento está em Check Out e não pode ser visualizado. Foi gerado o documento " + ds.getValue(0,"allocatedDocumentPK.destinationDocument") + " que está sob responsabilidade do usuário com matrícula "+ ds.getValue(0,"colleagueId");
}
} |
AfterSaveCard
Utilizado quando ao criar/salvar os dados de um registro de formulário pela Navegação de Documentos ou por movimentações Workflow se deseja salvar os dados do registro de formulário em uma forma externa. Por exemplo, ao criar o registro de formulário, enviar os dados do mesmo para um Webservice de outro produto.
Bloco de código | ||||
---|---|---|---|---|
| ||||
function afterSaveCard(companyId, formId, cardId, versionId, cardData){
} |
documento " + ds.getValue(0,"allocatedDocumentPK.destinationDocument") + " que está sob responsabilidade do usuário com matrícula "+ ds.getValue(0,"colleagueId");
}
} |
AfterSaveCard
Utilizado quando ao criar/salvar os dados de um registro de formulário pela Navegação de Documentos ou por movimentações Workflow se deseja salvar os dados do registro de formulário em uma forma externa. Por exemplo, ao criar o registro de formulário, enviar os dados do mesmo para um Webservice de outro produto.
Bloco de código | ||||
---|---|---|---|---|
| ||||
function afterSaveCard(companyId, formId, cardId, versionId, cardData){
} |
Sendo os parâmetros:
Propriedade | Descrição | Tipo |
companyId | Código da Empresa | int |
formId | Código do Formulário | int |
cardId | Código do Registro de Formulário | int |
versionId | Versão do Registro de Formulário | int |
cardData | Dados do Registro de Formulário | Hashmap <String, String> |
Bloco de código | ||||
---|---|---|---|---|
| ||||
function afterSaveCard(companyId, formId, cardId, versionId, cardData){
var custom = ServiceManager.getService("CustomCard");
var serviceHelper = custom.getBean();
var serviceLocator = serviceHelper.instantiate("com.totvs.technology.webdesk.forms.service.custom.CustomCardServiceLocator");
var service = serviceLocator.getCustomCardPort();
var ar = new Array();
var it = cardData.keySet().iterator();
while (it.hasNext()) {
var key = it.next();
var field1 = serviceHelper.instantiate("com.totvs.technology.webdesk.forms.service.custom.CardKeyValue");
field1.setKey(key);
field1.setValue( cardData.get(key));
log.info('>' + key + ': ' + cardData.get(key));
ar.push(field1);
}
var resultArr = serviceHelper.instantiate("com.totvs.technology.webdesk.forms.service.custom.CardKeyValueArray");
resultArr.setItem(ar);
service.create(companyId, formId, cardId, versionId, resultArr);
} |
AfterDeleteCard
Utilizado como complemento do evento afterSaveCard. É chamado toda vez que um formulário ou um registro de formulário é eliminado da lixeira.
Bloco de código | ||||
---|---|---|---|---|
| ||||
function afterSaveCard(companyId, formId, cardId, versionId, cardData){
} |
Sendo os parâmetros:
Propriedade | Descrição | Tipo |
companyId | Código da Empresa | int |
cardId | Código do Registro de Formulário | int |
Bloco de código | ||||
---|---|---|---|---|
| ||||
function afterDeleteCard(companyId,cardId){
var custom = ServiceManager.getService("CustomCard");
var serviceHelper = custom.getBean();
var serviceLocator = serviceHelper.instantiate("com.totvs.technology.webdesk.forms.service.custom.CustomCardServiceLocator");
var service = serviceLocator.getCustomCardPort();
log.info("########## carregou serviço CustomCard");
service.deleteCard(companyId, cardId);
} |
BeforeWatchContent
Utilizado quando ao acompanhar algum conteúdo se deseja recuperar informações do registro e usar antes da ação de "acompanhar". Por exemplo, ao acompanhar um documento, é possível recuperar suas informações e usá-las em um dataset.
Bloco de código | ||||
---|---|---|---|---|
| ||||
function beforeWatchContent(companyId, watchDTO){
} |
Sendo os parâmetros:
Propriedade | Descrição | Tipo |
companyId | Código da Empresa | int |
watchDTO | Dados do registro | WatchDTO |
Bloco de código | ||||
---|---|---|---|---|
| ||||
function beforeWatchContent(companyId, watchDTO){
if(watchDTO.getSocialWatchType() == "DOCUMENT"){
var objClass = "com.totvs.technology.social.document.6";
var objClass = watchDTO.getObjectClass();
var patt = new RegExp( /\d+/) ;
var documentId = patt.exec(objClass) ;
var documentVersion = watchDTO.getObjectId();
var doc = getValue("WKDocument");
var company = companyId;
var ds ;
try {
var c1 = DatasetFactory.createConstraint( "allocatedDocumentPK.companyId", company, company, ConstraintType.MUST);
var c2 = DatasetFactory.createConstraint("allocatedDocumentPK.sourceDocument",documentId,documentId, ConstraintType.MUST);
var c3 = DatasetFactory.createConstraint("allocatedDocumentPK.sourceVersion", documentVersion,documentVersion, ConstraintType.MUST);
var c4 = DatasetFactory.createConstraint("active", "true","true",ConstraintType.MUST);
var constraints = new Array(c1, c2, c3, c4);
ds = DatasetFactory.getDataset("allocatedDocument", null, constraints, null);
}catch (e) {
log.error("Erro ao tentar recuperar o documento em CheckOut: " + e.message);
}
if(ds!=null && ds.rowsCount>0){
throw "Sua solicitação de notificação foi negada, pois o documento está em checkout." ;
}
}
} |
AfterWatchContent
Utilizado quando ao acompanhar algum conteúdo se deseja recuperar informações do registro e usar após a ação de "acompanhar". Por exemplo, ao acompanhar um post, é possível recuperar suas informações e usá-las para informar o usuário sobre o autor do post.
Bloco de código | ||||
---|---|---|---|---|
| ||||
function afterWatchContent(companyId, watchDTO){
} |
Sendo os parâmetros:
Propriedade | Descrição | Tipo |
companyId | Código da Empresa | int |
watchDTO | Dados do registro | WatchDTO |
Bloco de código | ||||
---|---|---|---|---|
| ||||
function afterWatchContent(companyId, watchDTO){
if(watchDTO.getSocialWatchType() == "POST"){
throw "O usuário "+watchDTO.getUserAlias()+" vai ser notificado sobre o post " + watchDTO.getText() + " do autor " + watchDTO.getPostAuthor() ;
}
} |
BeforeUnwatchContent
Utilizado quando ao deixar de acompanhar algum conteúdo se deseja recuperar informações do registro e usar antes da ação de "deixar de acompanhar". Por exemplo, ao tentar deixar de acompanhar uma comunidade, é possível decidir se o usuário pode deixar de acompanhá-la.
Bloco de código | ||||
---|---|---|---|---|
| ||||
function beforeUnwatchContent(companyId, watchDTO){
} |
Sendo os parâmetros:
Propriedade | Descrição | Tipo |
companyId | Código da Empresa | int |
watchDTO | Dados do registro | WatchDTO |
Bloco de código | ||||
---|---|---|---|---|
| ||||
function beforeUnwatchContent(companyId, watchDTO){
if(watchDTO.getSocialWatchType() == "COMMUNITY"){
throw "Você não pode deixar de ser notificado sobre a comunidade " + watchDTO.getDescription() ;
}
} |
AfterUnwatchContent
Utilizado quando ao deixar de acompanhar algum conteúdo se deseja recuperar informações do registro e usar após a ação de "deixar de acompanhar". Por exemplo, ao deixar de acompanhar um post, é possível recuperar suas informações e informar o usuário que aquele post possui muitos seguidores.
Bloco de código | ||||
---|---|---|---|---|
| ||||
function afterUnwatchContent(companyId, watchDTO){
} |
Sendo os parâmetros:
Propriedade | Descrição | Tipo |
companyId | Código da Empresa | int |
watchDTO | Dados do registro | WatchDTO |
Bloco de código | ||||
---|---|---|---|---|
| ||||
function afterUnwatchContent(companyId, watchDTO){
if(watchDTO.getSocialWatchType() == "POST" && watchDTO.getNumberWatchers() < 3 ){
log.erro("O post \"" + watchDTO.getText() + "\" do autor " + watchDTO.getPostAuthor() + " deixou de ser polemico" )
}
} |
beforeSocialShare
Este evento é disparado sempre antes da efetivação do compartilhamento de um objeto social.
OBS: Pode-se alterar a mensagem de compartilhamento passando uma String para o método setText( <valor> ) do objeto "share". |
---|
Bloco de código | ||||
---|---|---|---|---|
| ||||
function beforeSocialShare(companyId, share){
} |
Parâmetros da função
Propriedade | Descrição | Tipo |
---|---|---|
companyId | Código da Empresa | int |
share | objeto de socialização | Customização de Eventos |
Bloco de código | ||||
---|---|---|---|---|
| ||||
function beforeSocialShare(companyId, share){
var lastUpd = share.getSociable().getLastUpdateDate().getTime();
log.info("lastUpd: " + lastUpd);
var daysAgo = new Date();
daysAgo.setDate(daysAgo.getDate()-3);
log.info("daysAgo: " + daysAgo);
if (lastUpd < oneMonthAgo) {
throw "You could not share old socials (more than 3 days old)";
}
} |
afterSocialShare
Esse evento é disparado sempre após a efetivação de um compartilhamento.
Bloco de código | ||||
---|---|---|---|---|
| ||||
function afterSocialShare(companyId, share){
} |
Parâmetros da função
Propriedade | Descrição | Tipo |
---|---|---|
companyId | Código da Empresa | int |
share | objeto de socialização | Customização de Eventos |
Bloco de código | ||||
---|---|---|---|---|
| ||||
function afterSocialShare(companyId, share){
log.info(share.getUser() + " has shared the sociable " + share.getSociable().getId() + " with text " + share.getText());
} |
beforeSocialComment
Esse evento é disparado sempre antes da efetivação de um comentário.
OBS: Pode-se alterar o conteúdo do comentário passando uma String para o método setText( <valor> ) do objeto "comment". |
---|
Bloco de código | ||||
---|---|---|---|---|
| ||||
function beforeSocialComment(companyId, comment){
} |
Parâmetros da função
Propriedade | Descrição | Tipo |
---|---|---|
companyId | Código da Empresa | int |
comment | objeto de comentário | Customização de Eventos |
Bloco de código | ||||
---|---|---|---|---|
| ||||
function beforeSocialComment(companyId, comment){
if (comment.getSociable().getNumberLikes() < 1) {
throw "You can not comment a post that was not liked.";
}
} |
afterSocialComment
Esse evento é disparado sempre após a efetivação de um comentário.
Bloco de código | ||||
---|---|---|---|---|
| ||||
function afterSocialComment(companyId, comment){
} |
Parâmetros da função
Propriedade | Descrição | Tipo |
---|---|---|
companyId | Código da Empresa | int |
comment | objeto de comentário | Customização de Eventos |
Bloco de código | ||||
---|---|---|---|---|
| ||||
function afterSocialComment(companyId, comment){
log.info(comment.getUser() + " has done the comment " + comment.getText());
} |
beforeSocialPost
Esse evento é disparado sempre antes da efetivação de um post.
OBS: Pode-se alterar o conteúdo da publicação passando uma String para o método setText( <valor> ) do objeto "post". |
---|
Bloco de código | ||||
---|---|---|---|---|
| ||||
function beforeSocialPost(companyId, post){
} |
Parâmetros da função
Propriedade | Descrição | Tipo |
---|---|---|
companyId | Código da Empresa | int |
post | Objeto que representa a publicação | Customização de Eventos |
Bloco de código | ||||
---|---|---|---|---|
| ||||
function beforeSocialPost(companyId, vo){
if(vo.getText().indexOf(" fluid ") > -1) {
vo.setText(vo.getText().replace( " fluid ", " fluig "));
}
} |
afterSocialPost
Esse evento é disparado sempre após a efetivação de um comentário.
Bloco de código | ||||
---|---|---|---|---|
| ||||
function beforeSocialPost(companyId, post){
} |
Parâmetros da função
Propriedade | Descrição | Tipo |
---|---|---|
companyId | Código da Empresa | int |
post | objeto de post | Customização de Eventos |
Bloco de código | ||||
---|---|---|---|---|
| ||||
function afterSocialPost(companyId, post){
if (post.getText().toLowerCase().indexOf("#minhacampanha") > -1) {
log.info(post.getUser() + " has published a content.");
}
}
|
beforeSocialPostRemove
Esse evento é disparado sempre antes da efetivação de uma remoção de um post.
Bloco de código | ||||
---|---|---|---|---|
| ||||
function beforeSocialPostRemove(companyId, post){
} |
Parâmetros da função
Propriedade | Descrição | Tipo |
---|---|---|
companyId | Código da Empresa | int |
post | objeto de post | Customização de Eventos |
Bloco de código | ||||
---|---|---|---|---|
| ||||
function beforeSocialPostRemove(companyId, post){
if (post.getText().toLowerCase().indexOf("#important") > -1) {
throw "You cannot remove a post marked as important.";
}
} |
afterSocialPostRemove
Esse evento é disparado sempre após a efetivação de uma remoção de um post.
Bloco de código | ||||
---|---|---|---|---|
| ||||
function beforeSocialPostRemove(companyId, post){
} |
Parâmetros da função
Propriedade | Descrição | Tipo |
---|---|---|
companyId | Código da Empresa | int |
post | objeto de post | Customização de Eventos |
Bloco de código | ||||
---|---|---|---|---|
| ||||
function afterSocialPostRemove(companyId, post){
log.info(post.getUser() + " has removed the post " + post.getSociable().getId());
} |
beforeSocialDenounce
O evento é disparado quando um Sociable é denunciado porém antes que a ação seja efetivada.
Exemplo de uso:
- Em uma comunidade em que as publicações não podem ser denunciadas pode-se utilizar este evento para bloquear a ação de denúncia.
- Pode-se limitar a quantidade de denúncias que um usuário pode efetuar por dia para evitar que alguma pessoa mal intencionada denuncie todas as publicações.
Bloco de código | ||||
---|---|---|---|---|
| ||||
function beforeSocialDenounce(companyId, denounce){
} |
Parâmetros da função
Propriedade | Descrição | Tipo |
---|---|---|
companyId | Código da Empresa | int |
denounce | objeto de post | Customização de Eventos |
Bloco de código | ||||
---|---|---|---|---|
| ||||
function beforeSocialDenounce(companyId, denounce){
if (denounce.getSociable().getText().toLowerCase().indexOf("#cipa") > -1) {
throw "You cannot denounce posts about CIPA.";
}
} |
afterSocialDenounce
O evento é disparado após a efetivação de uma ação de denúncia de um sociable.
Bloco de código | ||||
---|---|---|---|---|
| ||||
function afterSocialDenounce(companyId, denounce){
} |
Parâmetros da função
Propriedade | Descrição | Tipo |
---|---|---|
companyId | Código da Empresa | int |
denounce | objeto de post | Customização de Eventos |
Exemplo Prático
Registrar em log as denúncias efetuadas para auditoria.
Bloco de código | ||||
---|---|---|---|---|
| ||||
function afterSocialDenounce(companyId, denounce){
log.info(denounce.getUser() + " has denounced the sociable " + denounce.getSociable().getId() + " with comment " + denounce.getText());
} |
beforeSocialLike
O evento é disparado antes de ser efetivada uma ação de "curtir" de um sociable.
Bloco de código | ||||
---|---|---|---|---|
| ||||
function beforeSocialLike(companyId, like){
} |
Parâmetros da função
Propriedade | Descrição | Tipo |
---|---|---|
companyId | Código da Empresa | int |
like | Objeto com dados do sociable curtido | Customização de Eventos |
Bloco de código | ||||
---|---|---|---|---|
| ||||
function beforeSocialLike(companyId, like){
if (like.getSociable().getText().toLowerCase().indexOf("#greve") > -1) {
throw "You can not like a post that has this type of comment.";
}
} |
afterSocialLike
O evento é disparado após a efetivação de uma ação de "curtir" de um sociable.
Bloco de código | ||||
---|---|---|---|---|
| ||||
function afterSocialLike(companyId, like){
} |
Parâmetros da função
Propriedade | Descrição | Tipo |
---|---|---|
companyId | Código da Empresa | int |
like | Objeto com dados do sociable curtido | Customização de Eventos |
Exemplo Prático
Registrar em log para auditoria todas as publicações curtidas.
Bloco de código | ||||
---|---|---|---|---|
| ||||
function afterSocialLike(companyId, like){
log.info(like.getUser() + " has liked the " + like.getSociable().getUrl());
} |
beforeSocialUnlike
O evento é disparado antes de ser efetivada uma ação de "descurtir" de um sociable.
Bloco de código | ||||
---|---|---|---|---|
| ||||
function beforeSocialUnlike(companyId, unlike){
} |
Parâmetros da função
Propriedade | Descrição | Tipo |
---|---|---|
companyId | Código da Empresa | int |
unlike | Objeto com dados do sociable descurtido | Customização de Eventos |
Bloco de código | ||||
---|---|---|---|---|
| ||||
function beforeSocialUnlike(companyId, unlike){
throw "You can not unlike a post.";
} |
afterSocialUnlike
O evento é disparado após a efetivação de uma ação de "descurtir" de um sociable.
Bloco de código | ||||
---|---|---|---|---|
| ||||
function afterSocialUnlike(companyId, unlike){
} |
Parâmetros da função
Propriedade | Descrição | Tipo |
---|---|---|
companyId | Código da Empresa | int |
unlike | Objeto com dados do sociable descurtido | Customização de Eventos |
Exemplo Prático
Registrar em log para auditoria todas as publicações que deixaram de ser apoiadas.
Bloco de código | ||||
---|---|---|---|---|
| ||||
function afterSocialUnlike(companyId, unlike){
log.info(unlike.getUser() + " has unliked the " + unlike.getSociable().getUrl());
} |
beforeSocialCommentRemove
O evento é disparado antes da efetivação da remoção de um comentário de um sociable.
Bloco de código | ||||
---|---|---|---|---|
| ||||
function beforeSocialCommentRemove(companyId, comment){
} |
Parâmetros da função
Propriedade | Descrição | Tipo |
---|---|---|
companyId | Código da Empresa | int |
comment | Objeto que contém as informações do comentário | Customização de Eventos |
Exemplo Prático: Evitar que usuários removam seus comentários em uma publicação de campanha interna da empresa.
Bloco de código | ||||
---|---|---|---|---|
| ||||
function beforeSocialCommentRemove(companyId, comment){
if (comment.getSociable().getText().toLowerCase().indexOf("#bolao") > -1) {
throw "You cannot change your guess.";
}
} |
afterSocialCommentRemove
O evento é disparado após a efetivação da ação de remover o comentário de um sociable.
Bloco de código | ||||
---|---|---|---|---|
| ||||
function afterSocialCommentRemove(companyId, comment){
} |
Parâmetros da função
Propriedade | Descrição | Tipo |
---|---|---|
companyId | Código da Empresa | int |
comment | Objeto que contém as informações do comentário | Customização de Eventos |
Exemplo Prático
Registrar em log para auditoria todos os comentários com a hashtag "protesto".
Bloco de código | ||||
---|---|---|---|---|
| ||||
function afterSocialCommentRemove(companyId, comment){
if (comment.getText().toLowerCase().indexOf("#protesto") > -1) {
log.info(comment.getUser() + " has removed the comment " + comment.getText() + " of the sociable " + comment.getSociable().getId());
}
} |
beforeCommunityParticipation
O evento é disparado antes da efetivação da participação em uma comunidade.
Bloco de código | ||
---|---|---|
| ||
function beforeCommunityParticipation(companyId, relation){
} |
Parâmetros da funçãoSendo os parâmetros:
Propriedade | Descrição | Tipo | |||
---|---|---|---|---|---|
companyId | Código da Empresa | int | |||
formId | Código do Formulário | int | |||
cardId | Código do Registro de Formulário | int | |||
versionId | Versão do Registro de Formulário | int | |||
relation | Objeto que contém as informações de participação | Customização de Eventos | cardData | Dados do Registro de Formulário | Hashmap <String, String> |
Bloco de código | ||||
---|---|---|---|---|
| ||||
function afterSaveCardbeforeCommunityParticipation(companyId, formId, cardId, versionId, cardData){ var custom = ServiceManager.getService("CustomCard"); var serviceHelper = custom.getBean(); var serviceLocator = serviceHelper.instantiate("com.totvs.technology.webdesk.forms.service.custom.CustomCardServiceLocator"); var service = serviceLocator.getCustomCardPort(); var ar = new Array(); var it = cardData.keySet().iterator(); while (it.hasNext()) { var key = it.next(); var field1 = serviceHelper.instantiate("com.totvs.technology.webdesk.forms.service.custom.CardKeyValue"); field1.setKey(key); field1.setValue( cardData.get(key)); log.info('>' + key + ': ' + cardData.get(key)); ar.push(field1); } var resultArr = serviceHelper.instantiate("com.totvs.technology.webdesk.forms.service.custom.CardKeyValueArray"); resultArr.setItem(ar); service.create(companyId, formId, cardId, versionId, resultArr); } |
AfterDeleteCard
Utilizado como complemento do evento afterSaveCard. É chamado toda vez que um formulário ou um registro de formulário é eliminado da lixeira.
Bloco de código | ||||
---|---|---|---|---|
| ||||
function afterSaveCard(companyId, formId, cardId, versionId, cardData){
} |
relation){
if (relation.getCommunity().getAlias() == "economia") {
throw "Comunidade temporariamente indisponível!";
}
log.info("beforeCommunityParticipation Social Alias: " + relation.getSocial().getAlias() + " Community Alias: " + relation.getCommunity().getAlias());
} |
afterCommunityParticipation
O evento é disparado após a efetivação da participação em uma comunidade.
Bloco de código | ||
---|---|---|
| ||
function afterCommunityParticipation(companyId, relation){
} |
Parâmetros da funçãoSendo os parâmetros:
Propriedade | Descrição | Tipo | ||
---|---|---|---|---|
companyId | Código da Empresa | int | cardId | Código do Registro de Formulário | int
relation | Objeto que contém as informações de participação | Customização de Eventos |
Bloco de código | ||||
---|---|---|---|---|
| ||||
function afterDeleteCardafterCommunityParticipation(companyId,cardId){ var custom = ServiceManager.getService("CustomCard"); var serviceHelper = custom.getBean(); var serviceLocator = serviceHelper.instantiate("com.totvs.technology.webdesk.forms.service.custom.CustomCardServiceLocator"); var service = serviceLocator.getCustomCardPort(); log.info("########## carregou serviço CustomCard"); service.deleteCard(companyId, cardId); } |
BeforeWatchContent
Utilizado quando ao acompanhar algum conteúdo se deseja recuperar informações do registro e usar antes da ação de "acompanhar". Por exemplo, ao acompanhar um documento, é possível recuperar suas informações e usá-las em um dataset.
Bloco de código | ||||
---|---|---|---|---|
| ||||
function beforeWatchContent(companyId, watchDTO){
} |
relation){
log.info("afterCommunityParticipation Social Alias: " + relation.getSocial().getAlias() + " Community Alias: " + relation.getCommunity().getAlias());
} |
beforeCommunityLeave
O evento é disparado antes da efetivação da exclusão de participação em uma comunidade.
Bloco de código | ||
---|---|---|
| ||
function beforeCommunityLeave(companyId, relation){
} |
Parâmetros da funçãoSendo os parâmetros:
Propriedade | Descrição | Tipo | ||
---|---|---|---|---|
companyId | Código da Empresa | int | watchDTO | Dados do registro |
relation | Objeto que contém as informações de participação | Customização de Eventos | WatchDTO
Bloco de código | ||||
---|---|---|---|---|
| ||||
function beforeWatchContentbeforeCommunityLeave(companyId, watchDTO){ if(watchDTO.getSocialWatchType() == "DOCUMENT"){ var objClass = "com.totvs.technology.social.document.6"; var objClass = watchDTO.getObjectClass(); var patt = new RegExp( /\d+/) ; var documentId = patt.exec(objClass) ; var documentVersion = watchDTO.getObjectId(); var doc = getValue("WKDocument"); var company = companyId; var ds ; try { var c1 = DatasetFactory.createConstraint( "allocatedDocumentPK.companyId", company, company, ConstraintType.MUST); var c2 = DatasetFactory.createConstraint("allocatedDocumentPK.sourceDocument",documentId,documentId, ConstraintType.MUST); var c3 = DatasetFactory.createConstraint("allocatedDocumentPK.sourceVersion", documentVersion,documentVersion, ConstraintType.MUST); var c4 = DatasetFactory.createConstraint("active", "true","true",ConstraintType.MUST); var constraints = new Array(c1, c2, c3, c4); ds = DatasetFactory.getDataset("allocatedDocument", null, constraints, null); }catch (e) { log.error("Erro ao tentar recuperar o documento em CheckOut: " + e.message); } if(ds!=null && ds.rowsCount>0){ throw "Sua solicitação de notificação foi negada, pois o documento está em checkout." ; } } } |
AfterWatchContent
Utilizado quando ao acompanhar algum conteúdo se deseja recuperar informações do registro e usar após a ação de "acompanhar". Por exemplo, ao acompanhar um post, é possível recuperar suas informações e usá-las para informar o usuário sobre o autor do post.
Bloco de código | ||||
---|---|---|---|---|
| ||||
function afterWatchContent(companyId, watchDTO){
} |
relation){
if (relation.getCommunity().getAlias() == "eventos") {
throw "Não é permitido deixar essa comunidade";
}
log.info("beforeCommunityLeave Social Alias: " + relation.getSocial().getAlias() + " Community Alias: " + relation.getCommunity().getAlias());
} |
afterCommunityLeave
O evento é disparado após a efetivação da exclusão de participação em uma comunidade.
Bloco de código | ||
---|---|---|
| ||
function afterCommunityLeave(companyId, relation){
} |
Parâmetros da função
Propriedade | Descrição | Tipo |
---|---|---|
companyId | Código da Empresa | int |
relation | Objeto que contém as informações de participação | Customização de Eventos |
Bloco de código | ||||
---|---|---|---|---|
| ||||
function afterCommunityLeave(companyId, relation){
log.info("afterCommunityLeave Social Alias: " + relation.getSocial().getAlias() + " Community Alias: " + relation.getCommunity().getAlias());
} |
beforeSocialFollow
O evento é disparado antes da efetivação de seguir uma pessoa.
Bloco de código | ||
---|---|---|
| ||
function beforeSocialFollow(companyId, follow){
} |
Parâmetros da função
Propriedade | Descrição | Tipo |
---|---|---|
companyId | Código da Empresa | int |
follow | Objeto que contém as informações de seguir | Customização de Eventos |
Bloco de código | ||||
---|---|---|---|---|
| ||||
function beforeSocialFollow(companyId, follow){
log.info("beforeSocialFollow Social Alias: " + follow.getSocial().getAlias() + " Followed Alias: " + follow.getFollowed().getAlias());
} |
afterSocialFollow
O evento é disparado após a efetivação de seguir uma pessoa.
Bloco de código | ||
---|---|---|
| ||
function afterSocialFollow(companyId, follow){
} |
Parâmetros da funçãoSendo os parâmetros:
Propriedade | Descrição | Tipo | ||
---|---|---|---|---|
companyId | Código da Empresa | int | watchDTO | Dados do registro |
follow | Objeto que contém as informações de seguir | Customização de Eventos | WatchDTO
Bloco de código | ||||
---|---|---|---|---|
| ||||
function afterWatchContentafterSocialFollow(companyId, watchDTOfollow){ if(watchDTO.getSocialWatchType() == "POST"){ throw "O usuário "+watchDTOlog.getUserAliasinfo()+"afterSocialFollow vai ser notificado sobre o post Social Alias: " + watchDTO.getTextfollow.getSocial().getAlias() + " doFollowed autorAlias: " + watchDTO.getPostAuthor() ; } follow.getFollowed().getAlias()); } |
BeforeUnwatchContent
Utilizado quando ao deixar de acompanhar algum conteúdo se deseja recuperar informações do registro e usar antes da ação de "deixar de acompanhar". Por exemplo, ao tentar deixar de acompanhar uma comunidade, é possível decidir se o usuário pode deixar de acompanhá-la.
beforeSocialUnfollow
O evento é disparado antes da efetivação de deixar de seguir uma pessoa.
Bloco de código | ||||
---|---|---|---|---|
| ||||
function beforeUnwatchContentbeforeSocialUnfollow(companyId, watchDTOfollow){ } |
Sendo os parâmetros:Parâmetros da função
Propriedade | Descrição | Tipo | ||
---|---|---|---|---|
companyId | Código da Empresa | int | watchDTO | Dados do registro |
follow | Objeto que contém as informações de seguir | Customização de Eventos | WatchDTO
Bloco de código | ||||
---|---|---|---|---|
| ||||
function beforeUnwatchContentbeforeSocialUnfollow(companyId, watchDTO){ if(watchDTO.getSocialWatchType() == "COMMUNITY"){ throw "Você não pode deixar de ser notificado sobre a comunidade follow){ log.info("beforeSocialUnfollow Social Alias: " + follow.getSocial().getAlias() + " Followed Alias: " + watchDTO.getDescriptionfollow.getFollowed().getAlias() ); } } |
AfterUnwatchContent
Utilizado quando ao deixar de acompanhar algum conteúdo se deseja recuperar informações do registro e usar após a ação de "deixar de acompanhar". Por exemplo, ao deixar de acompanhar um post, é possível recuperar suas informações e informar o usuário que aquele post possui muitos seguidores.
Bloco de código | ||||
---|---|---|---|---|
| ||||
function afterUnwatchContent(companyId, watchDTO){
} |
afterSocialUnfollow
O evento é disparado após a efetivação de deixar de seguir uma pessoa.
Bloco de código | ||
---|---|---|
| ||
function afterSocialUnfollow(companyId, follow){
} |
Parâmetros da funçãoSendo os parâmetros:
Propriedade | Descrição | Tipo | ||
---|---|---|---|---|
companyId | Código da Empresa | int | watchDTO | Dados do registro |
follow | Objeto que contém as informações de seguir | Customização de Eventos | WatchDTO
Bloco de código | ||||
---|---|---|---|---|
| ||||
function afterUnwatchContentafterSocialUnfollow(companyId, watchDTOfollow){ if(watchDTO.getSocialWatchType() == "POST" && watchDTO.getNumberWatchers() < 3 ){ log.erroinfo("OafterSocialUnfollow postSocial Alias: \"" + watchDTO.getTextfollow.getSocial().getAlias() + "\" doFollowed autorAlias: " + watchDTO.getPostAuthor() + " deixou de ser polemico" ) } } |
...
follow.getFollowed().getAlias());
} |
OnNotify
Para interferir no envio de um e-mail padrão do Fluig, deve ser utilizado o evento global onNotify, que é disparado no momento em que qualquer um dos e-mails do Fluig é enviado. Nesse evento, podem ser feitas alterações como, por exemplo, adicionar outros destinatários ao e-mail, modificar os valores dos parâmetros utilizados no template de e-mail, etc.
...