Merge branch 'master' of ssh://git-sdonath@lx-office.linet-services.de/~/lx-office-erp
authorSven Donath <lxo@dexo.de>
Mon, 1 Nov 2010 09:38:12 +0000 (10:38 +0100)
committerSven Donath <lxo@dexo.de>
Mon, 1 Nov 2010 09:38:12 +0000 (10:38 +0100)
SL/Form.pm
bin/mozilla/io.pl
bin/mozilla/oe.pl
doc/changelog
sql/Pg-upgrade2/auth_enable_sales_all_edit.pl
sql/Pg-upgrade2/shipto_add_cp_gender.sql [new file with mode: 0644]
templates/webpages/do/form_header.html
templates/webpages/oe/form_footer.html

index 77581a0..f3fe6e5 100644 (file)
@@ -2018,7 +2018,7 @@ sub add_shipto {
   my @values;
 
   foreach my $item (qw(name department_1 department_2 street zipcode city country
-                       contact phone fax email)) {
+                       contact cp_gender phone fax email)) {
     if ($self->{"shipto$item"}) {
       $shipto = 1 if ($self->{$item} ne $self->{"shipto$item"});
     }
@@ -2036,6 +2036,7 @@ sub add_shipto {
                        shiptocity = ?,
                        shiptocountry = ?,
                        shiptocontact = ?,
+                       shiptocp_gender = ?,
                        shiptophone = ?,
                        shiptofax = ?,
                        shiptoemail = ?
@@ -2051,6 +2052,7 @@ sub add_shipto {
                        shiptocity = ? AND
                        shiptocountry = ? AND
                        shiptocontact = ? AND
+                       shiptocp_gender = ? AND
                        shiptophone = ? AND
                        shiptofax = ? AND
                        shiptoemail = ? AND
@@ -2061,8 +2063,8 @@ sub add_shipto {
         $query =
           qq|INSERT INTO shipto (trans_id, shiptoname, shiptodepartment_1, shiptodepartment_2,
                                  shiptostreet, shiptozipcode, shiptocity, shiptocountry,
-                                 shiptocontact, shiptophone, shiptofax, shiptoemail, module)
-             VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)|;
+                                 shiptocontact, shiptocp_gender, shiptophone, shiptofax, shiptoemail, module)
+             VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)|;
         do_query($self, $dbh, $query, $id, @values, $module);
       }
     }
index 83da8b5..fed2ff7 100644 (file)
@@ -1780,7 +1780,7 @@ sub ship_to {
 
   my @shipto_vars =
     qw(shiptoname shiptostreet shiptozipcode shiptocity shiptocountry
-       shiptocontact shiptophone shiptofax shiptoemail
+       shiptocontact shiptocp_gender shiptophone shiptofax shiptoemail
        shiptodepartment_1 shiptodepartment_2);
 
   my @addr_vars =
@@ -1795,6 +1795,19 @@ sub ship_to {
     ? $locale->text('Customer Number')
     : $locale->text('Vendor Number');
 
+  # sieht nicht nett aus, funktioniert aber
+  # das vorausgewählte select-feld wird über shiptocp_gender
+  # entsprechend vorbelegt
+  my $selected_m='';
+  my $selected_f='';
+  if ($form->{shiptocp_gender} eq 'm') {
+    $selected_m='selected';
+    $selected_f='';
+  } elsif ($form->{shiptocp_gender} eq 'f') {
+    $selected_m='';
+    $selected_f='selected';
+  }
+
   # get pricegroups for parts
   IS->get_pricegroups_for_parts(\%myconfig, \%$form);
 
@@ -1867,6 +1880,15 @@ sub ship_to {
           <td>$form->{contact}</td>
           <td><input name="shiptocontact" size="35" value="$form->{shiptocontact}"></td>
         </tr>
+        <tr>
+          <th align="right" nowrap>| . $locale->text('Gender') . qq|</th>
+          <td></td>
+          <td><select id="shiptocp_gender" name="shiptocp_gender">
+              <option value="m"| .  $selected_m . qq|>| . $locale->text('male') . qq|</option>
+              <option value="f"| .  $selected_f . qq|>| . $locale->text('female') . qq|</option>
+              </select>
+          </td>
+        </tr>
         <tr>
           <th align="right" nowrap>| . $locale->text('Phone') . qq|</th>
           <td>$form->{phone}</td>
index 20bb0fd..3867c1b 100644 (file)
@@ -1935,3 +1935,17 @@ sub report_for_todo_list {
   return $content;
 }
 
+sub dispatcher {
+  my $form     = $main::form;
+  my $locale   = $main::locale;
+
+  foreach my $action (qw(delete delivery_order e_mail invoice print purchase_order purchase_order quotation
+                         request_for_quotation sales_order sales_order save save_and_close save_as_new ship_to update)) {
+    if ($form->{"action_${action}"}) {
+      call_sub($action);
+      return;
+    }
+  }
+
+  $form->error($locale->text('No action defined.'));
+}
index 55bda92..3cc0c25 100644 (file)
@@ -18,7 +18,7 @@
   - Druckvorlage optional auf Excel erweitert, um Variablen die sich nicht in foreach-Schleifen
     befinden anzuzeigen (s.a.: doc/excel_templates.txt).
   - FiBu -> Bericht um Suchfeld Kontonummer erweitert
-
+  - Ansprechpartner für abweichende Lieferadresse, um das Attribut Geschlecht erweitert
 
   API Änderungen:
 
index e223cd8..e77fbee 100644 (file)
@@ -13,38 +13,35 @@ sub mydberror {
       "<br>$msg<br>" . $DBI::errstr);
 }
 
-sub do_query {
-  my ($query, $may_fail) = @_;
+sub do_update {
+  my $dbh   = $main::auth->dbconnect();
+  my $query = <<SQL;
+    SELECT id
+    FROM auth."group"
+    WHERE NOT EXISTS(
+      SELECT group_id
+      FROM auth.group_rights
+      WHERE (auth.group_rights.group_id = auth."group".id)
+        AND (auth.group_rights."right"  = 'sales_all_edit')
+    )
+SQL
+
+  my @group_ids = selectall_array_query($form, $dbh, $query);
+  if (@group_ids) {
+    $query = <<SQL;
+      INSERT INTO auth.group_rights (group_id, "right",          granted)
+      VALUES                        (?,        'sales_all_edit', TRUE)
+SQL
+    my $sth = prepare_query($form, $dbh, $query);
+
+    foreach my $id (@group_ids) {
+      do_statement($form, $sth, $query, $id);
+    }
 
-  if (!$dbh->do($query)) {
-    mydberror($query) unless ($may_fail);
-    $dbh->rollback();
-    $dbh->begin_work();
+    $sth->finish();
+    $dbh->commit();
   }
-}
 
-sub do_update {
-  my @queries;
-
-#  do_query("ALTER TABLE project ADD PRIMARY KEY (id);", 1);
-#  map({ do_query($_, 0); } @queries);
-#  print "hieryy";
-#  print (Dumper($main::form));
-  my $dbh = $main::auth->dbconnect();
-  my $query = qq|SELECT distinct group_id from auth.user_group|;
-  my $sth_all_groups = prepare_execute_query($form, $dbh, $query);
-  while (my $hash_ref = $sth_all_groups->fetchrow_hashref()) {  # Schleife
-    push @queries, "INSERT INTO auth.group_rights (group_id, \"right\", granted) VALUES (" . $hash_ref->{group_id} . ", 'sales_all_edit', 't')";
-}
-# if in doubt use brute force ;-) jb
-  foreach my $query (@queries){
-#    print "hier:" . $query;
-    my $dbh = $main::auth->dbconnect();
-    my $sth   = prepare_query($form, $dbh, $query);
-    do_statement($form,$sth,$query);
-    $sth->finish();
-    $dbh ->commit();
-}
   return 1;
 }
 
diff --git a/sql/Pg-upgrade2/shipto_add_cp_gender.sql b/sql/Pg-upgrade2/shipto_add_cp_gender.sql
new file mode 100644 (file)
index 0000000..8991c44
--- /dev/null
@@ -0,0 +1,5 @@
+-- @tag: shipto_add_cp_gender
+-- @description: Geschlecht fuer Ansprechpartner bei abweichender Lieferadresse
+-- @depends: release_2_6_1
+
+ALTER TABLE shipto add column shiptocp_gender text;
index 2f98575..2410439 100644 (file)
@@ -80,6 +80,7 @@
   <input type="hidden" name="saved_donumber" value="[% HTML.escape(saved_donumber) %]">
   <input type="hidden" name="shiptocity" value="[% HTML.escape(shiptocity) %]">
   <input type="hidden" name="shiptocontact" value="[% HTML.escape(shiptocontact) %]">
+  <input type="hidden" name="shiptocp_gender" value="[% HTML.escape(shiptocp_gender) %]">
   <input type="hidden" name="shiptocountry" value="[% HTML.escape(shiptocountry) %]">
   <input type="hidden" name="shiptodepartment_1" value="[% HTML.escape(shiptodepartment_1) %]">
   <input type="hidden" name="shiptodepartment_2" value="[% HTML.escape(shiptodepartment_2) %]">
index de6d7b9..7beb407 100644 (file)
 </table>
 
 [% label_edit %]<br>
-<input class="submit" type="submit" name="action" id="update_button" value="[% 'Update' | $T8 %]">
-<input class="submit" type="submit" name="action" value="[% 'Ship to' | $T8 %]">
-<input class="submit" type="submit" name="action" value="[% 'Print' | $T8 %]">
-<input class="submit" type="submit" name="action" value="[% 'E-mail' | $T8 %]">
-<input class="submit" type="submit" name="action" value="[% 'Save' | $T8 %]">
-<input class="submit" type="submit" name="action" value="[% 'Save and Close' | $T8 %]">
+<input class="submit" type="submit" name="action_update" id="update_button" value="[% 'Update' | $T8 %]">
+<input class="submit" type="submit" name="action_ship_to" value="[% 'Ship to' | $T8 %]">
+<input class="submit" type="submit" name="action_print" value="[% 'Print' | $T8 %]">
+<input class="submit" type="submit" name="action_e_mail" value="[% 'E-mail' | $T8 %]">
+<input class="submit" type="submit" name="action_save" value="[% 'Save' | $T8 %]">
+<input class="submit" type="submit" name="action_save_and_close" value="[% 'Save and Close' | $T8 %]">
 
 [%- IF id %]
   <input type="button" class="submit" onclick="follow_up_window()" value="[% 'Follow-Up' | $T8 %]">
   <input type="button" class="submit" onclick="set_history_window([% HTML.escape(id) %])" name="history" id="history" value="[% 'history' | $T8 %]">
 
   <br>[% label_workflow %]<br>
-  <input class="submit" type="submit" name="action" value="[% 'Save as new' | $T8 %]">
-  <input class="submit" type="submit" name="action" value="[% 'Delete' | $T8 %]">
+  <input class="submit" type="submit" name="action_save_as_new" value="[% 'Save as new' | $T8 %]">
+  <input class="submit" type="submit" name="action_delete" value="[% 'Delete' | $T8 %]">
 
   [%- IF is_sales_quo %]
-    <input class="submit" type="submit" name="action" value="[% 'Sales Order' | $T8 %]">
+    <input class="submit" type="submit" name="action_sales_order" value="[% 'Sales Order' | $T8 %]">
   [%- END %]
 
   [%- IF is_req_quo %]
-    <input class="submit" type="submit" name="action" value="[% 'Purchase Order' | $T8 %]">
+    <input class="submit" type="submit" name="action_purchase_order" value="[% 'Purchase Order' | $T8 %]">
   [%- END %]
 
   [%- IF is_sales_ord || is_pur_ord %]
-    <input class="submit" type="submit" name="action" value="[% 'Delivery Order' | $T8 %]">
+    <input class="submit" type="submit" name="action_delivery_order" value="[% 'Delivery Order' | $T8 %]">
   [%- END %]
 
-  <input class="submit" type="submit" name="action" value="[% 'Invoice' | $T8 %]">
+  <input class="submit" type="submit" name="action_invoice" value="[% 'Invoice' | $T8 %]">
 
   [%- IF is_sales_ord || is_pur_ord %]
     <br>[% heading %] als neue Vorlage verwenden f&uuml;r<br>
     [%- IF is_sales_ord %]
-      <input class="submit" type="submit" name="action" value="[% 'Purchase Order' | $T8 %]">
-     <input class="submit" type="submit" name="action" value="[% 'Quotation' | $T8 %]">
+      <input class="submit" type="submit" name="action_purchase_order" value="[% 'Purchase Order' | $T8 %]">
+     <input class="submit" type="submit" name="action_quotation" value="[% 'Quotation' | $T8 %]">
     [%- ELSE %]
     [%- IF is_pur_ord %]
-      <input class="submit" type="submit" name="action" value="[% 'Sales Order' | $T8 %]">
-     <input class="submit" type="submit" name="action" value="[% 'Request for Quotation' | $T8 %]">
+      <input class="submit" type="submit" name="action_sales_order" value="[% 'Sales Order' | $T8 %]">
+     <input class="submit" type="submit" name="action_request_for_quotation" value="[% 'Request for Quotation' | $T8 %]">
     [%- END %]
     [%- END %]
   [%- END %]
 [%- END %]
+<input type="hidden" name="action" value="dispatcher">
 <input type="hidden" name="saved_xyznumber" value="[% HTML.escape(saved_xyznumber) %]">
 <input type="hidden" name="rowcount" value="[% HTML.escape(rowcount) %]">
 <input type="hidden" name="callback" value="[% callback %]">