Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 92331b8e

Von Moritz Bunkus vor fast 14 Jahren hinzugefügt

  • ID 92331b8e3417f4a28db17f7af1b8154e985c4da1
  • Vorgänger 250fa402
  • Nachfolger b7b8a0ff

Bearbeiten der Konfiguration für wiederkehrende Rechnungen implementiert

Zzgl. der Suchfunktionserweiterung bei Aufträgen

Unterschiede anzeigen:

SL/Form.pm
48 48
use SL::Auth::DB;
49 49
use SL::Auth::LDAP;
50 50
use SL::AM;
51
use SL::DB;
51 52
use SL::Common;
52 53
use SL::DBUtils;
53 54
use SL::Mailer;
......
1580 1581
    undef $standard_dbh;
1581 1582
  }
1582 1583

  
1583
  $standard_dbh ||= $self->dbconnect_noauto($myconfig);
1584
  $standard_dbh ||= SL::DB::create->dbh;
1584 1585

  
1585 1586
  $main::lxdebug->leave_sub(2);
1586 1587

  
SL/OE.pm
35 35
package OE;
36 36

  
37 37
use List::Util qw(max first);
38
use YAML;
39

  
38 40
use SL::AM;
39 41
use SL::Common;
40 42
use SL::CVar;
43
use SL::DB::PeriodicInvoicesConfig;
41 44
use SL::DBUtils;
42 45
use SL::IC;
43 46

  
......
58 61
  my @values;
59 62
  my $where;
60 63

  
64
  my ($periodic_invoices_columns, $periodic_invoices_joins);
65

  
61 66
  my $rate = ($form->{vc} eq 'customer') ? 'buy' : 'sell';
62 67

  
63 68
  if ($form->{type} =~ /_quotation$/) {
64 69
    $quotation = '1';
65 70
    $ordnumber = 'quonumber';
71

  
72
  } elsif ($form->{type} eq 'sales_order') {
73
    $periodic_invoices_columns = qq| , COALESCE(pcfg.active, 'f') AS periodic_invoices |;
74
    $periodic_invoices_joins   = qq| LEFT JOIN periodic_invoices_configs pcfg ON (o.id = pcfg.oe_id) |;
66 75
  }
67 76

  
68 77
  my $vc = $form->{vc} eq "customer" ? "customer" : "vendor";
......
77 86
    qq|  pr.projectnumber AS globalprojectnumber, | .
78 87
    qq|  e.name AS employee, s.name AS salesman, | .
79 88
    qq|  ct.${vc}number AS vcnumber, ct.country, ct.ustid  | .
89
    $periodic_invoices_columns .
80 90
    qq|FROM oe o | .
81 91
    qq|JOIN $vc ct ON (o.${vc}_id = ct.id) | .
82 92
    qq|LEFT JOIN employee e ON (o.employee_id = e.id) | .
......
84 94
    qq|LEFT JOIN exchangerate ex ON (ex.curr = o.curr | .
85 95
    qq|  AND ex.transdate = o.transdate) | .
86 96
    qq|LEFT JOIN project pr ON (o.globalproject_id = pr.id) | .
97
    qq|$periodic_invoices_joins | .
87 98
    qq|WHERE (o.quotation = ?) |;
88 99
  push(@values, $quotation);
89 100

  
......
178 189
    push(@values, '%' . $form->{transaction_description} . '%');
179 190
  }
180 191

  
192
  if ($form->{periodic_invoices_active} ne $form->{periodic_invoices_inactive}) {
193
    my $not  = 'NOT' if ($form->{periodic_invoices_inactive});
194
    $query  .= qq| AND ${not} COALESCE(pcfg.active, 'f')|;
195
  }
196

  
181 197
  my $sortdir   = !defined $form->{sortdir} ? 'ASC' : $form->{sortdir} ? 'ASC' : 'DESC';
182 198
  my $sortorder = join(', ', map { "${_} ${sortdir} " } ("o.id", $form->sort_columns("transdate", $ordnumber, "name")));
183 199
  my %allowed_sort_columns = (
......
259 275
  my ($self, $myconfig, $form) = @_;
260 276

  
261 277
  # connect to database, turn off autocommit
262
  my $dbh = $form->dbconnect_noauto($myconfig);
278
  my $dbh = $form->get_standard_dbh;
263 279

  
264 280
  my ($query, @values, $sth, $null);
265 281
  my $exchangerate = 0;
......
543 559
    }
544 560
  }
545 561

  
562
  $self->save_periodic_invoices_config(dbh         => $dbh,
563
                                       oe_id       => $form->{id},
564
                                       config_yaml => $form->{periodic_invoices_config})
565
    if ($form->{type} eq 'sales_order');
566

  
546 567
  $form->{saved_xyznumber} = $form->{$form->{type} =~ /_quotation$/ ?
547 568
                                       "quonumber" : "ordnumber"};
548 569

  
549 570
  Common::webdav_folder($form) if ($main::webdav);
550 571

  
551 572
  my $rc = $dbh->commit;
552
  $dbh->disconnect;
553 573

  
554 574
  $main::lxdebug->leave_sub();
555 575

  
556 576
  return $rc;
557 577
}
558 578

  
579
sub save_periodic_invoices_config {
580
  my ($self, %params) = @_;
581

  
582
  return if !$params{oe_id};
583

  
584
  my $config = $params{config_yaml} ? YAML::Load($params{config_yaml}) : undef;
585
  return if 'HASH' ne ref $config;
586

  
587
  my $obj  = SL::DB::Manager::PeriodicInvoicesConfig->find_by(oe_id => $params{oe_id})
588
          || SL::DB::PeriodicInvoicesConfig->new(oe_id => $params{oe_id});
589
  $obj->update_attributes(%{ $config });
590
}
591

  
559 592
sub _close_quotations_rfqs {
560 593
  $main::lxdebug->enter_sub();
561 594

  
......
628 661
  # delete-values
629 662
  @values = (conv_i($form->{id}));
630 663

  
664
  # periodic invoices and their configuration
665
  do_query($form, $dbh, qq|DELETE FROM periodic_invoices         WHERE config_id IN (SELECT id FROM periodic_invoices_configs WHERE oe_id = ?)|, @values);
666
  do_query($form, $dbh, qq|DELETE FROM periodic_invoices_configs WHERE oe_id = ?|, @values);
667

  
631 668
  # delete status entries
632 669
  $query = qq|DELETE FROM status | .
633 670
           qq|WHERE trans_id = ?|;
......
928 965
    }
929 966
    $sth->finish;
930 967

  
968
    delete $form->{periodic_invoices_config};
969
    if ($form->{id} && ($form->{type} eq 'sales_order')) {
970
      $query = qq|SELECT periodicity, start_date, print, printer_id, copies, active, ar_chart_id FROM periodic_invoices_configs WHERE oe_id = ? LIMIT 1|;
971
      $ref   = selectfirst_hashref_query($form, $dbh, $query, conv_i($form->{id}));
972

  
973
      $form->{periodic_invoices_config} = YAML::Dump($ref) if ($ref);
974
    }
975

  
931 976
  } else {
932 977

  
933 978
    # get last name used
......
941 986
  Common::webdav_folder($form) if ($main::webdav);
942 987

  
943 988
  my $rc = $dbh->commit;
944
  $dbh->disconnect;
945 989

  
946 990
  $main::lxdebug->leave_sub();
947 991

  
bin/mozilla/oe.pl
41 41
use SL::MoreCommon qw(ary_diff);
42 42
use SL::PE;
43 43
use SL::ReportGenerator;
44
use List::MoreUtils qw(any none);
44 45
use List::Util qw(max reduce sum);
45 46
use Data::Dumper;
46 47

  
......
396 397
  $onload .= qq|;setupPoints('|.   $myconfig{numberformat} .qq|', '|. $locale->text("wrongformat") .qq|')|;
397 398
  $TMPL_VAR{onload} = $onload;
398 399

  
400
  if ($form->{type} eq 'sales_order') {
401
    if (!$form->{periodic_invoices_config}) {
402
      $form->{periodic_invoices_status} = $locale->text('not configured');
403

  
404
    } else {
405
      my $config                        = YAML::Load($form->{periodic_invoices_config});
406
      $form->{periodic_invoices_status} = $config->{active} ? $locale->text('active') : $locale->text('inactive');
407
    }
408
  }
409

  
399 410
  $form->{javascript} .= qq|<script type="text/javascript" src="js/show_form_details.js"></script>|;
400 411
  $form->{javascript} .= qq|<script type="text/javascript" src="js/show_history.js"></script>|;
401 412
  $form->{javascript} .= qq|<script type="text/javascript" src="js/show_vc_details.js"></script>|;
......
747 758
    "salesman",
748 759
    "shipvia",                 "globalprojectnumber",
749 760
    "transaction_description", "open",
750
    "delivered", "marge_total", "marge_percent",
761
    "delivered",               "periodic_invoices",
762
    "marge_total",             "marge_percent",
751 763
    "vcnumber",                "ustid",
752 764
    "country",
753 765
  );
......
758 770
    unshift @columns, "ids";
759 771
  }
760 772

  
761
  $form->{l_open}      = $form->{l_closed} = "Y" if ($form->{open}      && $form->{closed});
762
  $form->{l_delivered} = "Y"                     if ($form->{delivered} && $form->{notdelivered});
773
  $form->{l_open}              = $form->{l_closed} = "Y" if ($form->{open}      && $form->{closed});
774
  $form->{l_delivered}         = "Y"                     if ($form->{delivered} && $form->{notdelivered});
775
  $form->{l_periodic_invoices} = "Y"                     if ($form->{periodic_invoices_active} && $form->{periodic_invoices_inactive});
763 776

  
764 777
  my $attachment_basename;
765 778
  if ($form->{vc} eq 'vendor') {
......
786 799
  my @hidden_variables = map { "l_${_}" } @columns;
787 800
  push @hidden_variables, "l_subtotal", $form->{vc}, qw(l_closed l_notdelivered open closed delivered notdelivered ordnumber quonumber
788 801
                                                        transaction_description transdatefrom transdateto type vc employee_id salesman_id
789
                                                        reqdatefrom reqdateto projectnumber project_id);
802
                                                        reqdatefrom reqdateto projectnumber project_id periodic_invoices_active periodic_invoices_inactive);
790 803

  
791 804
  my $href = build_std_url('action=orders', grep { $form->{$_} } @hidden_variables);
792 805

  
......
814 827
    'vcnumber'                => { 'text' => $form->{vc} eq 'customer' ? $locale->text('Customer Number') : $locale->text('Vendor Number'), },
815 828
    'country'                 => { 'text' => $locale->text('Country'), },
816 829
    'ustid'                   => { 'text' => $locale->text('USt-IdNr.'), },
830
    'periodic_invoices'       => { 'text' => $locale->text('Per. Inv.'), },
817 831
  );
818 832

  
819 833
  foreach my $name (qw(id transdate reqdate quonumber ordnumber name employee salesman shipvia transaction_description)) {
......
855 869
  push @options, $locale->text('Closed')                                                                  if $form->{closed};
856 870
  push @options, $locale->text('Delivered')                                                               if $form->{delivered};
857 871
  push @options, $locale->text('Not delivered')                                                           if $form->{notdelivered};
872
  push @options, $locale->text('Periodic invoices active')                                                if $form->{periodic_invoices_actibe};
858 873

  
859 874
  $report->set_options('top_info_text'        => join("\n", @options),
860 875
                       'raw_top_info_text'    => $form->parse_html_template('oe/orders_top'),
......
884 899
  foreach my $oe (@{ $form->{OE} }) {
885 900
    map { $oe->{$_} *= $oe->{exchangerate} } @subtotal_columns;
886 901

  
887
    $oe->{tax}       = $oe->{amount} - $oe->{netamount};
888
    $oe->{open}      = $oe->{closed}    ? $locale->text('No')  : $locale->text('Yes');
889
    $oe->{delivered} = $oe->{delivered} ? $locale->text('Yes') : $locale->text('No');
902
    $oe->{tax}               = $oe->{amount} - $oe->{netamount};
903
    $oe->{open}              = $oe->{closed}            ? $locale->text('No')  : $locale->text('Yes');
904
    $oe->{delivered}         = $oe->{delivered}         ? $locale->text('Yes') : $locale->text('No');
905
    $oe->{periodic_invoices} = $oe->{periodic_invoices} ? $locale->text('On')  : $locale->text('Off');
890 906

  
891 907
    map { $subtotals{$_} += $oe->{$_};
892 908
          $totals{$_}    += $oe->{$_} } @subtotal_columns;
......
1936 1952
  return $content;
1937 1953
}
1938 1954

  
1955
sub edit_periodic_invoices_config {
1956
  $::lxdebug->enter_sub();
1957

  
1958
  $::form->{type} = 'sales_order';
1959

  
1960
  check_oe_access();
1961

  
1962
  my $config;
1963
  $config = YAML::Load($::form->{periodic_invoices_config}) if $::form->{periodic_invoices_config};
1964

  
1965
  if ('HASH' ne ref $config) {
1966
    $config       =  {
1967
      periodicity => 'm',
1968
      start_date  => $::form->{transdate},
1969
      active      => 1,
1970
    };
1971
  }
1972

  
1973
  $config->{periodicity} = 'm' if none { $_ eq $config->{periodicity} } qw(m q y);
1974

  
1975
  $::form->get_lists(printers => "ALL_PRINTERS",
1976
                     charts   => { key       => 'ALL_CHARTS',
1977
                                   transdate => 'current_date' });
1978

  
1979
  $::form->{AR}    = [ grep { $_->{link} =~ m/(?:^|:)AR(?::|$)/ } @{ $::form->{ALL_CHARTS} } ];
1980
  $::form->{title} = $::locale->text('Edit the configuration for periodic invoices');
1981

  
1982
  $::form->header();
1983
  print $::form->parse_html_template('oe/edit_periodic_invoices_config', $config);
1984

  
1985
  $::lxdebug->leave_sub();
1986
}
1987

  
1988
sub save_periodic_invoices_config {
1989
  $::lxdebug->enter_sub();
1990

  
1991
  $::form->{type} = 'sales_order';
1992

  
1993
  check_oe_access();
1994

  
1995
  $::form->isblank('start_date', $::locale->text('The start date is missing.'));
1996

  
1997
  my $config = { active       => $::form->{active} ? 1 : 0,
1998
                 periodicity  => (any { $_ eq $::form->{periodicity} } qw(m q y)) ? $::form->{periodicity} : 'm',
1999
                 start_date   => $::form->{start_date},
2000
                 print        => $::form->{print} ? 1 : 0,
2001
                 printer_id   => $::form->{print} ? $::form->{printer_id} * 1 : undef,
2002
                 copies       => $::form->{copies} * 1 ? $::form->{copies} : 1,
2003
                 ar_chart_id  => $::form->{ar_chart_id} * 1,
2004
               };
2005

  
2006
  $::form->{periodic_invoices_config} = YAML::Dump($config);
2007

  
2008
  $::form->{title} = $::locale->text('Edit the configuration for periodic invoices');
2009
  $::form->header;
2010
  print $::form->parse_html_template('oe/save_periodic_invoices_config', $config);
2011

  
2012
  $::lxdebug->leave_sub();
2013
}
2014

  
1939 2015
sub dispatcher {
1940 2016
  my $form     = $main::form;
1941 2017
  my $locale   = $main::locale;
js/edit_periodic_invoices_config.js
1
function edit_periodic_invoices_config() {
2
  var width     = 750;
3
  var height    = 550;
4
  var parm      = centerParms(width, height) + ",width=" + width + ",height=" + height + ",status=yes,scrollbars=yes";
5

  
6
  var config    = $('#periodic_invoices_config').attr('value');
7
  var transdate = $('#transdate').attr('value');
8

  
9
  var url       = "oe.pl?" +
10
    "action=edit_periodic_invoices_config&" +
11
    "periodic_invoices_config=" + encodeURIComponent(config) + "&" +
12
    "transdate="                + encodeURIComponent(transdate);
13

  
14
  // alert(url);
15
  window.open(url, "_new_generic", parm);
16
}
locale/de/all
382 382
  'Company Name'                => 'Firmenname',
383 383
  'Compare to'                  => 'Gegenüberstellen zu',
384 384
  'Configuration of individual TODO items' => 'Konfiguration f&uuml;r die einzelnen Aufgabenlistenpunkte',
385
  'Configure'                   => 'Konfigurieren',
385 386
  'Confirm'                     => 'Best&auml;tigen',
386 387
  'Confirm!'                    => 'Bestätigen Sie!',
387 388
  'Confirmation'                => 'Auftragsbestätigung',
......
675 676
  'Edit rights'                 => 'Rechte bearbeiten',
676 677
  'Edit templates'              => 'Vorlagen bearbeiten',
677 678
  'Edit the Delivery Order'     => 'Lieferschein bearbeiten',
679
  'Edit the configuration for periodic invoices' => 'Konfiguration für wiederkehrende Rechnungen bearbeiten',
678 680
  'Edit the membership of all users in all groups:' => 'Bearbeiten der Mitgliedschaft aller Benutzer in allen Gruppen:',
679 681
  'Edit the purchase_order'     => 'Bearbeiten des Lieferantenauftrags',
680 682
  'Edit the request_quotation'  => 'Bearbeiten der Preisanfrage',
......
1198 1200
  'Payment posted!'             => 'Zahlung gebucht!',
1199 1201
  'Payment terms deleted!'      => 'Zahlungskonditionen gelöscht!',
1200 1202
  'Payments'                    => 'Zahlungsausgänge',
1203
  'Per. Inv.'                   => 'Wied. Rech.',
1201 1204
  'Period'                      => 'Zeitraum',
1202 1205
  'Period:'                     => 'Zeitraum:',
1206
  'Periodic Invoices'           => 'Wiederkehrende Rechnungen',
1207
  'Periodic invoices active'    => 'Wiederkehrende Rechnungen aktiv',
1208
  'Periodic invoices inactive'  => 'Wiederkehrende Rechnungen inaktiv',
1209
  'Periodicity'                 => 'Periodizität',
1203 1210
  'Personal settings'           => 'Pers&ouml;nliche Einstellungen',
1204 1211
  'Pg Database Administration'  => 'Datenbankadministration',
1205 1212
  'Phone'                       => 'Telefon',
......
1265 1272
  'Pricegroups'                 => 'Preisgruppen',
1266 1273
  'Print'                       => 'Drucken',
1267 1274
  'Print and Post'              => 'Drucken und Buchen',
1275
  'Print automatically'         => 'Automatisch ausdrucken',
1268 1276
  'Print dunnings'              => 'Mahnungen drucken',
1269 1277
  'Print list'                  => 'Liste ausdrucken',
1270 1278
  'Print options'               => 'Druckoptionen',
......
1500 1508
  'Spoolfile'                   => 'Druckdatei',
1501 1509
  'Start Dunning Process'       => 'Mahnprozess starten',
1502 1510
  'Start analysis'              => 'Analyse beginnen',
1511
  'Start date'                  => 'Startdatum',
1503 1512
  'Start the correction assistant' => 'Korrekturassistenten starten',
1504 1513
  'Startdate_coa'               => 'Gültig ab',
1505 1514
  'Starting Balance'            => 'Eröffnungsbilanzwerte',
......
1685 1694
  'The selected warehouse is empty.' => 'Das ausgew&auml;hlte Lager ist leer.',
1686 1695
  'The session is invalid or has expired.' => 'Sie sind von Lx-Office abgemeldet.',
1687 1696
  'The source warehouse does not contain any bins.' => 'Das Quelllager enth&auml;lt keine Lagerpl&auml;tze.',
1697
  'The start date is missing.'  => 'Das Startdatum fehlt.',
1688 1698
  'The subject is missing.'     => 'Der Betreff fehlt.',
1689 1699
  'The tables for user management and authentication do not exist. They will be created in the next step in the following database:' => 'Die Tabellen zum Speichern der Benutzerdaten und zur Benutzerauthentifizierung wurden nicht gefunden. Sie werden in der folgenden Datenbank angelegt:',
1690 1700
  'The tabulator character'     => 'Das Tabulator-Symbol',
......
1945 1955
  '[email]'                     => '[email]',
1946 1956
  'account_description'         => 'Beschreibung',
1947 1957
  'accrual'                     => 'Bilanzierung (Soll-Versteuerung)',
1958
  'active'                      => 'aktiv',
1948 1959
  'all entries'                 => 'alle Einträge',
1949 1960
  'ap_aging_list'               => 'liste_offene_verbindlichkeiten',
1950 1961
  'ar_aging_list'               => 'liste_offene_forderungen',
......
1999 2010
  'general_ledger_list'         => 'buchungsjournal',
2000 2011
  'history'                     => 'Historie',
2001 2012
  'history search engine'       => 'Historien Suchmaschine',
2013
  'inactive'                    => 'inaktiv',
2002 2014
  'invoice'                     => 'Rechnung',
2003 2015
  'invoice_list'                => 'debitorenbuchungsliste',
2004 2016
  'lead deleted!'               => 'Kundenquelle gelöscht',
......
2012 2024
  'mark as paid'                => 'als bezahlt markieren',
2013 2025
  'missing'                     => 'Fehlbestand',
2014 2026
  'month'                       => 'Monatliche Abgabe',
2027
  'monthly'                     => 'monatlich',
2015 2028
  'new Window'                  => 'neues Fenster',
2016 2029
  'no'                          => 'nein',
2017 2030
  'no bestbefore'               => 'keine Mindesthaltbarkeit',
2018 2031
  'no chargenumber'             => 'keine Chargennummer',
2019 2032
  'none (pricegroup)'           => 'keine',
2033
  'not configured'              => 'nicht konfiguriert',
2020 2034
  'not executed'                => 'nicht ausgeführt',
2021 2035
  'not transferred in yet'      => 'noch nicht eingelagert',
2022 2036
  'not transferred out yet'     => 'noch nicht ausgelagert',
......
2041 2055
  'purchase_order'              => 'Auftrag',
2042 2056
  'purchase_order_list'         => 'lieferantenauftragsliste',
2043 2057
  'quarter'                     => 'Vierteljährliche (quartalsweise) Abgabe',
2058
  'quarterly'                   => 'quartalsweise',
2044 2059
  'quotation_list'              => 'angebotsliste',
2045 2060
  'release_material'            => 'Materialausgabebe',
2046 2061
  'report_generator_dispatch_to is not defined.' => 'report_generator_dispatch_to ist nicht definiert.',
......
2086 2101
  'warehouse_journal_list'      => 'lagerbuchungsliste',
2087 2102
  'warehouse_report_list'       => 'lagerbestandsliste',
2088 2103
  'wrongformat'                 => 'Falsches Format',
2104
  'yearly'                      => 'jährlich',
2089 2105
  'yes'                         => 'ja',
2090 2106
};
2091 2107

  
templates/webpages/oe/edit_periodic_invoices_config.html
1
[% USE HTML %]
2
[% USE LxERP %]
3
[% USE L %]
4
<body>
5

  
6
 <div class="listtop">[% title %]</div>
7

  
8
 <form name="Form" action="oe.pl" method="post">
9

  
10
  <p>
11
   <table border="0">
12
    <tr>
13
     <th align="right">[%- LxERP.t8('Active') %]</th>
14
     <td>[% L.checkbox_tag("active", checked => active) %]</td>
15
    </tr>
16

  
17
    <tr>
18
     <th align="right" valign="top">[%- LxERP.t8('Periodicity') %]</th>
19
     <td valign="top">
20
      [% L.radio_button_tag("periodicity", value => "m", label => LxERP.t8("monthly"),   checked => periodicity == 'm') %]
21
      <br>
22
      [% L.radio_button_tag("periodicity", value => "q", label => LxERP.t8("quarterly"), checked => periodicity == 'q') %]
23
      <br>
24
      [% L.radio_button_tag("periodicity", value => "y", label => LxERP.t8("yearly"),    checked => periodicity == 'y') %]
25
     </td>
26
    </tr>
27

  
28
    <tr>
29
     <th align="right">[%- LxERP.t8('Start date') %]</th>
30
     <td valign="top">
31
      [% L.date_tag("start_date", start_date) %]
32
     </td>
33
    </tr>
34

  
35
    <tr>
36
     <th align="right">[%- LxERP.t8('Record in') %]</th>
37
     <td valign="top">
38
      [% L.select_tag("ar_chart_id", L.options_for_select(AR, title => 'description', default => ar_chart_id)) %]
39
     </td>
40
    </tr>
41

  
42
    <tr>
43
     <th align="right">[%- LxERP.t8('Print automatically') %]</th>
44
     <td valign="top">
45
      [% L.checkbox_tag("print", onclick => "toggle_printer_id_ctrl()", checked => print) %]
46
     </td>
47
    </tr>
48

  
49
    <tr>
50
     <th align="right">[%- LxERP.t8('Printer') %]</th>
51
     <td valign="top">
52
      [% L.select_tag("printer_id", L.options_for_select(ALL_PRINTERS, title => 'printer_description', default => printer_id), disabled => !print) %]
53
     </td>
54
    </tr>
55

  
56
    <tr>
57
     <th align="right">[%- LxERP.t8('Copies') %]</th>
58
     <td valign="top">[% L.input_tag("copies", copies, size => 6, disabled => !print) %]</td>
59
    </tr>
60
   </table>
61
  </p>
62

  
63
  [% L.hidden_tag('action', 'save_periodic_invoices_config') %]
64

  
65
  <p>
66
   [% L.submit_tag('', LxERP.t8('Close')) %]
67
   [% L.submit_tag('', LxERP.t8('Cancel'), onclick => "self.close(); return false;") %]
68
  </p>
69
 </form>
70

  
71
 <script type="text/javascript">
72
  <!--
73
    function toggle_printer_id_ctrl() {
74
      var disabled = !$('#print').attr('checked');
75
      $('#printer_id').attr('disabled', disabled);
76
      $('#copies').attr('disabled', disabled);
77
    }
78
    -->
79
 </script>
80

  
81
</body>
82
</html>
templates/webpages/oe/form_footer.html
1 1
[%- USE T8 %]
2 2
[%- USE HTML %]
3 3
[%- USE LxERP %]
4
[%- USE L %]
4 5
  <tr>
5 6
    <td>
6 7
      <table width="100%">
......
27 28
                           show_empty = 1 -%]
28 29
                </td>
29 30
            </tr>
31

  
32
[%- IF is_sales_ord %]
33
            <tr>
34
             <th align="right">[%- LxERP.t8('Periodic Invoices') %]</th>
35
             <td>
36
              [% L.button_tag("edit_periodic_invoices_config(); return false;", LxERP.t8('Configure')) %]
37
              ([% HTML.escape(periodic_invoices_status) %])
38
              [% L.hidden_tag("periodic_invoices_config", periodic_invoices_config) %]
39
             </td>
40
            </tr>
41
[%- END %]
42

  
30 43
      [%- IF id && num_follow_ups %]
31 44
      <tr>
32 45
       <td colspan="2">[% LxERP.t8('There are #1 unfinished follow-ups of which #2 are due.', num_follow_ups, num_due_follow_ups) %]</td>
templates/webpages/oe/form_header.html
1 1
[%- USE T8 %]
2 2
[%- USE HTML %]
3 3
[%- USE LxERP %]
4
[%- USE L %]
4 5
<body onLoad="[% onload %]">
5 6

  
6 7
  <form method="post" name="oe" action="[% script %]">
......
11 12
    <script type="text/javascript" src="js/calculate_qty.js"></script>
12 13
    <script type="text/javascript" src="js/customer_or_vendor_selection.js"></script>
13 14
    <script type="text/javascript" src="js/follow_up.js"></script>
15
    [%- IF is_sales_ord %]
16
     [% L.javascript_tag("js/edit_periodic_invoices_config") %]
17
    [%- END %]
14 18

  
15 19
[%- FOREACH row = HIDDENS %]
16 20
   <input type="hidden" name="[% HTML.escape(row.name) %]" value="[% HTML.escape(row.value) %]" >
templates/webpages/oe/save_periodic_invoices_config.html
1
[% USE HTML %]
2
[% USE L %]
3
<body onload="copy_values_and_close()">
4

  
5
 <script type="text/javascript">
6
  <!--
7
      function copy_values_and_close() {
8
        window.opener.document.getElementsByName("periodic_invoices_config")[0].value = $("#periodic_invoices_config").attr('value');
9
        window.close();
10
      }
11
    -->
12
 </script>
13

  
14
 <form name="Form">
15
  [% L.hidden_tag("periodic_invoices_config", periodic_invoices_config) %]
16
 </form>
17

  
18
</body>
19
</html>
templates/webpages/oe/search.html
1 1
[%- USE HTML %]
2 2
[%- USE T8 %]
3 3
[%- USE LxERP %]
4
[%- USE L %]
4 5
[%- SET vclabel = vc == 'customer' ? LxERP.t8('Customer') : LxERP.t8('Vendor') %]
5 6
[%- SET vcnumberlabel = vc == 'customer' ? LxERP.t8('Customer Number') : LxERP.t8('Vendor Number') %]
6 7
<body>
......
150 151
         <label for="delivered">[% 'Delivered' | $T8 %]</label>
151 152
        </td>
152 153
       </tr>
154
[%- END %]
155
[%- IF type == 'sales_order' %]
156
       <tr>
157
        <td>
158
         [% L.checkbox_tag("periodic_invoices_active", label => LxERP.t8("Periodic invoices active")) %]
159
        </td>
160
        <td>
161
         [% L.checkbox_tag("periodic_invoices_inactive", label => LxERP.t8("Periodic invoices inactive")) %]
162
        </td>
163
       </tr>
153 164
[%- END %]
154 165
       <tr>
155 166
        <td>

Auch abrufbar als: Unified diff