Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision c3896321

Von Cem Aydin vor mehr als 1 Jahr hinzugefügt

  • ID c38963214a3ef1debd43318040e17fd2a1ab25a0
  • Vorgänger 5aa9b450
  • Nachfolger 686ba63a

Reklamationen (neuer controller): Kunden-/Lieferanten picker mit Details Option verwenden

- dadurch obsolet gewordenen code, JavaScript sowie im Controller entfernt

Unterschiede anzeigen:

SL/Controller/Reclamation.pm
$self->js->render();
}
# open the dialog for customer/vendor details
sub action_show_customer_vendor_details_dialog {
my ($self) = @_;
my $is_customer = ($self->type_data->properties('is_customer'));
my $cv;
if ($is_customer) {
$cv = SL::DB::Customer->new(id => $::form->{cv_id})->load;
} else {
$cv = SL::DB::Vendor->new(id => $::form->{cv_id})->load;
}
my %details = map { $_ => $cv->$_ } @{$cv->meta->columns};
$details{discount_as_percent} = $cv->discount_as_percent;
$details{creditlimt} = $cv->creditlimit_as_number;
$details{business} = $cv->business->description if $cv->business;
$details{language} = $cv->language_obj->description if $cv->language_obj;
$details{delivery_terms} = $cv->delivery_term->description if $cv->delivery_term;
$details{payment_terms} = $cv->payment->description if $cv->payment;
$details{pricegroup} = $cv->pricegroup->pricegroup if !$is_customer && $cv->pricegroup;
foreach my $entry (@{ $cv->shipto }) {
push @{ $details{SHIPTO} }, { map { $_ => $entry->$_ } @{$entry->meta->columns} };
}
foreach my $entry (@{ $cv->contacts }) {
push @{ $details{CONTACTS} }, { map { $_ => $entry->$_ } @{$entry->meta->columns} };
}
$_[0]->render('common/show_vc_details', { layout => 0 },
is_customer => $is_customer,
%details);
}
# called if a unit in an existing item row is changed
sub action_unit_changed {
my ($self) = @_;
js/kivi.Reclamation.js
kivi.io.close_dialog();
};
ns.show_cv_details_dialog = function() {
if (!ns.check_cv()) return;
var cv;
var cv_id;
var title;
if ($('#type').val() == 'sales_reclamation') {
cv = 'customer';
cv_id = $('#reclamation_customer_id').val();
title = kivi.t8('Customer details');
} else {
cv = 'vendor';
cv_id = $('#reclamation_vendor_id').val();
title = kivi.t8('Vendor details');
}
kivi.popup_dialog({
url: 'controller.pl',
data: { action: 'Reclamation/show_customer_vendor_details_dialog',
type : $('#type').val(),
cv : cv,
cv_id : cv_id
},
id: 'jq_customer_vendor_details_dialog',
dialog: {
title: title,
width: 800,
height: 650
}
});
return true;
};
ns.update_row_from_master_data = function(clicked) {
var row = $(clicked).parents("tbody").first();
var item_id_dom = $(row).find('[name="reclamation_item_ids[+]"]');
......
$.post("controller.pl", data, kivi.eval_json_result);
};
ns.open_customervendor_tab = function(id_selector, db) {
if (!ns.check_cv()) return;
window.open("controller.pl?action=CustomerVendor/edit&db=" + encodeURIComponent(db) + "&id=" + encodeURIComponent($(id_selector).val()), '_blank');
};
ns.get_selected_rows = function() {
let selected_rows = [];
$('[name^="multi_id_"]').each( function() {
templates/design40_webpages/reclamation/tabs/basic_data.html
<th>[%- SELF.cv == "customer" ? LxERP.t8('Customer') : LxERP.t8('Vendor') -%]</th>
[% SET cv_id = SELF.cv _ '_id' %]
<td class="wi-lightwide">
[% P.customer_vendor.picker("reclamation.${SELF.cv}" _ '_id', SELF.reclamation.$cv_id, type=SELF.cv, class='wi-lightwide') %]
[%- L.img_tag(src="image/detail.png",
alt=LxERP.t8('Show details'),
title= LxERP.t8('Show details'),
onclick="kivi.Reclamation.show_cv_details_dialog();",
class="button-image info") %]
[% P.link_tag("javascript:void(0);", LxERP.t8('Edit'), title=LxERP.t8('Open in new window'), onclick="kivi.Reclamation.open_customervendor_tab('#reclamation_${SELF.cv}_id', '${SELF.cv}')") %]
[% P.customer_vendor.picker("reclamation.${SELF.cv}" _ '_id', SELF.reclamation.$cv_id, type=SELF.cv, show_details="1") %]
</td>
</tr>
templates/webpages/reclamation/tabs/basic_data.html
<th align="right">[%- SELF.cv == "customer" ? LxERP.t8('Customer') : LxERP.t8('Vendor') -%]</th>
[% SET cv_id = SELF.cv _ '_id' %]
<td>
[% P.customer_vendor.picker("reclamation.${SELF.cv}" _ '_id', SELF.reclamation.$cv_id, type=SELF.cv, style='width: 300px') %]
[% P.button_tag("kivi.Reclamation.show_cv_details_dialog()", LxERP.t8("Details (one letter abbreviation)")) %]
[% P.link_tag("javascript:void(0);", LxERP.t8('Edit'), title=LxERP.t8('Open in new window'), onclick="kivi.Reclamation.open_customervendor_tab('#reclamation_${SELF.cv}_id', '${SELF.cv}')") %]
[% P.customer_vendor.picker("reclamation.${SELF.cv}" _ '_id', SELF.reclamation.$cv_id, type=SELF.cv, show_details="1",
style='width: 300px') %]
</td>
</tr>

Auch abrufbar als: Unified diff