Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 9a128e8b

Von Sven Schöling vor mehr als 8 Jahren hinzugefügt

  • ID 9a128e8bfd4f08c24e12b4ab7387efb3001d629f
  • Vorgänger 95278e0a
  • Nachfolger 7ede2933

Order: POD aufgeräumt, reformatiert, Bugs notiert.

Unterschiede anzeigen:

SL/Controller/Order.pm
847 847

  
848 848
# recalculate prices and taxes
849 849
#
850
# Using the PriceTaxCalclulator. Store linetotals in the item objects.
850
# Using the PriceTaxCalculator. Store linetotals in the item objects.
851 851
sub _recalc {
852 852
  my ($self) = @_;
853 853

  
......
1058 1058
of work. Also the code should be more readable, more reliable and
1059 1059
better to maintain.
1060 1060

  
1061
=head2 key features
1061
=head2 Key Features
1062 1062

  
1063
=over 2
1063
=over 4
1064 1064

  
1065 1065
=item *
1066

  
1066 1067
One input row, so that input happens every time at the same place.
1067 1068

  
1068 1069
=item *
1070

  
1069 1071
Use of pickers where possible.
1070 1072

  
1071 1073
=item *
1074

  
1072 1075
Possibility to enter more than one item at once.
1073 1076

  
1074 1077
=item *
1078

  
1075 1079
Save order only on "save" (and "save and delivery order"-workflow). No
1076
hidden save on "print" or "email". 
1080
hidden save on "print" or "email".
1077 1081

  
1078 1082
=item *
1083

  
1079 1084
Item list in a scrollable area, so that the workflow buttons stay at
1080 1085
the bottom.
1081 1086

  
1082 1087
=item *
1088

  
1083 1089
Reordering item rows with drag and drop is possible. Sorting item rows is
1084 1090
possible (by partnumber, description, qty, sellprice and discount for now).
1085 1091

  
1086 1092
=item *
1087
No "update" is necessary. All entries and calculations are managed
1088
with ajax-calls and the page does only reload on "save".
1093

  
1094
No C<update> is necessary. All entries and calculations are managed
1095
with ajax-calls and the page does only reload on C<save>.
1089 1096

  
1090 1097
=item *
1098

  
1091 1099
User can see changes immediately, because of the use of java script
1092 1100
and ajax.
1093 1101

  
......
1095 1103

  
1096 1104
=head1 CODE
1097 1105

  
1098
=head2 layout
1106
=head2 Layout
1099 1107

  
1100
=over 2
1108
=over 4
1101 1109

  
1102
=item *
1103
SL/Controller/Order.pm: the controller
1110
=item * C<SL/Controller/Order.pm>
1104 1111

  
1105
=item *
1106
template/webpages/order/form.html: main form
1112
the controller
1107 1113

  
1108
=item *
1109
template/webpages/order/tabs/basic_data.html: main tab for basic_data
1114
=item * C<template/webpages/order/form.html>
1110 1115

  
1111
This is the only tab here for now. "linked records" and "webdav" tabs are reused
1112
from generic code.
1116
main form
1113 1117

  
1114
=over 3
1118
=item * C<template/webpages/order/tabs/basic_data.html>
1115 1119

  
1116
=item *
1117
template/webpages/order/tabs/_item_input.html: the input line for items
1120
Main tab for basic_data.
1118 1121

  
1119
=item *
1120
template/webpages/order/tabs/_row.html: one row for already entered items
1122
This is the only tab here for now. "linked records" and "webdav" tabs are
1123
reused from generic code.
1121 1124

  
1122
=item *
1123
template/webpages/order/tabs/_tax_row.html: displaying tax information
1125
=over 4
1124 1126

  
1125
=item *
1126
template/webpages/order/tabs/_multi_items_dialog.html: dialog for entering more
1127
than one item at once
1127
=item * C<template/webpages/order/tabs/_item_input.html>
1128 1128

  
1129
=item *
1130
template/webpages/order/tabs/_multi_items_result.html: results for the filter in
1131
the multi items dialog
1129
The input line for items
1132 1130

  
1133
=item *
1134
template/webpages/order/tabs/_price_sources_dialog.html: dialog for selecting
1135
price and discount sources
1131
=item * C<template/webpages/order/tabs/_row.html>
1136 1132

  
1137
=item *
1138
template/webpages/order/tabs/_email_dialog.html: email dialog
1133
One row for already entered items
1139 1134

  
1140
=back
1135
=item * C<template/webpages/order/tabs/_tax_row.html>
1141 1136

  
1142
=item *
1143
js/kivi.Order.js: java script functions
1137
Displaying tax information
1144 1138

  
1145
=back
1139
=item * C<template/webpages/order/tabs/_multi_items_dialog.html>
1146 1140

  
1147
=head1 TODO
1141
Dialog for entering more than one item at once
1148 1142

  
1149
=over 2
1143
=item * C<template/webpages/order/tabs/_multi_items_result.html>
1150 1144

  
1151
=item *
1145
Results for the filter in the multi items dialog
1152 1146

  
1153
testing
1147
=item * C<template/webpages/order/tabs/_price_sources_dialog.html>
1154 1148

  
1149
Dialog for selecting price and discount sources
1155 1150

  
1156
=item *
1151
=item * C<template/webpages/order/tabs/_email_dialog.html>
1157 1152

  
1158
currency
1153
Email dialog
1159 1154

  
1155
=back
1160 1156

  
1161 1157
=item *
1162 1158

  
1163
customer/vendor details ('D'-button)
1159
js/kivi.Order.js: java script functions
1164 1160

  
1161
=back
1165 1162

  
1166
=item *
1163
=head1 TODO
1167 1164

  
1168
credit limit
1165
=over 4
1169 1166

  
1167
=item * testing
1170 1168

  
1171
=item *
1169
=item * currency
1172 1170

  
1173
more workflows (save as new / invoice)
1171
=item * customer/vendor details ('D'-button)
1174 1172

  
1173
=item * credit limit
1175 1174

  
1176
=item *
1175
=item * more workflows (save as new / invoice)
1177 1176

  
1178
price sources: little symbols showing better price / better discount
1177
=item * price sources: little symbols showing better price / better discount
1179 1178

  
1179
=item * custom shipto address
1180 1180

  
1181
=item *
1181
=item * periodic invoices
1182 1182

  
1183
custom shipto address
1183
=item * more details on second row (marge, ...)
1184 1184

  
1185
=item * language / part translations
1185 1186

  
1186
=item *
1187
=item * access rights
1187 1188

  
1188
periodic invoices
1189
=item * preset salesman from customer
1189 1190

  
1191
=item * display weights
1190 1192

  
1191
=item *
1193
=item * force project if enabled in client config
1192 1194

  
1193
more details on second row (marge, ...)
1195
=back
1194 1196

  
1197
=head1 KNOWN BUGS AND CAVEATS
1195 1198

  
1196
=item *
1199
=over 4
1197 1200

  
1198
language / part translations
1201
=item *
1199 1202

  
1203
C<position> is not displayed until an order is saved
1200 1204

  
1201 1205
=item *
1202 1206

  
1203
access rights
1207
Customer discount is not displayed as a valid discount in price source popup
1208
(this might be a bug in price sources)
1204 1209

  
1210
=item *
1211

  
1212
No indication that double click expands second row, no exand all button
1205 1213

  
1206 1214
=item *
1207 1215

  
1208
preset salesman from customer
1216
Implementation of second row with a tbody for every item is not supported by
1217
our css.
1209 1218

  
1219
=item *
1220

  
1221
As a consequence row striping does not currently work
1210 1222

  
1211 1223
=item *
1212 1224

  
1213
display weights
1225
Inline creation of parts is not currently supported
1226

  
1227
=item *
1214 1228

  
1229
Table header is not sticky in the scrolling area.
1215 1230

  
1216 1231
=item *
1217 1232

  
1218
force project if enabled in client config
1233
Sorting does not include C<position>, neither does reordering.
1234

  
1235
=item *
1219 1236

  
1237
C<show_smulti_items_dialog> does not use the currently inserted string for filtering.
1220 1238

  
1221 1239
=back
1222 1240

  

Auch abrufbar als: Unified diff