Das hier ist der Versuch mit dem aktuellen TypeData und Model::Record Unterbau einen Invoice Controller zu bauen, vor allem zu Dokumentationszwecken.
Dieser Branch ist NICHT zum mergen gedacht.
Erkenntnisse, was alles anders ist oder angefasst werde muss:
Im Controller: - $self->order > $self>invoice - Mit Tamino und Bernd besprochen, sollte eher generisch $self->record sein - ValidityToken::SCOPE_ORDER_SAVE > SCOPE_SALES_INVOICE_POST - Da gab es wohl schon einmal Diskussionen ob die überhaupt scopes haben müssen. Ansonsten, nach TypeData verschieben. - init_type Fehlermeldung: "not a valid type foe order" - type_data Proxy muss mit der richtigen Klasse SL::DB::Invoice erstellt werden. - Items müssen SL::DB::InvoiceItem statt SL::DB::OrderItem sein - $::form>{order} > $::form>{invoice} - auch hier - vereinheitlichen auf $::form->{record}? - $::form->{orderitems} > $::form>{invoiceitems} - dito. - setup_custom_shipto module OE -> AR - javascripte müssen umgebogen werden und evtl frontend checks neu gebaut werden: - kivi.Order.check_cv - kivi.Order.check_duplicate_parts - kivi.Order.check_valid_reqdate - kivi.Order.check_transport_cost_article_presence - kivi.Order.check_cusordnumber_presence - kivi.Order.check_has_final_invoice - unnötig - kivi.Order.check_invoice_advance_payment - unnötig
Features: - close_quotations - gibt es in Invoice nicht - periodic_invoices - gibt es in Invoice nicht - basket_from_from - (sic!) gibt es in Invoice nicht - shipped_qty - Invoice macht im Moment nichts mit Lager im Frontend - transport_cost_reminder - gibt es in Invoice nicht - phone_notes - gibt es in Invoice nicht - subversion / final_version - gibt es in Invoice nicht als Zieltypen im workflow - not_order_locked - Waren nicht nicht mehr eingekauft werden dürfen - ja/nein?
In SL::DB::Invoice und TypeDate - Invoice kennt bereits ein type, was aber nicht das gleiche ist wie das record_type. Das muss in der Datenbank gefixt werden. - duedate/reqdate default belegung fuktioniert so nicht, ist von payment_terms abhängig - gldate belegung funktioniert so nicht - parts_classification
Dazu ware in is.pl sehr viele Flags in Form, die da eigentlich nicht hingehören: - locked - readonly - storno - storno_id - postal_invoice - is_gldate_ready (gldate today) - payment_balanced (oldpaidtotal paidtotal)
- type_data->rights kann im Moment keine object rights wie über Projekte
- und die parts_classification_query sind da noch kaputt
PoC: Invoice Controller
Das hier ist der Versuch mit dem aktuellen TypeData und Model::Record
Unterbau einen Invoice Controller zu bauen, vor allem zu
Dokumentationszwecken.
Dieser Branch ist NICHT zum mergen gedacht.
Erkenntnisse, was alles anders ist oder angefasst werde muss:
Im Controller:
- $self->order
> $self>invoice- Mit Tamino und Bernd besprochen, sollte eher generisch $self->record
sein
- ValidityToken::SCOPE_ORDER_SAVE
> SCOPE_SALES_INVOICE_POST>{order}- Da gab es wohl schon einmal Diskussionen ob die überhaupt scopes
haben müssen. Ansonsten, nach TypeData verschieben.
- init_type Fehlermeldung: "not a valid type foe order"
- type_data Proxy muss mit der richtigen Klasse SL::DB::Invoice erstellt
werden.
- Items müssen SL::DB::InvoiceItem statt SL::DB::OrderItem sein
- $::form
> $::form>{invoice}- auch hier - vereinheitlichen auf $::form->{record}?
- $::form->{orderitems}
> $::form>{invoiceitems}- dito.
- setup_custom_shipto module OE -> AR
- javascripte müssen umgebogen werden und evtl frontend checks neu
gebaut werden:
- kivi.Order.check_cv
- kivi.Order.check_duplicate_parts
- kivi.Order.check_valid_reqdate
- kivi.Order.check_transport_cost_article_presence
- kivi.Order.check_cusordnumber_presence
- kivi.Order.check_has_final_invoice - unnötig
- kivi.Order.check_invoice_advance_payment - unnötig
Features:
- close_quotations - gibt es in Invoice nicht
- periodic_invoices - gibt es in Invoice nicht
- basket_from_from - (sic!) gibt es in Invoice nicht
- shipped_qty - Invoice macht im Moment nichts mit Lager im Frontend
- transport_cost_reminder - gibt es in Invoice nicht
- phone_notes - gibt es in Invoice nicht
- subversion / final_version - gibt es in Invoice nicht als Zieltypen
im workflow
- not_order_locked - Waren nicht nicht mehr eingekauft werden dürfen
- ja/nein?
In SL::DB::Invoice und TypeDate
- Invoice kennt bereits ein type, was aber nicht das gleiche ist wie
das record_type. Das muss in der Datenbank gefixt werden.
- duedate/reqdate default belegung fuktioniert so nicht, ist von
payment_terms abhängig
- gldate belegung funktioniert so nicht
- parts_classification
Dazu ware in is.pl sehr viele Flags in Form, die da eigentlich nicht
hingehören:
- locked
- readonly
- storno
- storno_id
- postal_invoice
- is_gldate_ready (gldate today)
- payment_balanced (oldpaidtotal paidtotal)