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"});
}
shiptocity = ?,
shiptocountry = ?,
shiptocontact = ?,
+ shiptocp_gender = ?,
shiptophone = ?,
shiptofax = ?,
shiptoemail = ?
shiptocity = ? AND
shiptocountry = ? AND
shiptocontact = ? AND
+ shiptocp_gender = ? AND
shiptophone = ? AND
shiptofax = ? AND
shiptoemail = ? AND
$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);
}
}
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 =
? $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);
<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>
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.'));
+}
- 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:
"<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;
}
--- /dev/null
+-- @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;
<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) %]">
</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ü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 %]">