'is_active' in table.fields()

21 views
Skip to first unread message

aurino alexandre júnior

unread,
Mar 27, 2014, 8:45:51 PM3/27/14
to web2py-us...@googlegroups.com
Olá Galera, blz?

Estou estudando uma appliance (LabSoftManagement) disponibilizada no github do Maximo (https://github.com/mdipierro/web2py-appliances/tree/master/LabSoftwareManagement). Nesta aplicação, no final do model db_labsoft.py, tem o seguinte código:

for table in db:
   
if 'is_active' in table.fields():
        table
.is_active.writable=table.is_active.readable=False

Até onde entendo, isso omite esses campos nos forms de todas as tabelas. Mas fiquei em dúvida do porque deste código. E também se este 'is_active' é um campo 'default' em todas as tabelas?

Alguém poderia me esclarecer isso?

Grato desde já.

Carlos Costa

unread,
Mar 28, 2014, 7:50:40 AM3/28/14
to web2py-us...@googlegroups.com
Não é um campo default para todas as tabelas.
Ele é criado quando o versionamento dos registros é ativado.
No caso parece que não foi ativado.

is_active indica somente se o campo não foi deletado pois quando o versionamento está ativado os registros não são deletados mas sim marcados como is_active = False

Veja mais sobre versionamento aqui:


--
Você recebeu essa mensagem por estar inscrito no grupo web2py-users-brazil.
Para enviar uma mensagem ao grupo, envie email a: web2py-us...@googlegroups.com
Para se desinscrever, envie email a: web2py-users-br...@googlegroups.com
Para mais opções, visite o site do grupo em: http://groups.google.com/group/web2py-users-brazil?hl=en
---
Você recebeu essa mensagem porque está inscrito no grupo quot;web2py-users-brazil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para web2py-users-br...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.



--
Att.

Carlos J. Costa
Cientista da Computação
Esp. Gestão em Telecom

EL MELECH NEEMAN!
אָמֵן

aurino alexandre júnior

unread,
Mar 28, 2014, 12:45:24 PM3/28/14
to web2py-us...@googlegroups.com
Se eu entendi direito:
  • serve para manter um histórico das alterações nos registros da tabela
  • precisar ser declarado na definição da tabela como os demais campos

Estou certo em minhas colocações?


Em sexta-feira, 28 de março de 2014 08h50min40s UTC-3, yamandu escreveu:
Não é um campo default para todas as tabelas.
Ele é criado quando o versionamento dos registros é ativado.
No caso parece que não foi ativado.

is_active indica somente se o campo não foi deletado pois quando o versionamento está ativado os registros não são deletados mas sim marcados como is_active = False

Veja mais sobre versionamento aqui:
Em 27 de março de 2014 21:45, aurino alexandre júnior <aurin...@gmail.com> escreveu:
Olá Galera, blz?

Estou estudando uma appliance (LabSoftManagement) disponibilizada no github do Maximo (https://github.com/mdipierro/web2py-appliances/tree/master/LabSoftwareManagement). Nesta aplicação, no final do model db_labsoft.py, tem o seguinte código:

for table in db:
   
if 'is_active' in table.fields():
        table
.is_active.writable=table.is_active.readable=False

Até onde entendo, isso omite esses campos nos forms de todas as tabelas. Mas fiquei em dúvida do porque deste código. E também se este 'is_active' é um campo 'default' em todas as tabelas?

Alguém poderia me esclarecer isso?

Grato desde já.

--
Você recebeu essa mensagem por estar inscrito no grupo web2py-users-brazil.
Para enviar uma mensagem ao grupo, envie email a: web2py-us...@googlegroups.com
Para se desinscrever, envie email a: web2py-users-brazil+unsub...@googlegroups.com

Para mais opções, visite o site do grupo em: http://groups.google.com/group/web2py-users-brazil?hl=en
---
Você recebeu essa mensagem porque está inscrito no grupo quot;web2py-users-brazil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para web2py-users-brazil+unsub...@googlegroups.com.

Para mais opções, acesse https://groups.google.com/d/optout.

Vinicius Assef

unread,
Mar 28, 2014, 2:07:57 PM3/28/14
to web2py-us...@googlegroups.com
2014-03-28 13:45 GMT-03:00 aurino alexandre júnior <aurin...@gmail.com>:
> Se eu entendi direito:
>
> serve para manter um histórico das alterações nos registros da tabela

Não.
Ele serve pra indicar se o registro está ativo ou não. Só isso.
Faz sentido pesquisar, consultar e editar registros ativos. Já os inativos, não.

> precisar ser declarado na definição da tabela como os demais campos

Isso.

aurino alexandre júnior

unread,
Mar 28, 2014, 5:44:29 PM3/28/14
to web2py-us...@googlegroups.com
Vinícius, o manual diz:

It is possible to ask web2py to save every copy of a record when the record is individually modified.
We can tell web2py to create a new table (in the same or a different database) and store all previous versions of each record in the table, when modified.

Embora também há o que você falou:

When records are deleted, they are not really deleted. A deleted record is copied in the stored_item_archive table (like when it is modified) and the is_active field is set to False. By enabling record versioning web2py sets a custom_filter on this table that hides all records in table stored_item where the is_active field is set to False. The is_active parameter in the _enable_record_versioning method allows to specify the name of the field used by the custom_filter to determine if the field was deleted or not.

Vinicius Assef

unread,
Mar 31, 2014, 8:02:44 AM3/31/14
to web2py-us...@googlegroups.com
2014-03-28 18:44 GMT-03:00 aurino alexandre júnior <aurin...@gmail.com>:
> Vinícius, o manual diz:
>
>> It is possible to ask web2py to save every copy of a record when the
>> record is individually modified.
>>
>> We can tell web2py to create a new table (in the same or a different
>> database) and store all previous versions of each record in the table, when
>> modified.

Isso é o enable_record_versioning, que usa o is_active. Mas o
is_active, em si, não serve para versionar nada.

Carlos Costa

unread,
Mar 31, 2014, 8:16:31 AM3/31/14
to web2py-us...@googlegroups.com
Sim, você tem que criar o campo is_active, por padrão esse é o nome do campo o qual ele vai procurar para fazer o common filter para ocultar das pesquisas os campos inativos. Isso quando você chama o método _enable_record_versioning.
Veja a definição para ficar mais claro:
def _enable_record_versioning(self, archive_db=None, archive_name='%(tablename)s_archive', is_active='is_active', current_record='current_record', current_record_label=None


--
Você recebeu essa mensagem por estar inscrito no grupo web2py-users-brazil.
Para enviar uma mensagem ao grupo, envie email a: web2py-us...@googlegroups.com
Para se desinscrever, envie email a: web2py-users-br...@googlegroups.com

Para mais opções, visite o site do grupo em: http://groups.google.com/group/web2py-users-brazil?hl=en
---
Você está recebendo esta mensagem porque se inscreveu no grupo "web2py-users-brazil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para web2py-users-br...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/d/optout.

aurino alexandre júnior

unread,
Apr 1, 2014, 5:49:50 AM4/1/14
to web2py-us...@googlegroups.com
Ok, colegas. Acho que entendi. ;)

Obrigado a todos pela ajuda.


Em segunda-feira, 31 de março de 2014 09h16min31s UTC-3, yamandu escreveu:
Sim, você tem que criar o campo is_active, por padrão esse é o nome do campo o qual ele vai procurar para fazer o common filter para ocultar das pesquisas os campos inativos. Isso quando você chama o método _enable_record_versioning.
Veja a definição para ficar mais claro:
def _enable_record_versioning(self, archive_db=None, archive_name='%(tablename)s_archive', is_active='is_active', current_record='current_record', current_record_label=None
Em 31 de março de 2014 09:02, Vinicius Assef <vinic...@gmail.com> escreveu:
2014-03-28 18:44 GMT-03:00 aurino alexandre júnior <aurin...@gmail.com>:
> Vinícius, o manual diz:
>
>> It is possible to ask web2py to save every copy of a record when the
>> record is individually modified.
>>
>> We can tell web2py to create a new table (in the same or a different
>> database) and store all previous versions of each record in the table, when
>> modified.

Isso é o enable_record_versioning, que usa o is_active. Mas o
is_active, em si, não serve para versionar nada.

--
Você recebeu essa mensagem por estar inscrito no grupo web2py-users-brazil.
Para enviar uma mensagem ao grupo, envie email a: web2py-us...@googlegroups.com
Para se desinscrever, envie email a: web2py-users-brazil+unsub...@googlegroups.com

Para mais opções, visite o site do grupo em: http://groups.google.com/group/web2py-users-brazil?hl=en
---
Você está recebendo esta mensagem porque se inscreveu no grupo "web2py-users-brazil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para web2py-users-brazil+unsub...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages