Merge pull request #22 from robert-scheck/wollen-moechten
authorMoritz Bunkus <moritz@bunkus.org>
Mon, 9 Apr 2018 08:13:13 +0000 (10:13 +0200)
committerGitHub <noreply@github.com>
Mon, 9 Apr 2018 08:13:13 +0000 (10:13 +0200)
s/Wollen/Möchten/g - less strong and likely a bit more polite

25 files changed:
.htaccess
SL/.htaccess
SL/Controller/Order.pm
SL/DB/Order.pm
bin/mozilla/.htaccess
config/.htaccess
css/bwa.css
css/kivitendo/frame_header/header.css
css/kivitendo/jquery-ui.custom.css
css/kivitendo/main.css
css/kivitendo/menu.css
css/lx-office-erp/frame_header/header.css
css/lx-office-erp/jquery-ui.custom.css
css/lx-office-erp/main.css
css/lx-office-erp/menu.css
css/tooltipster.css
css/ui-lightness/jquery-ui-1.10.3.custom.css
doc/dokumentation.xml
locale/.htaccess
locale/de/all
locale/de/special_chars
scripts/.htaccess
sql/Pg-upgrade2/accounts_tax_office_leonberg.sql [new file with mode: 0644]
t/.htaccess
templates/.htaccess

index 6686227..977b220 100644 (file)
--- a/.htaccess
+++ b/.htaccess
@@ -1,11 +1,19 @@
 ### Choose a character set (just in case you like to change it here)
-### uncommit the line you wish to activate
+### uncomment the line you wish to activate
 #AddDefaultCharset ISO-8859-15
 #AddDefaultCharset UTF-8
 
 ### simple access control by client ip
-### uncomment the lines starting with Order ..., Deny ... and Allow ...
-### examples: "Allow from 192.168" or "Allow from 192.168.1" or "Allow from 192.168.178" or "Allow from 217.84.201.2"
-#Order deny,allow
-#Deny from all
-#Allow from 192.168
+### uncomment the lines starting with <IfModule ...> until last </IfModule>
+### examples for Apache >= 2.4: "Require ip 192.168" or "Require ip 192.168.1" or "Require ip 192.168.178" or "Require ip 217.84.201.2"
+### examples for Apache <= 2.2: "Allow from 192.168" or "Allow from 192.168.1" or "Allow from 192.168.178" or "Allow from 217.84.201.2"
+#<IfModule mod_authz_core.c>
+#  # Apache 2.4
+#  Require ip 192.168
+#</IfModule>
+#<IfModule !mod_authz_core.c>
+#  # Apache 2.2
+#  Order deny,allow
+#  Deny from all
+#  Allow from 192.168
+#</IfModule>
index 0a9a047..cde5b44 100644 (file)
@@ -1,2 +1,9 @@
-Order Allow,Deny
-Deny from all
+<IfModule mod_authz_core.c>
+  # Apache 2.4
+  Require all denied
+</IfModule>
+<IfModule !mod_authz_core.c>
+  # Apache 2.2
+  Order deny,allow
+  Deny from all
+</IfModule>
index b3477b2..36896ee 100644 (file)
@@ -137,32 +137,44 @@ sub action_save {
 sub action_save_as_new {
   my ($self) = @_;
 
-  if (!$self->order->id) {
+  my $order = $self->order;
+
+  if (!$order->id) {
     $self->js->flash('error', t8('This object has not been saved yet.'));
     return $self->js->render();
   }
 
-  delete $::form->{$_} for qw(closed delivered converted_from_oe_id converted_from_orderitems_ids);
-
-  my $src_order = SL::DB::Order->new(id => $self->order->id)->load;
+  # load order from db to check if values changed
+  my $saved_order = SL::DB::Order->new(id => $order->id)->load;
 
+  my %new_attrs;
   # Lets assign a new number if the user hasn't changed the previous one.
   # If it has been changed manually then use it as-is.
-  if (trim($self->order->number) eq $src_order->number) {
-    $self->order->number('');
-  }
+  $new_attrs{number}    = (trim($order->number) eq $saved_order->number)
+                        ? ''
+                        : trim($order->number);
 
-  # Clear reqdate and transdate unless changed
-  if ($self->order->transdate == $src_order->transdate) {
-    $self->order->transdate(DateTime->today_local)
-  }
-  if ($self->order->reqdate == $src_order->reqdate) {
+  # Clear transdate unless changed
+  $new_attrs{transdate} = ($order->transdate == $saved_order->transdate)
+                        ? DateTime->today_local
+                        : $order->transdate;
+
+  # Set new reqdate unless changed
+  if ($order->reqdate == $saved_order->reqdate) {
     my $extra_days = $self->type eq _sales_quotation_type() ? $::instance_conf->get_reqdate_interval : 1;
-    $self->order->reqdate(DateTime->today_local->next_workday(extra_days => $extra_days));
+    $new_attrs{reqdate} = DateTime->today_local->next_workday(extra_days => $extra_days);
+  } else {
+    $new_attrs{reqdate} = $order->reqdate;
   }
 
   # Update employee
-  $self->order->employee(SL::DB::Manager::Employee->current);
+  $new_attrs{employee}  = SL::DB::Manager::Employee->current;
+
+  # Create new record from current one
+  $self->order(SL::DB::Order->new_from($order, destination_type => $order->type, attributes => \%new_attrs));
+
+  # no linked records on save as new
+  delete $::form->{$_} for qw(converted_from_oe_id converted_from_orderitems_ids);
 
   # save
   $self->action_save();
index 31f6ad4..6baa0e2 100644 (file)
@@ -205,8 +205,12 @@ sub new_from {
   croak("A destination type must be given parameter")            unless $params{destination_type};
 
   my $destination_type  = delete $params{destination_type};
-  my $src_dst_allowed   = ('sales_quotation'   eq $source->type && 'sales_order'    eq $destination_type)
-                       || ('request_quotation' eq $source->type && 'purchase_order' eq $destination_type);
+  my $src_dst_allowed   = ('sales_quotation'   eq $source->type && 'sales_order'       eq $destination_type)
+                       || ('request_quotation' eq $source->type && 'purchase_order'    eq $destination_type)
+                       || ('sales_quotation'   eq $source->type && 'sales_quotation'   eq $destination_type)
+                       || ('sales_order'       eq $source->type && 'sales_order'       eq $destination_type)
+                       || ('request_quotation' eq $source->type && 'request_quotation' eq $destination_type)
+                       || ('purchase_order'    eq $source->type && 'purchase_order'    eq $destination_type);
   croak("Cannot convert from '" . $source->type . "' to '" . $destination_type . "'") unless $src_dst_allowed;
 
   my ($item_parent_id_column, $item_parent_column);
@@ -221,7 +225,7 @@ sub new_from {
                                                 ordnumber payment_id quonumber reqdate salesman_id shippingpoint shipvia taxincluded taxzone_id
                                                 transaction_description vendor_id
                                              )),
-               quotation => 0,
+               quotation => !!($destination_type =~ m{quotation$}),
                closed    => 0,
                delivered => 0,
                transdate => DateTime->today_local,
@@ -229,7 +233,7 @@ sub new_from {
 
   # Custom shipto addresses (the ones specific to the sales/purchase
   # record and not to the customer/vendor) are only linked from
-  # shipto → delivery_orders. Meaning delivery_orders.shipto_id
+  # shipto → order. Meaning order.shipto_id
   # will not be filled in that case.
   if (!$source->shipto_id && $source->id) {
     $args{custom_shipto} = $source->custom_shipto->clone($class) if $source->can('custom_shipto') && $source->custom_shipto;
@@ -372,7 +376,8 @@ At the moment only sales quotations and sales orders can be converted.
 =head2 C<new_from $source, %params>
 
 Creates a new C<SL::DB::Order> instance and copies as much
-information from C<$source> as possible. At the moment only sales orders from
+information from C<$source> as possible. At the moment only records with the
+same destination type as the source type and sales orders from
 sales quotations and purchase orders from requests for quotations can be
 created.
 
@@ -391,8 +396,8 @@ C<%params> can include the following options
 =item C<destination_type>
 
 (mandatory)
-The type of the newly created object. Can be C<sales_order> or
-C<purchase_order> for now.
+The type of the newly created object. Can be C<sales_quotation>,
+C<sales_order>, C<purchase_quotation> or C<purchase_order> for now.
 
 =item C<items>
 
index 0a9a047..cde5b44 100644 (file)
@@ -1,2 +1,9 @@
-Order Allow,Deny
-Deny from all
+<IfModule mod_authz_core.c>
+  # Apache 2.4
+  Require all denied
+</IfModule>
+<IfModule !mod_authz_core.c>
+  # Apache 2.2
+  Order deny,allow
+  Deny from all
+</IfModule>
index 0a9a047..cde5b44 100644 (file)
@@ -1,2 +1,9 @@
-Order Allow,Deny
-Deny from all
+<IfModule mod_authz_core.c>
+  # Apache 2.4
+  Require all denied
+</IfModule>
+<IfModule !mod_authz_core.c>
+  # Apache 2.2
+  Order deny,allow
+  Deny from all
+</IfModule>
index 4357a97..e9b4d6b 100644 (file)
@@ -1,6 +1,5 @@
 /* Allgemeine Schriftdefinition */
 th,td {
-       font-family: Arial, Verdana, Helvetica, Sans-serif;
        font-size:small;
 }
 
index 884392e..b2176a7 100644 (file)
@@ -40,7 +40,6 @@
 #frame-header .frame-header-right  {
   border-spacing: 0;
   padding: 0;
-  font-family: verdana,arial,sans-serif;
   vertical-align: middle;
 }
 
index 741efbf..ba0c31d 100644 (file)
@@ -13,7 +13,7 @@
   border-radius: 4px;
   border: 0;
   color: #333333;
-  font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif;
+  font-family: sans-serif;
   font-size: 1.1em;
   overflow: hidden;
 }
index 94a1fa6..8611462 100644 (file)
@@ -14,7 +14,7 @@ Tabcolor:      #CAFFA3
 body {
   background-color: #FFFFFF;
   color: #000000;
-  font-family: Verdana, Arial, Helvetica, sans-serif;
+  font-family: sans-serif;
   font-size: 80%;
 }
 
@@ -330,11 +330,9 @@ body.menu {
   padding-left: 30px
 }
 .submit {
-  font-family: Verdana, Arial, Helvetica;
   color: #000000;
 }
 .checkbox, .radio {
-  font-family: Verdana, Arial, Helvetica;
   color: #778899;
 }
 .plus0 {
index 6674164..ffeea2b 100644 (file)
@@ -27,7 +27,6 @@ body.menuv3 {
        behavior: url("css/csshover.htc");
        /*font-size: 14pt;*/
        line-height: 20pt;
-       font-family: Verdana, Geneva, Tahoma, sans-serif;
        background-color: #FFFFFF;
        color: #000000;
 }
index 5bddf6e..915615e 100644 (file)
@@ -41,7 +41,6 @@
   border-spacing: 0;
   color: black;
   padding: 0;
-  font-family: verdana,arial,sans-serif;
   vertical-align: middle;
 }
 
index 4e4f218..0d22e50 100644 (file)
@@ -15,7 +15,7 @@
   border-radius: 0;
   border: 0;
   color: #000000;
-  font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif;
+  font-family: sans-serif;
   overflow: hidden;
 }
 
index 20760f1..8cf9a67 100644 (file)
@@ -71,7 +71,7 @@ html {
 }
 
 body {
-  font-family: Verdana, Arial, Helvetica, sans-serif;
+  font-family: sans-serif;
   font-size: 80%;
   background-color: white;
   color: black;
@@ -79,7 +79,6 @@ body {
 }
 
 td {
-  font-family: Verdana, Arial, Helvetica, sans-serif;
   color: black;
   font-weight: normal;
 }
@@ -89,15 +88,11 @@ td.hover:hover {
 
 
 th {
-  font-family: Verdana, Arial, Helvetica, sans-serif;
   color: black;
   font-weight: normal;
 }
 
 /* login and admin */
-.login {
-  font-family: Verdana, Arial, Helvetica, sans-serif;
-}
 div.login {
   min-height: 100%;
   height: auto !important;
@@ -264,11 +259,9 @@ div.admin {
 
 
 .submit {
-  font-family: Verdana, Arial, Helvetica, sans-serif;
   color: #000000;
 }
 .checkbox, .radio {
-  font-family: Verdana, Arial, Helvetica, sans-serif;
   color: #778899;
 }
 
index 5eec39f..156c57f 100644 (file)
@@ -1,6 +1,5 @@
 
 body.menu {
-  font-family: Verdana, Arial, Helvetica, sans-serif;
   font-size: 80%;
   color: black;
 }
@@ -15,7 +14,6 @@ table.menunew {
 table.menunew td {
   padding: 0;
   color:black;
-  font-family: Verdana, Arial, sans-serif;
 }
 
 body.menunew {
index 66fd282..2a9b0ee 100644 (file)
@@ -8,7 +8,7 @@
 
 /* Use this next selector to style things like font-size and line-height: */
 .tooltipster-default .tooltipster-content {
-       font-family: Arial, sans-serif;
+       font-family: sans-serif;
        font-size: 14px;
        line-height: 16px;
        padding: 8px 10px;
index 0d1c89d..3f3372e 100644 (file)
@@ -786,7 +786,7 @@ body .ui-tooltip {
 /* Component containers
 ----------------------------------*/
 .ui-widget {
-       font-family: Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;
+       font-family: sans-serif;
        font-size: 1.1em;
 }
 .ui-widget .ui-widget {
@@ -796,7 +796,7 @@ body .ui-tooltip {
 .ui-widget select,
 .ui-widget textarea,
 .ui-widget button {
-       font-family: Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;
+       font-family: sans-serif;
        font-size: 1em;
 }
 .ui-widget-content {
index a2abb6c..9db1c53 100644 (file)
         </itemizedlist>
 
         <para>Seit Version größer v3.5.0 sind die folgenden Pakete
-        hinzugekommen: <literal>Text::Unidecode, LWP::Authen::Digest,
-        LWP::UserAgent</literal></para>
+        hinzugekommen: <literal>Text::Unidecode</literal>,
+        <literal>LWP::Authen::Digest</literal>,
+        <literal>LWP::UserAgent</literal></para>
 
         <para>Seit Version v3.4.0 sind die folgenden Pakete hinzugekommen:
-        <literal>Algorithm::CheckDigits</literal><literal>PBKDF2::Tiny</literal></para>
+        <literal>Algorithm::CheckDigits</literal>,
+        <literal>PBKDF2::Tiny</literal></para>
 
         <para>Seit Version v3.2.0 sind die folgenden Pakete hinzugekommen:
         <literal>GD</literal>, <literal>HTML::Restrict</literal>,
@@ -450,7 +452,9 @@ cpan HTML::Restrict</programlisting>
         <para>Debian und Ubuntu: <programlisting>apt install aqbanking-tools
         </programlisting></para>
 
-        <para>OpenSuSE: <programlisting>zypper install aqbanking-tools</programlisting></para>
+        <para>Fedora: <programlisting>dnf install aqbanking</programlisting></para>
+
+        <para>openSUSE: <programlisting>zypper install aqbanking-tools</programlisting></para>
 
         <para>Seit Version v3.4.1 wird generell zum Feststellen der
         Seitenanzahl von PDF_Dokumenten 'pdfinfo' benötigt was im Paket
@@ -459,7 +463,9 @@ cpan HTML::Restrict</programlisting>
         <para>Debian und Ubuntu: <programlisting>apt install poppler-utils
         </programlisting></para>
 
-        <para>OpenSuSE: <programlisting>zypper install poppler-tools</programlisting></para>
+        <para>Fedora: <programlisting>dnf install poppler-utils</programlisting></para>
+
+        <para>openSUSE: <programlisting>zypper install poppler-tools</programlisting></para>
       </sect2>
     </sect1>
 
@@ -501,7 +507,7 @@ tar xvzf kivitendo-erp-3.4.1.tgz</programlisting>
       restlichen Dateien müssen für diesen Benutzer lesbar sein. Die Benutzer-
       und Gruppennamen sind bei verschiedenen Distributionen unterschiedlich
       (z.B. bei Debian/Ubuntu <constant>www-data</constant>, bei Fedora
-      <constant>apache</constant> oder bei OpenSUSE
+      <constant>apache</constant> oder bei openSUSE
       <constant>wwwrun</constant>).</para>
 
       <para>Der folgende Befehl ändert den Besitzer für die oben genannten
@@ -1241,7 +1247,7 @@ Alias       /url/for/kivitendo-erp-fcgid/          /path/to/kivitendo-erp/</prog
 
         <sect3>
           <title>SystemV-basierende Systeme (z.B. ältere Debian, ältere
-          OpenSUSE, ältere Fedora)</title>
+          openSUSE, ältere Fedora)</title>
 
           <para>Kopieren Sie die Datei
           <filename>scripts/boot/system-v/kivitendo-task-server</filename>
@@ -1259,7 +1265,7 @@ insserv kivitendo-task-server</programlisting>
             </listitem>
 
             <listitem>
-              <para>Ältere OpenSUSE und ältere Fedora:</para>
+              <para>Ältere openSUSE und ältere Fedora:</para>
 
               <programlisting>chkconfig --add kivitendo-task-server</programlisting>
             </listitem>
index 0a9a047..cde5b44 100644 (file)
@@ -1,2 +1,9 @@
-Order Allow,Deny
-Deny from all
+<IfModule mod_authz_core.c>
+  # Apache 2.4
+  Require all denied
+</IfModule>
+<IfModule !mod_authz_core.c>
+  # Apache 2.2
+  Order deny,allow
+  Deny from all
+</IfModule>
index 181e131..16278ed 100755 (executable)
@@ -3019,7 +3019,7 @@ $self->{texts} = {
   'Tax Account'                 => 'Steuerkonto',
   'Tax Account Name'            => 'Steuerkontoname',
   'Tax Consultant'              => 'Steuerberater/-in',
-  'Tax ID number'               => 'UStID-Nummer',
+  'Tax ID number'               => 'USt-IdNr.',
   'Tax Included'                => 'Steuer im Preis inbegriffen',
   'Tax Number'                  => 'Steuernummer',
   'Tax Number / SSN'            => 'Steuernummer',
@@ -3719,7 +3719,7 @@ $self->{texts} = {
   'Users with access to this client' => 'Benutzer mit Zugriff auf diesen Mandanten',
   'Users, Clients and User Groups' => 'Benutzer, Mandanten und Benutzergruppen',
   'Usually the sales quotation is valid until the next working day. If a value is set here then the quotation will be valid for at least that many days. The resulting date will be adjusted to the next working day if it ends up on a weekend.' => 'Standardmäßig ist ein Verkaufsangebot bis zum nächsten Werktag gültig. Ist hier ein Wert angegeben, so ist ein Angebot mindestens so viele Tage gültig. Sollte das dabei herauskommende Datum auf ein Wochenende fallen, so wird statt dessen der nachfolgende Arbeitstag genommen.',
-  'VAT ID'                      => 'UStdID-Nr',
+  'VAT ID'                      => 'USt-IdNr.',
   'VN'                          => 'Kred.-Nr.',
   'Valid'                       => 'Gültig',
   'Valid from'                  => 'Gültig ab',
index 5688d82..7e258a6 100644 (file)
@@ -1,5 +1,5 @@
 [HTML]
-order=& \xc3\xa4 \xc3\xb6 \xc3\xbc \xc3\x84 \xc3\x96 \xc3\x9c \xc3\x9f " < > \xc2\xa7 \xc2\xb2 \xc2\xb3 \xe2\x82\xac
+order=& \xc3\xa4 \xc3\xb6 \xc3\xbc \xc3\x84 \xc3\x96 \xc3\x9c \xc3\x9f \xe1\xba\x9e " < > \xc2\xa7 \xc2\xb2 \xc2\xb3 \xe2\x82\xac
 \xc3\xa4=&auml;
 \xc3\xb6=&ouml;
 \xc3\xbc=&uuml;
@@ -7,6 +7,7 @@ order=& \xc3\xa4 \xc3\xb6 \xc3\xbc \xc3\x84 \xc3\x96 \xc3\x9c \xc3\x9f " < > \xc
 \xc3\x96=&Ouml;
 \xc3\x9c=&Uuml;
 \xc3\x9f=&szlig;
+\xe1\xba\x9e=&#7838;
 \xc2\xa7=&sect;
 \xc2\xb2=&sup2;
 \xc2\xb3=&sup3;
@@ -89,7 +90,7 @@ order=& < > " ' \x80 \n \r
 \r=
 
 [filenames]
-order=ä ö ü Ä Ö Ü ß
+order=ä ö ü Ä Ö Ü ß ẞ
 ä=ae
 ö=oe
 ü=ue
@@ -97,3 +98,4 @@ order=ä ö ü Ä Ö Ü ß
 Ö=Oe
 Ü=Ue
 ß=ss
+ẞ=Ss
index 0a9a047..cde5b44 100644 (file)
@@ -1,2 +1,9 @@
-Order Allow,Deny
-Deny from all
+<IfModule mod_authz_core.c>
+  # Apache 2.4
+  Require all denied
+</IfModule>
+<IfModule !mod_authz_core.c>
+  # Apache 2.2
+  Order deny,allow
+  Deny from all
+</IfModule>
diff --git a/sql/Pg-upgrade2/accounts_tax_office_leonberg.sql b/sql/Pg-upgrade2/accounts_tax_office_leonberg.sql
new file mode 100644 (file)
index 0000000..11e67be
--- /dev/null
@@ -0,0 +1,12 @@
+-- @tag: accounts_tax_office_leonberg
+-- @description: Geänderte Kontoverbindung, Öffnungszeiten und Kontaktdaten für Finanzamt Leonberg
+-- @depends: release_3_5_2
+UPDATE finanzamt
+SET fa_bankbezeichnung_1 = 'DT BBK Filiale Stuttgart', fa_blz_1 = '60000000', fa_kontonummer_1 = '60301501',
+    fa_bankbezeichnung_2 = '',                         fa_blz_2 = '', fa_kontonummer_2 = '',
+    fa_oeffnungszeiten = 'MO-MI 7.30-12.00,DO 7.30-17.30,FR 7.30-12.30',
+    fa_email = 'poststelle-70@finanzamt.bwl.de',
+    fa_internet = 'http://www.fa-leonberg.de/'
+WHERE (fa_land_nr = '8')
+  AND (fa_bufa_nr = '2870')
+  AND (fa_name LIKE 'Leonberg%');
index 0a9a047..cde5b44 100644 (file)
@@ -1,2 +1,9 @@
-Order Allow,Deny
-Deny from all
+<IfModule mod_authz_core.c>
+  # Apache 2.4
+  Require all denied
+</IfModule>
+<IfModule !mod_authz_core.c>
+  # Apache 2.2
+  Order deny,allow
+  Deny from all
+</IfModule>
index 0a9a047..cde5b44 100644 (file)
@@ -1,2 +1,9 @@
-Order Allow,Deny
-Deny from all
+<IfModule mod_authz_core.c>
+  # Apache 2.4
+  Require all denied
+</IfModule>
+<IfModule !mod_authz_core.c>
+  # Apache 2.2
+  Order deny,allow
+  Deny from all
+</IfModule>