Author: reinhard Date: 2007-10-21 10:25:39 -0500 (Sun, 21 Oct 2007) New Revision: 280
Modified: address/forms/address.gfd address/schema/schema.gsd Log: Added filter fields and csv export. Modified: address/forms/address.gfd =================================================================== --- address/forms/address.gfd 2007-07-08 18:49:13 UTC (rev 279) +++ address/forms/address.gfd 2007-10-21 15:25:39 UTC (rev 280) @@ -40,6 +40,13 @@ </condition> </datasource> + <datasource name="dts_csv" connection="address" table="contact left outer join company on contact.company = company.id" primarykey="contact.id"> + <sortorder> + <sortfield name="company.name1" ignorecase="Y"/> + <sortfield name="contact.surname" ignorecase="Y"/> + </sortorder> + </datasource> + <!-- ==================================================================== --> <logic> @@ -74,6 +81,9 @@ <field name="eMemoAvailable" datatype="boolean" editable="N"/> <field name="eMemo" field="memo" datatype="text"/> <field name="eQuicksearch" field="quicksearch" datatype="boolean"/> + <field name="eFilter1" field="filter1" datatype="boolean"/> + <field name="eFilter2" field="filter2" datatype="boolean"/> + <field name="eFilter3" field="filter3" datatype="boolean"/> <field name="contact_count" datatype="number" length="4" editable="N"/> <trigger type="ON-RECORDLOADED"> @@ -115,6 +125,9 @@ <field name="eMail" field="email" datatype="text" length="64"/> <field name="eMemo" field="memo" datatype="text"/> <field name="eMemoAvailable" datatype="boolean" editable="N"/> + <field name="eFilter1" field="filter1" datatype="boolean"/> + <field name="eFilter2" field="filter2" datatype="boolean"/> + <field name="eFilter3" field="filter3" datatype="boolean"/> <trigger type="ON-RECORDLOADED"> blk_contact.eMemoAvailable.value = (blk_contact.eMemo.value is not None and len(blk_contact.eMemo.value.strip()) > 0) @@ -139,6 +152,30 @@ </trigger> </field> </block> + + <block name="blk_csv" datasource="dts_csv"> + <field name="FA/Firma1" field="company.name1"/> + <field name="FA/Firma2" field="company.name2"/> + <field name="FA/Straße" field="company.street"/> + <field name="FA/PLZ" field="company.zip"/> + <field name="FA/Ort" field="company.city"/> + <field name="FA/Telefon" field="company.phone"/> + <field name="FA/Kategorie" field="company.category"/> + <field name="FA/Filter1" field="company.filter1"/> + <field name="FA/Filter2" field="company.filter2"/> + <field name="FA/Filter3" field="company.filter3"/> + <field name="ASP/Anrede" field="contact.salutation" fk_key="id" fk_description="text" fk_source="dts_salutation"/> + <field name="ASP/Titel" field="contact.title"/> + <field name="ASP/Vorname" field="contact.firstname"/> + <field name="ASP/Nachname" field="contact.surname"/> + <field name="ASP/Abteilung" field="contact.department"/> + <field name="ASP/Funktion" field="contact.duty"/> + <field name="ASP/Telefon" field="contact.phone1"/> + <field name="ASP/Mobil" field="contact.phone2"/> + <field name="ASP/Filter1" field="contact.filter1"/> + <field name="ASP/Filter2" field="contact.filter2"/> + <field name="ASP/Filter3" field="contact.filter3"/> + </block> </logic> <!-- ==================================================================== --> @@ -161,6 +198,7 @@ <entry field="eCountry" label="Land:"/> <entry field="eVAT" label="UID:"/> <entry field="eCRG" label="FNr:"/> + <entry field="eQuicksearch" label="Schnellaufruf"/> <hbox label="Memo:"> <entry field="eMemoAvailable" label="verfügbar"/> <button action="act_memo_company" label="Bearbeiten"/> @@ -177,7 +215,9 @@ <entry field="eBWSupplier" label="BW LiNr:"/> <entry field="eShipment" label="Versandart:"/> <entry field="eCategory" label="Kategorie:"/> - <entry field="eQuicksearch" label="Schnellaufruf"/> + <entry field="eFilter1" label="Filter-1"/> + <entry field="eFilter2" label="Filter-2"/> + <entry field="eFilter3" label="Filter-3"/> </vbox> </hbox> @@ -192,18 +232,21 @@ <entry field="eFirstname" label="Vorname:"/> <entry field="eSurname" label="Nachname:"/> <entry field="eDepartment" label="Abteilung:"/> - <entry field="eDuty" label="Funktion"/> + <entry field="eDuty" label="Funktion:"/> + <hbox label="Memo:"> + <entry field="eMemoAvailable" label="verfügbar"/> + <button action="act_memo_contact" label="Bearbeiten"/> + </hbox> </vbox> <vbox> - <entry field="ePhone1" label="Telefon 1:"/> - <entry field="ePhone2" label="Telefon 2:"/> + <entry field="ePhone1" label="Telefon:"/> + <entry field="ePhone2" label="Mobil:"/> <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> + <entry field="eFilter1" label="Filter-1"/> + <entry field="eFilter2" label="Filter-2"/> + <entry field="eFilter3" label="Filter-3"/> </vbox> </hbox> <hbox> @@ -228,6 +271,7 @@ <entry block="blk" field="company" label="Schnellaufruf:" style="listbox"/> </hbox> <button action="act_search_phone" label="Telefonnummernsuche"/> + <button action="act_export" label="Datenexport"/> </vbox> </hbox> </page> @@ -277,6 +321,43 @@ blk_contact.eMemoAvailable.value = bool(value) </action> + <action name="act_export"> + import wx + fname = wx.FileSelector("Daten exportieren", default_extension="txt", + wildcard="*.txt", flags=wx.SAVE | wx.OVERWRITE_PROMPT) + if not fname: + return + form.status_message("Daten werden exportiert...") + blk_csv.set_filter() + from gnue.common.utils import ucsv + fieldnames = [ + u"FA/Firma1", + u"FA/Firma2", + u"FA/Straße", + u"FA/PLZ", + u"FA/Ort", + u"FA/Telefon", + u"FA/Kategorie", + u"FA/Filter1", + u"FA/Filter2", + u"FA/Filter3", + u"ASP/Anrede", + u"ASP/Titel", + u"ASP/Vorname", + u"ASP/Nachname", + u"ASP/Abteilung", + u"ASP/Funktion", + u"ASP/Telefon", + u"ASP/Mobil", + u"ASP/Filter1", + u"ASP/Filter2", + u"ASP/Filter3"] + ucsv.write_file(fieldnames, blk_csv.get_data(fieldnames), fname, + dialect="excel-tab", encoding="cp1250") + form.status_message("") + form.show_message("Datenexport beendet") + </action> + <!-- ==================================================================== --> <!-- Edit memo --> <!-- ==================================================================== --> Modified: address/schema/schema.gsd =================================================================== --- address/schema/schema.gsd 2007-07-08 18:49:13 UTC (rev 279) +++ address/schema/schema.gsd 2007-10-21 15:25:39 UTC (rev 280) @@ -26,6 +26,9 @@ <field name="category" type="number" length="8"/> <field name="memo" type="string"/> <field name="quicksearch" type="boolean"/> + <field name="filter1" type="boolean"/> + <field name="filter2" type="boolean"/> + <field name="filter3" type="boolean"/> </fields> <primarykey name="pk_company"> @@ -56,6 +59,9 @@ <field name="fax" type="string" length="40"/> <field name="email" type="string" length="64"/> <field name="memo" type="string"/> + <field name="filter1" type="boolean"/> + <field name="filter2" type="boolean"/> + <field name="filter3" type="boolean"/> </fields> <primarykey name="pk_contact"> _______________________________________________ commit-gnue mailing list commit-gnue@gnu.org http://lists.gnu.org/mailman/listinfo/commit-gnue