Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 7349649b

Von Kivitendo Admin vor mehr als 8 Jahren hinzugefügt

  • ID 7349649bae8d80eabfd253592d59f8455f9ef6b0
  • Vorgänger 9e481f80
  • Nachfolger 66796c03

Kunde: Datenbanktabelle "klass" nach "pricegroup_id" migriert

und einen Fremdschlüssel gesetzt.

Unterschiede anzeigen:

SL/CT.pm
}
my $pg_select = $form->{l_pricegroup} ? qq|, pg.pricegroup as pricegroup | : '';
my $pg_join = $form->{l_pricegroup} ? qq|LEFT JOIN pricegroup pg ON (ct.klass = pg.id) | : '';
my $pg_join = $form->{l_pricegroup} ? qq|LEFT JOIN pricegroup pg ON (ct.pricegroup_id = pg.id) | : '';
my $query =
qq|SELECT ct.*, ct.itime::DATE AS insertdate, b.description AS business, e.name as salesman, | .
qq| pt.description as payment | .
SL/Common.pm
$form->{CONTACTS} = selectall_hashref_query($form, $dbh, $query, $vc_id);
# Only show default pricegroup for customer, not vendor, which is why this is outside the main query
($form->{pricegroup}) = selectrow_query($form, $dbh, qq|SELECT pricegroup FROM pricegroup WHERE id = ?|, $form->{klass});
($form->{pricegroup}) = selectrow_query($form, $dbh, qq|SELECT pricegroup FROM pricegroup WHERE id = ?|, $form->{pricegroup_id});
$dbh->disconnect();
SL/Controller/CsvImport/CustomerVendor.pm
{ name => 'greeting', description => $::locale->text('Greeting') },
{ name => 'homepage', description => $::locale->text('Homepage') },
{ name => 'iban', description => $::locale->text('IBAN') },
{ name => 'klass', description => $::locale->text('Preisklasse') },
{ name => 'pricegroup_id', description => $::locale->text('Price group (database ID)') },
{ name => 'language_id', description => $::locale->text('Language (database ID)') },
{ name => 'language', description => $::locale->text('Language (name)') },
{ name => 'name', description => $::locale->text('Name') },
SL/DB/MetaSetup/Customer.pm
iban => { type => 'text' },
id => { type => 'integer', not_null => 1, sequence => 'id' },
itime => { type => 'timestamp', default => 'now()' },
klass => { type => 'integer', default => '0' },
language => { type => 'text' },
language_id => { type => 'integer' },
mandate_date_of_signature => { type => 'date' },
......
obsolete => { type => 'boolean', default => 'false' },
payment_id => { type => 'integer' },
phone => { type => 'text' },
pricegroup_id => { type => 'integer' },
salesman_id => { type => 'integer' },
street => { type => 'text' },
taxincluded => { type => 'boolean' },
......
key_columns => { payment_id => 'id' },
},
pricegroup => {
class => 'SL::DB::Pricegroup',
key_columns => { pricegroup_id => 'id' },
},
taxzone => {
class => 'SL::DB::TaxZone',
key_columns => { taxzone_id => 'id' },
SL/IC.pm
my $i = 1;
foreach my $pg (@{ $pricegroups }) {
$form->{"klass_$i"} = "$pg->{id}";
$form->{"price_$i"} = $form->format_amount($myconfig, $form->{"price_$i"}, -2);
$form->{"price_$i"} = $form->format_amount($myconfig, $form->{"price_$i"}, -2);
$form->{"pricegroup_id_$i"} = "$pg->{id}";
$form->{"pricegroup_$i"} = "$pg->{pricegroup}";
$i++;
SL/IS.pm
c.id AS customer_id, c.name AS customer, c.discount as customer_discount, c.creditlimit,
c.email, c.cc, c.bcc, c.language_id, c.payment_id, c.delivery_term_id,
c.street, c.zipcode, c.city, c.country,
c.notes AS intnotes, c.klass as customer_klass, c.taxzone_id, c.salesman_id, cu.name AS curr,
c.notes AS intnotes, c.pricegroup_id as customer_pricegroup_id, c.taxzone_id, c.salesman_id, cu.name AS curr,
c.taxincluded_checked, c.direct_debit,
b.discount AS tradediscount, b.description AS business
FROM customer c
SL/PriceSource/Pricegroup.pm
my @prices = $self->available_prices;
my $customer = $self->record->customer;
return () if !$customer || !$customer->klass;
return () if !$customer || !$customer->pricegroup_id;
my $best_price = first { $_->spec == $customer->klass } @prices;
my $best_price = first { $_->spec == $customer->pricegroup_id } @prices;
return $best_price || ();
}
bin/mozilla/oe.pl
# business
$TMPL_VAR{business_label} = ($form->{vc} eq "customer" ? $locale->text('Customer type') : $locale->text('Vendor type'));
push @custom_hiddens, "customer_klass" if $form->{vc} eq 'customer';
push @custom_hiddens, "customer_pricegroup_id" if $form->{vc} eq 'customer';
my $credittext = $locale->text('Credit Limit exceeded!!!');
doc/UPGRADE
* In der Rechte-Tabelle auth.master_rights wurden alle Positionswerte mit 100
multipliziert, um Lücken für neue Rechte zu schaffen.
* In der Tabelle "customer" wurde die Spalte "klass" nach "pricegroup_id"
migriert. Bei Kunden ohne Preisgruppe ist der Datenbankwert jetzt NULL statt
"0". Falls Kunden per CSV-Import importiert werden muß dieses Feld in der
CSV-Datei ebenfalls umbenannt werden.
* Es wird jetzt Postgres 9.1 vorausgesetzt um GIN Indizes zu verwenden. Wenn
das auf dem Zielsystem absolut nicht möglich ist, muss das Upgradescript
sql/Pg-Upgrade2/trigram_indices.sql deaktiviert oder entfernt werden.
locale/de/all
'Preferences saved!' => 'Einstellungen gespeichert!',
'Prefix for the new bins\' names' => 'Namenspräfix für die neuen Lagerplätze',
'Preis' => 'Preis',
'Preisklasse' => 'Preisgruppe',
'Prepare bank collection via SEPA XML' => 'Einzug via SEPA XML vorbereiten',
'Prepare bank transfer via SEPA XML' => 'Überweisung via SEPA XML vorbereiten',
'Prepayment' => 'Vorauszahlung',
locale/en/all
'Preferences saved!' => '',
'Prefix for the new bins\' names' => '',
'Preis' => '',
'Preisklasse' => '',
'Prepare bank collection via SEPA XML' => '',
'Prepare bank transfer via SEPA XML' => '',
'Prepayment' => '',
sql/Pg-upgrade2/customer_klass_rename_to_pricegroup_id_and_foreign_key.sql
-- @tag: customer_klass_rename_to_pricegroup_id_and_foreign_key
-- @description: klass nach pricegroup_id umbenannt
-- @depends: release_3_4_1
-- @ignore: 0
ALTER TABLE customer ADD COLUMN pricegroup_id INTEGER REFERENCES pricegroup (id);
UPDATE customer SET pricegroup_id = klass WHERE klass != 0;
ALTER TABLE customer DROP COLUMN klass;
templates/webpages/customer_vendor/tabs/billing.html
<th align="right">[% 'Price group' | $T8 %]</th>
<td>
[% L.select_tag('cv.klass', SELF.all_pricegroups, default = SELF.cv.klass, value_key = 'id', title_key = 'pricegroup', with_empty = 1) %]
[% L.select_tag('cv.pricegroup_id', SELF.all_pricegroups, default = SELF.cv.pricegroup_id, value_key = 'id', title_key = 'pricegroup', with_empty = 1) %]
</td>
[% END %]
templates/webpages/do/form_header.html
<input type="hidden" name="closed" value="[% HTML.escape(closed) %]">
<input type="hidden" name="convert_from_oe_ids" value="[% HTML.escape(convert_from_oe_ids) %]">
<input type="hidden" name="currency" value="[% HTML.escape(currency) %]">
<input type="hidden" name="customer_klass" value="[% HTML.escape(customer_klass) %]">
<input type="hidden" name="customer_pricegroup_id" value="[% HTML.escape(customer_pricegroup_id) %]">
<input type="hidden" name="discount" value="[% HTML.escape(discount) %]">
<input type="hidden" name="dunning_amount" value="[% HTML.escape(dunning_amount) %]">
<input type="hidden" name="email" value="[% HTML.escape(email) %]">
templates/webpages/ir/form_header.html
onChange = "document.getElementById('update_button').click();" -%]
<input type="button" value="[% 'Details (one letter abbreviation)' | $T8 %]" onclick="show_vc_details('[% vc | html %]')">
</td>
<input type="hidden" name="vendor_klass" value="[% HTML.escape(vendor_klass) %]">
<input type="hidden" name="vendor_id" value="[% HTML.escape(vendor_id) %]">
<input type="hidden" name="oldvendor" value="[% HTML.escape(oldvendor) %]">
<input type="hidden" name="selectvendor" value="[% HTML.escape(selectvendor) %]">
templates/webpages/is/form_header.html
allow_textbox = 1,
onChange = "document.getElementById('update_button').click();" -%]
<input type="button" value="[% 'Details (one letter abbreviation)' | $T8 %]" onclick="show_vc_details('[% HTML.escape(vc) %]')">
<input type="hidden" name="customer_klass" value="[% HTML.escape(customer_klass) %]">
<input type="hidden" name="customer_pricegroup_id" value="[% HTML.escape(customer_pricegroup_id) %]">
<input type="hidden" name="customer_id" value="[% HTML.escape(customer_id) %]">
<input type="hidden" name="oldcustomer" value="[% HTML.escape(oldcustomer) %]">
<input type="hidden" name="selectcustomer" value="[% HTML.escape(selectcustomer) %]">

Auch abrufbar als: Unified diff