commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

r116 - hotline/forms


From: johannes
Subject: r116 - hotline/forms
Date: Wed, 17 Nov 2004 04:30:10 -0600 (CST)

Author: johannes
Date: 2004-11-17 04:30:09 -0600 (Wed, 17 Nov 2004)
New Revision: 116

Modified:
   hotline/forms/hotline.gfd
Log:
Added selection of open tickets (if no customer given); improved dialogs 
(tab-order, etc.)


Modified: hotline/forms/hotline.gfd
===================================================================
--- hotline/forms/hotline.gfd   2004-11-17 09:03:37 UTC (rev 115)
+++ hotline/forms/hotline.gfd   2004-11-17 10:30:09 UTC (rev 116)
@@ -63,6 +63,21 @@
     </staticset>
   </datasource>
 
+  <datasource name="dtsOpenTickets" connection="hotline"
+    table="hotline_ticket">
+    <condition>
+      <or>
+        <ne>
+          <cfield name="hotline_status"/>
+          <cconst value="E"/>
+        </ne>
+        <null>
+          <cfield name="hotline_status"/>
+        </null>
+      </or>
+    </condition>
+  </datasource>
+
   <trigger type="On-Activation">
     # Bei der Aktivierung des Forms versuchen wir, den Mitarbeiter richtig zu
     # laden
@@ -82,8 +97,10 @@
       # Dieser Trigger versucht, eine Kundennummer f�r den aktuellen Wert des
       # Feldes Kunde zu finden
       import mx.DateTime
-      value    = blkAuswahl.fldKunde.get ()
-      selected = False
+      value     = blkAuswahl.fldKunde.get ()
+      selected  = False
+      selTicket = True
+      updGrund  = True
 
       if len (value):
         # Kundennummer eingegeben?
@@ -100,6 +117,18 @@
           # Matchcode eindeutig?
           if dtsKunde.count () == 1:
             selected = True
+      else:
+        res = dtsOpenTickets.createResultSet ()
+        if res.getRecordCount ():
+          params = {'ticket': None, 'kunde': None}
+          activateDialog ('selectTicket', params, 1)
+          if params.get ('ticket') is not None:
+            dtsKunde.simpleQuery ({'gnue_id': params ['kunde']})
+            dtsTicket.simpleQuery ({'gnue_id': params ['ticket']})
+            
+            selected  = True
+            selTicket = False
+            updGrund  = False
 
       # Nicht eindeutiger Matchcode oder leere Eingabe
       if not selected:
@@ -119,12 +148,11 @@
       setFocus (blkTicket.fldKontakt)
 
       # Gibt's f�r diesen Kunden offene Tickets?
-      updGrund = True
-      if blkKunde.fldOffene.get ():
+      if selTicket and blkKunde.fldOffene.get ():
         # Ja: Auswahldialog �ffnen
-        params = {'kunde': blkKunde.fldKundeId.get ()}
+        params = {'kunde': blkKunde.fldKundeId.get (), 'ticket': None}
         activateDialog ('selectTicket', params, 1)
-        if params.has_key ('ticket'):
+        if params.get ('ticket'):
           dtsTicket.simpleQuery ({'gnue_id': params ['ticket']})
           updGrund = False
 
@@ -239,8 +267,13 @@
       <field name="fldHotlineTelefax" field="hotline_telefax" max_length="25"/>
       <field name="fldHotlineTelefon" field="hotline_telefon" max_length="25"/>
     </block>
+
+    <block name="blkOpenTickets" datasource="dtsOpenTickets">
+      <field name="fldStatus" field="hotline_status" max_length="1" />
+    </block>
   </logic>
 
+
   <layout xmlns:c="GNUe:Layout:Char" c:height="20" c:width="79" tabbed="top">
     <page name="Hotline">
       <label c:height="1" c:width="12" c:x="2" c:y="1"  text="Mitarbeiter:"/>
@@ -255,7 +288,8 @@
       <label c:height="1" c:width="8"  c:x="2" c:y="10" text="Problem:"/>
 
       <entry name="inpMitarbeiter" c:height="1" c:width="35" c:x="14" c:y="1"
-        block="blkAuswahl" field="fldMitarbeiter" style="dropdown"/>
+        block="blkAuswahl" field="fldMitarbeiter" style="dropdown"
+        focusorder="1"/>
       <entry name="inpKunde" c:height="1" c:width="17" c:x="14" c:y="2"
         block="blkAuswahl" field="fldKunde"/>
       <button name="btnKunde" c:height="1" c:width="10" c:x="65" c:y="2"
@@ -318,7 +352,7 @@
   <!-- Dialog zur Auswahl eines Kunden                                   -->
   <!-- ================================================================= -->
 
-  <dialog xmlns:c="GNUe:Layout:Char" name="selectKunde">
+  <dialog xmlns:c="GNUe:Layout:Char" name="selectKunde" title="Kunde suchen">
     <trigger type="On-Startup">
       form.setFeature ('GUI:MENUBAR:SUPPRESS', True)
       form.setFeature ('GUI:TOOLBAR:SUPPRESS', True)
@@ -344,23 +378,26 @@
       </block>
     </logic>
 
-    <layout xmlns:c="GNUe:Layout:Char" c:width="65" c:height="15">
+    <layout xmlns:c="GNUe:Layout:Char" c:width="66" c:height="15">
       <page>
-        <label c:x="0"  c:y="0" c:width="6" c:height="1" text="Nummer"   />
-        <label c:x="11" c:y="0" c:width="9" c:height="1" text="Matchcode"/>
-        <label c:x="29" c:y="0" c:width="6" c:height="1" text="Name-1"   />
+        <label c:x="1"  c:y="0" c:width="6" c:height="1" text="Nummer"   />
+        <label c:x="12" c:y="0" c:width="9" c:height="1" text="Matchcode"/>
+        <label c:x="30" c:y="0" c:width="6" c:height="1" text="Name-1"   />
 
-        <entry c:x="0"  c:y="1" c:width="10" block="blk" field="fldNummer"   />
-        <entry c:x="11" c:y="1" c:width="17" block="blk" field="fldMatchcode"/>
-        <entry c:x="29" c:y="1" c:width="35" block="blk" field="fldName1"    />
+        <entry c:x="1"  c:y="1" c:width="10" block="blk" field="fldNummer"
+          focusorder="1" />
+        <entry c:x="12" c:y="1" c:width="17" block="blk" field="fldMatchcode"
+          navigable="False"/>
+        <entry c:x="30" c:y="1" c:width="35" block="blk" field="fldName1"
+          navigable="False"/>
 
-        <button c:x="0" c:y="14" c:width="10" c:height="1" label="Ok">
+        <button c:x="1" c:y="14" c:width="10" c:height="1" label="Ok">
           <trigger name="Ok" type="On-Action">
             setParameter ('nummer', blk.fldNummer.get ())
             close ()
           </trigger>
         </button>
-        <button c:x="11" c:y="14" c:width="10" c:height="1" label="Abbrechen">
+        <button c:x="12" c:y="14" c:width="10" c:height="1" label="Abbrechen">
           <trigger name="Cancel" type="On-Action">
             close ()
           </trigger>
@@ -374,7 +411,8 @@
   <!-- Dialog zur Auswahl eines Calls f�r einen Kunden                   -->
   <!-- ================================================================= -->
 
-  <dialog xmlns:c="GNUe:Layout:Char" name="selectTicket">
+  <dialog xmlns:c="GNUe:Layout:Char" name="selectTicket"
+    title="Offenes Ticket w�hlen">
     <trigger type="On-Startup">
       form.setFeature('GUI:MENUBAR:SUPPRESS', 1)
       form.setFeature('GUI:TOOLBAR:SUPPRESS', 1)
@@ -384,8 +422,10 @@
     <trigger type="On-Activation">
       kunde = getParameter ('kunde')
       if kunde:
+        form.setTitle ('Offenes Ticket f�r Kunde w�hlen')
         dts.simpleQuery ({'hotline_kontakt.hotline_kunde': kunde})
       else:
+        form.setTitle ('Offenes Ticket w�hlen')
         dts.simpleQuery ({})
     </trigger>
 
@@ -411,26 +451,32 @@
         <field name="fldText"    field="hotline_text"   readonly="Y"/>
         <field name="fldKontakt" field="hotline_kontakt.hotline_name"
           readonly="Y"/>
+        <field name="fldKunde" field="hotline_kontakt.hotline_kunde"
+          readonly="Y" />
       </block>
     </logic>
 
-    <layout xmlns:c="GNUe:Layout:Char" c:width="75" c:height="15">
+    <layout xmlns:c="GNUe:Layout:Char" c:width="76" c:height="15">
       <page>
-        <label c:x="0"  c:y="0" c:width="7" c:height="1" text="Kontakt"/>
-        <label c:x="20" c:y="0" c:width="6" c:height="1" text="Text"   />
-        <label c:x="68" c:y="0" c:width="6" c:height="1" text="Status" />
+        <label c:x="1"  c:y="0" c:width="7" c:height="1" text="Kontakt"/>
+        <label c:x="21" c:y="0" c:width="6" c:height="1" text="Text"   />
+        <label c:x="69" c:y="0" c:width="6" c:height="1" text="Status" />
 
-        <entry c:x="0"  c:y="1" c:width="19" block="blk" field="fldKontakt"/>
-        <entry c:x="20" c:y="1" c:width="50" block="blk" field="fldText"   />
-        <entry c:x="71" c:y="1" c:width="3"  block="blk" field="fldStatus" />
+        <entry c:x="1"  c:y="1" c:width="19" block="blk" field="fldKontakt"
+          focusorder="1" />
+        <entry c:x="21" c:y="1" c:width="50" block="blk" field="fldText"
+          navigable="False"/>
+        <entry c:x="72" c:y="1" c:width="3"  block="blk" field="fldStatus"
+          navigable="False"/>
 
-        <button c:x="0" c:y="14" c:width="10" c:height="1" label="Ok">
+        <button c:x="1" c:y="14" c:width="10" c:height="1" label="Ok">
           <trigger name="Ok" type="On-Action">
             setParameter ('ticket', blk.fldId.get ())
+            setParameter ('kunde', blk.fldKunde.get ())
             close ()
           </trigger>
         </button>
-        <button c:x="11" c:y="14" c:width="10" c:height="1" label="Abbrechen">
+        <button c:x="12" c:y="14" c:width="10" c:height="1" label="Abbrechen">
           <trigger name="Cancel" type="On-Action">
             close ()
           </trigger>





reply via email to

[Prev in Thread] Current Thread [Next in Thread]