Atma SCRUD

8 Junho, 2007

O trabalho para lançar o release 1.0 do Atma vai de vento em popa. Há preparativos por parte do Alexandre para o Atma suportar FastCGI e trabalhar lado-a-lado com o Lighttpd.

Eu por outro lado, estou trabalhando na interação direta com os usuários do atma. Estou criando um sistema de Scrud (Search, create, read, update, delete). Vejam este exemplo de código:

import atma.scrud as scrud

import orm# used to do deferred translations

_ = lambda a: a

class State(scrud.Scrud):
    table = orm.State
    createColumns = ['name', 'country', 'abbrev']
    readColumns = ['id','name', 'abbrev', 'country']
    searchColumns = ['name', 'country']
    resultColumns = ['id', 'name', 'abbrev']
    orderBy = 'name'

scrudColumns = [
        scrud.ScrudColumn('id', _('ID')),
        scrud.ScrudColumn('country', _('Country'), 'name'),
        scrud.ScrudColumn('name', _('State Name')),
        scrud.ScrudColumn('abbrev', _('Abbreviation'))
]

Este pedaço de código já cria o sistema de inclusão, edição, busca e deleção de registros de estados.

Explicando, você passa o mapeamento em table, declara as colunas do banco que deseja nos *Columns. Na variável scrudColumns, eu passo várias instâncias da classe scrudColumn, onde posso especializar as colunas, olha só:

scrud.ScrudColumn(‘name’, _(‘State Name’))

Aí, ‘name’ é a coluna do banco e ‘State Name’ é o label que ela vai ter quando criado o componente textinput para ela no html. Temos outro caso previsto, como a coluna ser uma chave estrangeira, caso disso:

scrud.ScrudColumn(‘country’, _(‘Country’), ‘name’),

O campo country é uma chave estrangeira para a tabela Country, apontando para o ID da tabela country. Mas não queremos mostrar IDs para o usuário, não é ? Então, o terceiro parâmetro é qual campo da tabela Country será exíbivel para o usuário no combo box. No caso, ‘name’ que é o nome do país.

Há inúmeras facilidades que irei mostrar ainda por aqui.

Página no sourceforge:

http://sourceforge.net/projects/atma

Entry Filed under: Uncategorized. .

2 Comments Add your own

  • 1. Hero  |  10 Junho, 2007 at 4:47 pm

    Qual a previsão para terminar a primeira versão ?

  • 2. lambdaspace  |  10 Junho, 2007 at 5:03 pm

    Cerca de 1 mês, estamos preparando o site e alguns features adicionais, aí faremos o lançamento da primeira versão :)

Leave a Comment

Required

Required, hidden

Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Trackback this post  |  Subscribe to the comments via RSS Feed


Calendar

Junho 2007
S T Q Q S S D
« Mai   Nov »
 123
45678910
11121314151617
18192021222324
252627282930  

Most Recent Posts