#!/usr/bin/env python
# encoding: utf-8

from gnr.web.gnrbaseclasses import BaseComponent


class View(BaseComponent):
    def th_struct(self, struct):
        r = struct.view().rows()
        r.fieldcell('ragione_sociale')
        r.fieldcell('cliente_tipo_codice')
        r.fieldcell('pagamento_tipo_codice')
        r.fieldcell('indirizzo')
        r.fieldcell('provincia')
        r.fieldcell('comune_id')

    def th_order(self):
        return 'ragione_sociale'

    def th_query(self):
        return dict(column='ragione_sociale', op='contains', val='')


class Form(BaseComponent):

    def th_form(self, form):
        bc = form.center.borderContainer(datapath='.record')
        self.datiCliente(bc.contentPane(region='top'))
        self.noteCliente(bc.roundedGroupFrame(title='Note', region='center'))

    def datiCliente(self, pane):
        fb = pane.div(margin_left='50px', margin_right='80px').formbuilder(
                    cols=2, border_spacing='4px', colswidth='auto', fld_width='100%')
        fb.field('ragione_sociale', colspan=2)
        fb.field('cliente_tipo_codice')
        fb.field('pagamento_tipo_codice')
        fb.field('indirizzo', colspan=2)
        fb.field('provincia')
        fb.field('comune_id', condition='$sigla_provincia=:provincia',
                 condition_provincia='^.provincia')
        fb.field('email', validate_email=True)

    def noteCliente(self, pane):
        pane.simpleTextArea(value='^.note', editor=True)