my $query = qq|SELECT o.id, o.ordnumber, o.transdate, o.reqdate,
o.amount, ct.name, o.netamount, o.$form->{vc}_id,
ex.$rate AS exchangerate,
- o.closed, o.quonumber, o.shippingpoint, o.shipvia,
+ o.closed, o.delivered, o.quonumber, o.shippingpoint, o.shipvia,
e.name AS employee
FROM oe o
JOIN $form->{vc} ct ON (o.$form->{vc}_id = ct.id)
$query .= ($form->{open}) ? " AND o.closed = '0'" : " AND o.closed = '1'";
}
+ if (($form->{"notdelivered"} || $form->{"delivered"}) &&
+ ($form->{"notdelivered"} ne $form->{"delivered"})) {
+ $query .= $form->{"delivered"} ?
+ " AND o.delivered " : " AND NOT o.delivered";
+ }
+
my $sortorder = join ', ',
("o.id", $form->sort_columns(transdate, $ordnumber, name));
$sortorder = $form->{sort} if $form->{sort};
intnotes = '$form->{intnotes}',
curr = '$form->{currency}',
closed = '$form->{closed}',
+ delivered = '| . ($form->{delivered} ? "t" : "f") . qq|',
proforma = '$form->{proforma}',
quotation = '$quotation',
department_id = $form->{department_id},
o.curr AS currency, e.name AS employee, o.employee_id,
o.$form->{vc}_id, cv.name AS $form->{vc}, o.amount AS invtotal,
o.closed, o.reqdate, o.quonumber, o.department_id, o.cusordnumber,
- d.description AS department, o.payment_id, o.language_id, o.taxzone_id, o.delivery_customer_id, o.delivery_vendor_id, o.proforma, o.shipto_id
+ d.description AS department, o.payment_id, o.language_id, o.taxzone_id,
+ o.delivery_customer_id, o.delivery_vendor_id, o.proforma, o.shipto_id,
+ o.delivered
FROM oe o
JOIN $form->{vc} cv ON (o.$form->{vc}_id = cv.id)
LEFT JOIN employee e ON (o.employee_id = e.id)
sub form_header {
$lxdebug->enter_sub();
- $checkedopen = ($form->{closed}) ? "" : "checked";
- $checkedclosed = ($form->{closed}) ? "checked" : "";
+ my $checkedclosed = $form->{"closed"} ? "checked" : "";
+ my $checkeddelivered = $form->{"delivered"} ? "checked" : "";
map { $form->{$_} =~ s/\"/"/g }
qw(ordnumber quonumber shippingpoint shipvia notes intnotes shiptoname
$openclosed = qq|
<tr>
<td colspan=2 align=center>
- <table>
- <tr>
- <th nowrap><input name=closed type=radio class=radio value=0 $checkedopen> |
- . $locale->text('Open') . qq|</th>
- <th nowrap><input name=closed type=radio class=radio value=1 $checkedclosed> |
- . $locale->text('Closed') . qq|</th>
- </tr>
- </table>
- </td>
+ <input name="closed" id="closed" type="checkbox" class="checkbox" value="1" $checkedclosed>
+ <label for="closed">| . $locale->text('Closed') . qq|</label>
+|;
+
+ if (($form->{"type"} eq "sales_order") ||
+ ($form->{"type"} eq "purchase_order")) {
+ $openclosed .= qq|
+ <input name="delivered" id="delivered" type="checkbox" class="checkbox" value="1" $checkeddelivered>
+ <label for="delivered">| . $locale->text('Delivered') . qq|</label>
+|;
+ }
+
+ $openclosed .= qq|
+ </td>
</tr>
|;
}
|;
}
+ my $delivered;
+ if (($form->{"type"} eq "sales_order") ||
+ ($form->{"type"} eq "purchase_order")) {
+ $delivered = qq|
+ <tr>
+ <td><input name="notdelivered" id="notdelivered" class="checkbox" type="checkbox" value="1" checked>
+ <label for="notdelivered">|. $locale->text('Not delivered') . qq|</label></td>
+ <td><input name="delivered" id="delivered" class="checkbox" type="checkbox" value="1" checked>
+ <label for="delivered">| . $locale->text('Delivered') . qq|</label></td>
+ </tr>
+|;
+ }
+
# use JavaScript Calendar or not
$form->{jsscript} = $jscalendar;
$jsscript = "";
<td colspan=5>
<table>
$openclosed
+ $delivered
<tr>
<td><input name="l_id" class=checkbox type=checkbox value=Y>
| . $locale->text('ID') . qq|</td>
# construct href
$href =
- "$form->{script}?path=$form->{path}&action=orders&type=$form->{type}&vc=$form->{vc}&login=$form->{login}&password=$form->{password}&transdatefrom=$form->{transdatefrom}&transdateto=$form->{transdateto}&open=$form->{open}&closed=$form->{closed}&$ordnumber=$number&$form->{vc}=$name&department=$department&warehouse=$warehouse";
+ "$form->{script}?path=$form->{path}&action=orders&type=$form->{type}&vc=$form->{vc}&login=$form->{login}&password=$form->{password}&transdatefrom=$form->{transdatefrom}&transdateto=$form->{transdateto}&open=$form->{open}&closed=$form->{closed}¬delivered=$form->{notdelivered}&delivered=$form->{delivered}&$ordnumber=$number&$form->{vc}=$name&department=$department&warehouse=$warehouse";
# construct callback
$number = $form->escape($form->{$ordnumber}, 1);
$warehouse = $form->escape($form->{warehouse}, 1);
$callback =
- "$form->{script}?path=$form->{path}&action=orders&type=$form->{type}&vc=$form->{vc}&login=$form->{login}&password=$form->{password}&transdatefrom=$form->{transdatefrom}&transdateto=$form->{transdateto}&open=$form->{open}&closed=$form->{closed}&$ordnumber=$number&$form->{vc}=$name&department=$department&warehouse=$warehouse";
+ "$form->{script}?path=$form->{path}&action=orders&type=$form->{type}&vc=$form->{vc}&login=$form->{login}&password=$form->{password}&transdatefrom=$form->{transdatefrom}&transdateto=$form->{transdateto}&open=$form->{open}&closed=$form->{closed}¬delivered=$form->{notdelivered}&delivered=$form->{delivered}&$ordnumber=$number&$form->{vc}=$name&department=$department&warehouse=$warehouse";
@columns =
$form->sort_columns("transdate", "reqdate", "id", "$ordnumber",
"name", "netamount", "tax", "amount",
"curr", "employee", "shipvia", "open",
- "closed");
+ "closed", "delivered");
$form->{l_open} = $form->{l_closed} = "Y"
if ($form->{open} && $form->{closed});
+ $form->{"l_delivered"} = "Y"
+ if ($form->{"delivered"} && $form->{"notdelivered"});
+
foreach $item (@columns) {
if ($form->{"l_$item"} eq "Y") {
push @column_index, $item;
qq|<th class=listheading>| . $locale->text('O') . qq|</th>|;
$column_header{closed} =
qq|<th class=listheading>| . $locale->text('C') . qq|</th>|;
+ $column_header{"delivered"} =
+ qq|<th class="listheading">| . $locale->text("Delivered") . qq|</th>|;
$column_header{employee} =
qq|<th><a class=listheading href=$href&sort=employee>$employee</a></th>|;
$column_data{closed} = "<td> </td>";
$column_data{open} = "<td align=center>X</td>";
}
+ $column_data{"delivered"} = "<td>" .
+ ($oe->{"delivered"} ? $locale->text("Yes") : $locale->text("No")) .
+ "</td>";
$i++;
$i %= 2;
'Delete' => 'Löschen',
'Delete Account' => 'Konto löschen',
'Delete Dataset' => 'Datenbank löschen',
+ 'Delivered' => 'Geliefert',
'Delivery Date' => 'Lieferdatum',
'Department' => 'Abteilung',
'Department deleted!' => 'Abteilung gelöscht.',
'Non-taxable Purchases' => 'Nicht zu versteuernde Einkäufe',
'Non-taxable Sales' => 'Nicht zu versteuernde Verkäufe',
'Not Discountable' => 'Nicht rabattierfähig',
+ 'Not delivered' => 'Nicht geliefert',
'Notes' => 'Bemerkungen',
'Nothing entered!' => 'Es wurde nichts eingegeben.',
'Nothing selected!' => 'Es wurde nichts ausgewählt!',
'Dec' => 'Dez',
'December' => 'Dezember',
'Delete' => 'Löschen',
+ 'Delivered' => 'Geliefert',
'Delivery Date' => 'Lieferdatum',
'Department' => 'Abteilung',
'Description' => 'Beschreibung',
'May ' => 'Mai',
'Message' => 'Nachricht',
'Name' => 'Name',
+ 'No' => 'Nein',
'No Customer was found matching the search parameters.' => 'Zu dem Suchbegriff wurde kein Endkunde gefunden',
'No Vendor was found matching the search parameters.' => 'Zu dem Suchbegriff wurde kein Händler gefunden',
'No employee was found matching the search parameters.' => 'Es wurde kein Angestellter gefunden, auf den die Suchparameter zutreffen.',
'No part was found matching the search parameters.' => 'Es wurde kein Artikel gefunden, auf den die Suchparameter zutreffen.',
'No project was found matching the search parameters.' => 'Es wurde kein Projekt gefunden, auf das die Suchparameter zutreffen.',
'No.' => 'Position',
+ 'Not delivered' => 'Nicht geliefert',
'Notes' => 'Bemerkungen',
'Nothing entered!' => 'Es wurde nichts eingegeben.',
'Nothing to transfer!' => 'Es gibt nichts zum Umlagern!',
--- /dev/null
+-- @tag: oe_delivered
+-- @description: Neues Feld für Status "geliefert" bei Auftragsbestätigungen und Lieferantenaufträgen
+-- @depends: release_2_4_1
+ALTER TABLE oe ADD COLUMN delivered boolean;
+ALTER TABLE oe ALTER COLUMN delivered SET DEFAULT 'f';
+UPDATE oe SET delivered = 'f';