Revision 9196f75b
Von Sven Schöling vor etwa 1 Jahr hinzugefügt
SL/Model/Record.pm | ||
---|---|---|
1 |
package SL::Model::Record; |
|
2 |
|
|
3 |
use strict; |
|
4 |
|
|
5 |
|
|
6 |
|
|
7 |
|
|
8 |
sub new { |
|
9 |
my ($class, $target_type, %flags) = @_; |
|
10 |
|
|
11 |
# target_type: der angeforderte typ |
|
12 |
# flags: zusätzliche informationen zu der behanldung (soll ) |
|
13 |
|
|
14 |
# (aus add) neues record mit vorbereitenden sachen wie transdate/reqdate |
|
15 |
# |
|
16 |
# rückgabe: neues objekt |
|
17 |
# fehlerfall: exception |
|
18 |
} |
|
19 |
|
|
20 |
sub new_from_workflow { |
|
21 |
my ($class, $source_objects, $target_type, %flags) = @_; |
|
22 |
|
|
23 |
# source: entweder das einzelne quellobjekt oder ein arrayref von quellobjekten. |
|
24 |
# - wenn ein arrayref übergeben wurde muss der code testen ob die objekte alle subtype gleich sind und evtl customer/vendor gleich sind |
|
25 |
# target type: sollte ein subtype sein. wer das hier implementiert, sollte auch eine subtype registratur bauen in der man subtypes nachschlagen kann |
|
26 |
# flags: welche extra behandlungen sollen gemacht werden, z.B. record_links setzen |
|
27 |
|
|
28 |
# muss prüfen ob diese umwandlung korrekt ist |
|
29 |
# muss das entsprechende new_from in den objekten selber benutzen |
|
30 |
# und dann evtl nachbearbeitung machen (die bisher im controller stand) |
|
31 |
|
|
32 |
# new_from_workflow: (aus add_from_*) workflow umwandlung von bestehenden records |
|
33 |
|
|
34 |
# fehlerfall: exception aus unterliegendem code bubblen oder neue exception werfen |
|
35 |
# rückgabe: das neue objekt |
|
36 |
} |
|
37 |
|
|
38 |
# im Moment nur bei Aufträgen |
|
39 |
sub increment_subversion { |
|
40 |
my ($class, $record, %flags) = @_; |
|
41 |
|
|
42 |
# erhöht die version des auftrags |
|
43 |
# setzt die neue auftragsnummer |
|
44 |
# legt OrderVersion objekt an |
|
45 |
# speichert |
|
46 |
# |
|
47 |
# return - nichts |
|
48 |
# fehlerfall: exception |
|
49 |
} |
|
50 |
|
|
51 |
sub delete { |
|
52 |
my ($class, $record, %flags) = @_; |
|
53 |
|
|
54 |
# das hier sollte der code sein der in sub delete aus den controllern liegt |
|
55 |
# nicht nur record->delete, sondern auch andere elemente aufräumen |
|
56 |
# spool aufräumen |
|
57 |
# status aufräumen |
|
58 |
# history eintrag |
|
59 |
# |
|
60 |
# return: nichts |
|
61 |
# fehler: exception |
|
62 |
} |
|
63 |
|
|
64 |
sub save { |
|
65 |
my ($class, $record, %params) = @_; |
|
66 |
|
|
67 |
# record: das zu speichernde objekt |
|
68 |
# params: |
|
69 |
# - with_validity_token -> scope |
|
70 |
# - delete custom shipto if empty |
|
71 |
# - item_ids_to_delete |
|
72 |
# - order version behandlung |
|
73 |
|
|
74 |
|
|
75 |
# muss linked_records aus converted_from_* erzeugen -> verschieben in after_save hooks |
|
76 |
# wenn aus quotation erstellt, muss beim speichern das angebot geschlossen werden |
|
77 |
# wenn aus lieferschein erstellt muss beim speichern delivered setzen (wenn in config aktiviert) |
|
78 |
# muss auch link requirement_specs machen (was tut das?) |
|
79 |
# set project in linked requirementspecs (nur aufträge -> flag) |
|
80 |
# |
|
81 |
# history einträge erstellen |
|
82 |
|
|
83 |
# rückgabe: nichts |
|
84 |
# fehler: exception |
|
85 |
} |
|
86 |
|
|
87 |
sub update_for_save_as_new { |
|
88 |
my ($class, $record, %params) = @_; |
|
89 |
|
|
90 |
# der übergebene beleg wurde mit new_from erstellt und muss nachbearbeitet werden: |
|
91 |
# - transadte, reqdate müssen überschrieben werden |
|
92 |
# - number muss überschrieben werden |
|
93 |
# - employee auf aktuellen setzen |
|
94 |
|
|
95 |
# return: nichts |
|
96 |
# fehler: exception |
|
97 |
} |
|
98 |
|
|
99 |
|
|
100 |
1; |
|
101 |
|
|
102 |
__END__ |
|
103 |
|
|
104 |
=encoding utf-8 |
|
105 |
|
|
106 |
=head1 NAME |
|
107 |
|
|
108 |
SL::Model::Record - shared computations for orders (Order), delivery orders (DeliveryOrder), invoices (Invoice) and reclamations (Reclamation) |
|
109 |
|
|
110 |
=head1 SYNOPSIS |
|
111 |
|
|
112 |
|
|
113 |
|
|
114 |
=head1 DESCRIPTION |
|
115 |
|
|
116 |
=head1 BUGS |
|
117 |
|
|
118 |
None yet. :) |
|
119 |
|
|
120 |
=head1 AUTHORS |
|
121 |
|
Auch abrufbar als: Unified diff
Model::Record: erstes Grundgerüst