Skip to content

202501 Lieferschein: Button Speichern und weiter #423

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Mar 24, 2025

Conversation

kiviniklas
Copy link
Contributor

Hinweis: Hierfür habe ich keinen Helfer in der Form _parse_boolean() o.Ä. spendiert:

my $next_button = $::form->{next_button} eq 'true';

Das könnte man tun, aber ob das wiederverwendbar ist, sehe ich gerade nicht.

@kiviniklas kiviniklas requested a review from jbueren January 23, 2025 10:02
Copy link
Member

@sschoeling sschoeling left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Moin Niklas. Da wir eh gleich Konferenz haben, hier erstmal nur die Kommentare als Review. Können wir gleich draufschauen.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Das sollte aber auch im nicht-design4.0 funktionieren, oder?

ns.open_stock_in_out_dialog = function(clicked, in_out) {
var $row = $(clicked).parents("tbody").first();
var id = $row.find('[name="orderitem_ids[+]"]').val();
$row.uniqueId();

var pos = $(clicked).parents("tr").first().children().find('[name="position"]').first().text();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wenn Du ein wenig stabiler durch das DOM navigieren möchtest: benutz die Klassen die dafür vergeben sind. Zum Beispiel hat das für die Items immer die Klasse "row_entry", damit kann man die im parent direkt anspringen.

var row = ns.stock_in_out_dialog_row_by_id(id);
var in_out = $("#stock_in_out_dialog").find("[name$=in_out]").val();

if (row["length"] != 0)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

row["length"] sieht hier... seltsam aus. Würde man eher als row.length schreiben. Die obj[string] Syntax benutzt man eher, wenn der string dynamisch oder in einer Variable ist. Bei Literalen kann man direkt auf die Property zugreifen.

Tip: es ist recht verwirrend wenn man zwischen jQuery und DOM Elementen hin- und herspringt. Wir benutzen oft die Konvention dass variablen die einen jQuery Selektor halten mit "$" Präfix geschrieben werden, wie in der open_stock_in_out_dialog. Macht es einfacher zu lesen.

@sschoeling
Copy link
Member

Nochmal das "eq 'true'" prüfen ob das notwendig ist oder besser geht.

@kiviniklas
Copy link
Contributor Author

Template ist hinzugefügt.

JavaScript Konventionen sind jetzt berücksichtigt. Gefällt mir besser so. ;)

  • Test für design 4.0 einkaufs- und verkaufsseitig OK meinerseits.
  • Test für nicht-design 4.0 OK meinerseits.

"eq 'true'" hatte ich eingebaut, weil der Button sonst nicht ausgeblendet wird, wenn der String 'true' oder 'false' übergeben wird. Wir können auch 0 oder 1 übergeben und den vorhandenen Helfer _parse_number() nutzen... Das ist beliebig aus meiner Sicht.

@sschoeling sschoeling merged commit 8064f08 into master Mar 24, 2025
2 checks passed
@sschoeling sschoeling deleted the 202501-lieferschein-speichern-und-weiter branch March 24, 2025 16:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants