[gnue-contrib] r277 - address/forms

[email protected]
Newsgroups gmane.comp.cms.gnue.cvs
Message-ID <[email protected]>
Author: reinhard
Date: 2007-06-04 10:40:35 -0500 (Mon, 04 Jun 2007)
New Revision: 277

Modified:
   address/forms/address.gfd
Log:
* Search contact also by first name
* Always show number of contacts of current company
* Buttons to allow browsing through contacts without moving the focus there


Modified: address/forms/address.gfd
===================================================================
--- address/forms/address.gfd	2007-05-16 09:16:26 UTC (rev 276)
+++ address/forms/address.gfd	2007-06-04 15:40:35 UTC (rev 277)
@@ -62,22 +62,27 @@
               blk_company.ePhonex.value = None
         </trigger>
       </field>
-      <field name="ePhonex"      field="phonex"     datatype="text"   length="32"/>
-      <field name="eFax"         field="fax"        datatype="text"   length="32"/>
-      <field name="eWeb"         field="web"        datatype="text"   length="64"/>
-      <field name="eMail"        field="email"      datatype="text"   length="64"/>
-      <field name="eCustomer"    field="customer"   datatype="text"   length="25"/>
-      <field name="eBWCustomer"  field="bwcustomer" datatype="text"   length="16"/>
-      <field name="eBWSupplier"  field="bwsupplier" datatype="text"   length="16"/>
-      <field name="eShipment"    field="shipment"   datatype="text"   length="64"/>
-      <field name="eCategory"    field="category"   datatype="text"   length="32" fk_key="id" fk_description="text" fk_source="dts_category"/>
-      <field name="eMemoAvailable"                  datatype="boolean" editable="N"/>
-      <field name="eMemo"        field="memo"       datatype="text"/>
+      <field name="ePhonex"      field="phonex"      datatype="text"    length="32"/>
+      <field name="eFax"         field="fax"         datatype="text"    length="32"/>
+      <field name="eWeb"         field="web"         datatype="text"    length="64"/>
+      <field name="eMail"        field="email"       datatype="text"    length="64"/>
+      <field name="eCustomer"    field="customer"    datatype="text"    length="25"/>
+      <field name="eBWCustomer"  field="bwcustomer"  datatype="text"    length="16"/>
+      <field name="eBWSupplier"  field="bwsupplier"  datatype="text"    length="16"/>
+      <field name="eShipment"    field="shipment"    datatype="text"    length="64"/>
+      <field name="eCategory"    field="category"    datatype="text"    length="32" fk_key="id" fk_description="text" fk_source="dts_category"/>
+      <field name="eMemoAvailable"                   datatype="boolean" editable="N"/>
+      <field name="eMemo"        field="memo"        datatype="text"/>
       <field name="eQuicksearch" field="quicksearch" datatype="boolean"/>
+      <field name="contact_count"                    datatype="number"  length="4"  editable="N"/>
 
       <trigger type="ON-RECORDLOADED">
         blk_company.eMemoAvailable.value = (blk_company.eMemo.value is not None and len(blk_company.eMemo.value.strip()) > 0)
       </trigger>
+
+      <trigger type="POST-FOCUSIN">
+        blk_company.contact_count.value = blk_contact.get_record_count()
+      </trigger>
     </block>
 
     <block name="blk_contact" datasource="dts_contact">
@@ -114,6 +119,10 @@
       <trigger type="ON-RECORDLOADED">
         blk_contact.eMemoAvailable.value = (blk_contact.eMemo.value is not None and len(blk_contact.eMemo.value.strip()) > 0)
       </trigger>
+
+      <trigger type="POST-FOCUSIN">
+        blk_company.contact_count.value = blk_contact.get_record_count()
+      </trigger>
     </block>
 
     <block name="blk">
@@ -122,6 +131,7 @@
         <trigger type="POST-CHANGE">
           if blk.company.value is not None:
               blk_company.search_record(id=int(blk.company.get()))
+          blk_company.contact_count.value = blk_contact.get_record_count()
         </trigger>
         <trigger type="POST-FOCUSOUT">
           # Reset value so the cursor disappears.
@@ -171,30 +181,47 @@
             </vbox>
           </hbox>
 
-          <hbox block="blk_contact" label="Ansprechpersonen">
-            <vbox>
-              <hbox label="Anrede:">
-                <entry field="eSalutation"/>
-                <button action="act_search_contact" label="Suche"/>
-              </hbox>
-              <entry field="eTitle"      label="Titel:"/>
-              <entry field="eFirstname"  label="Vorname:"/>
-              <entry field="eSurname"    label="Nachname:"/>
-              <entry field="eDepartment" label="Abteilung:"/>
-              <entry field="eDuty"       label="Funktion"/>
-            </vbox>
+          <vbox block="blk_contact" label="Ansprechpersonen">
+            <hbox>
+              <vbox>
+                <hbox label="Anrede:">
+                  <entry field="eSalutation"/>
+                  <button action="act_search_contact" label="Suche"/>
+                </hbox>
+                <entry field="eTitle"      label="Titel:"/>
+                <entry field="eFirstname"  label="Vorname:"/>
+                <entry field="eSurname"    label="Nachname:"/>
+                <entry field="eDepartment" label="Abteilung:"/>
+                <entry field="eDuty"       label="Funktion"/>
+              </vbox>
 
-            <vbox>
-              <entry field="ePhone1"        label="Telefon 1:"/>
-              <entry field="ePhone2"        label="Telefon 2:"/>
-              <entry field="eFax"           label="Fax:"/>
-              <entry field="eMail"          label="E-Mail:"/>
-              <hbox label="Memo:">
-                <entry field="eMemoAvailable" label="verfügbar"/>
-                <button action="act_memo_contact" label="Bearbeiten"/>
-              </hbox>
-            </vbox>
-          </hbox>
+              <vbox>
+                <entry field="ePhone1"        label="Telefon 1:"/>
+                <entry field="ePhone2"        label="Telefon 2:"/>
+                <entry field="eFax"           label="Fax:"/>
+                <entry field="eMail"          label="E-Mail:"/>
+                <hbox label="Memo:">
+                  <entry field="eMemoAvailable" label="verfügbar"/>
+                  <button action="act_memo_contact" label="Bearbeiten"/>
+                </hbox>
+              </vbox>
+            </hbox>
+            <hbox>
+              <button label="&lt;&lt;">
+                <trigger type="ON-ACTION">blk_contact.first_record()</trigger>
+              </button>
+              <button label="&lt;">
+                <trigger type="ON-ACTION">blk_contact.prev_record()</trigger>
+              </button>
+              <button label="&gt;">
+                <trigger type="ON-ACTION">blk_contact.next_record()</trigger>
+              </button>
+              <button label="&gt;&gt;">
+                <trigger type="ON-ACTION">blk_contact.last_record()</trigger>
+              </button>
+              <entry block="blk_company" field="contact_count"/>
+            </hbox>
+          </vbox>
         </vbox>
         <vbox>
           <hbox>
@@ -229,6 +256,7 @@
     if params.has_key('prm_company') and params['prm_company'] is not None:
         blk_company.search_record(id=params['prm_company'])
         blk_contact.search_record(id=params['prm_contact'])
+    blk_company.contact_count.value = blk_contact.get_record_count()
   </action>
 
   <action name="act_memo_company">
@@ -517,7 +545,8 @@
         result = []
 
         for item in build(pattern):
-          result.extend ([['like', ['upper', ['field', 'surname']], ['const', item]]])
+          result.extend ([['like', ['upper', ['field', 'surname']], ['const', item]],
+                          ['like', ['upper', ['field', 'firstname']], ['const', item]]])
 
         result.insert(0, 'or')
         return result
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.