Ticket #1743 (closed defeito: fixed)

Opened 8 years ago

Last modified 8 years ago

Eventos restritos recursivos são gravados como normais

Reported by: zapa Owned by: brunocosta
Priority: normal Milestone: Expresso 2.2.0-rc1
Component: Calendar Version: branch 2.2
Severity: média Keywords: Serpro
Cc: WorkGroup:

Description (last modified by brunocosta) (diff)

Verificar a existência do bug. Ocorrendo corrigir na 2.2. que será replicado para 2.2.0.1

Change History

comment:1 Changed 8 years ago by brunocosta

  • Description modified (diff)
  • Milestone changed from Expresso 2.2.0.1 to Expresso 2.2.0-rc1

temos essse problema aqui no serpro, oque acontece é que na tabela phpgw_cal os eventos Restritos tem na coluna 'cal_type' o valor 'E' na is_public o valor 0, e os eventos privados tem 'cal_type' 'P' e is_public 0. O problema é que todo evento com repetição tem 'cal_type' = 'M', ou seja ele nunca pode ser privado nem restrito.

Por isso na edição de um evento com repetição ele sempre aparece como normal, seja na ediçãod a serie como na edição de um evento único.

Aqui no serpro nos tiramos o cal_type = M dos eventos repetidos, pra saber se é repetido é só usar a tabela phpgw_cal_repeats, e passou a testa-los como os eventos sem repetição (cal_type = E e is_public = 0 é um evento restrito, cal_type = P é privado)

Alguém vê algum problema com isso?

comment:2 Changed 8 years ago by brunocosta

Resolvida na revisão [4024] do branch 2.2.0.1

Muda o modo que os eventos recursivos são gravados no banco, na coluna cal_type da tabela phpgw_cal, o valor agora é referente ao tipo, 'E' para normais, 'P' para privados e 'H' para apontamentos de hora e não sempre 'M' como era antigamente. Na classe socalendar foi mudado um sql para se buscar os eventos recursivos para que os eventos gravados com valores novos sejam lidos corretamente.

Nota: Os eventos antigos terão que ser modificados manualmente pelo ususário para restrito/privado para que eles fiquem com algum desses tipos.

class.socalendar.inc.php - Na função list_repeated_events foi alterado o SQL que lê os eventos do banco, retirando do WHERE a exigência do TYPE = 'M'

class.socalendar_sql.inc.php - Alterado o valor que é escrito no banco na coluna 'type'.

comment:3 follow-up: ↓ 4 Changed 8 years ago by niltonneto

Bruno,

Esta correção não impacta então no funcional normal dos compromissos repetidos, correto? Apenas na sinalização do tipo deles, já que até hoje, eram classificados como normais obrigatoriamente. Isto mesmo? Podemos replicar esta correção no 2.2.0 seguramente?

comment:4 in reply to: ↑ 3 Changed 8 years ago by brunocosta

Replying to niltonneto:

Bruno,

Esta correção não impacta então no funcional normal dos compromissos repetidos, correto? Apenas na sinalização do tipo deles, já que até hoje, eram classificados como normais obrigatoriamente. Isto mesmo? Podemos replicar esta correção no 2.2.0 seguramente?

Nos testes feitos aqui não houveram impactos, em nenhum lugar do código tirando aquele sql ele procura o cal_type='M'.

os Eventos recorrentes com cal_type='M' continuam funcionando como estavam, só muda alguma coisa se o usuário editá-los, ai serão gravados os outros valores (E, P ou H).

Eu posso aplicar a resolução no 2.2 sem problema.

comment:5 Changed 8 years ago by niltonneto

  • Version set to branch 2.2

Então pode aplicar Bruno, e já fechar o ticket. Obrigado.

comment:6 Changed 8 years ago by brunocosta

  • Status changed from new to closed
  • Resolution set to fixed

Comitado na revisão [4047] no branch 2.2.

Note: See TracTickets for help on using tickets.