/[drupal]/contributions/modules/invoices/invoices_views.inc
ViewVC logotype

Contents of /contributions/modules/invoices/invoices_views.inc

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (show annotations) (download) (as text)
Sun Mar 9 13:43:07 2008 UTC (20 months, 2 weeks ago) by bnobleman
Branch: MAIN
CVS Tags: HEAD
File MIME type: text/x-php
Invoices module initial import
1 <?php
2 /**
3 * Author: Bernard Szlachta
4 * Company: NobleProg Limited
5 * URL: www.nobleprog.co.uk
6 * bernard.szlachta (at) NobleProg.co.uk
7 */
8
9 function invoices_views_default_views() {
10
11 /* Invoice Items * * * * * * * * * * * * * * * * */
12 $view = new stdClass();
13 $view->name = 'invoice_items';
14 $view->description = '';
15 $view->access = array ();
16 $view->view_args_php = '';
17 $view->page = TRUE;
18 $view->page_title = '';
19 $view->page_header = '';
20 $view->page_header_format = '1';
21 $view->page_footer = '';
22 $view->page_footer_format = '1';
23 $view->page_empty = '';
24 $view->page_empty_format = '1';
25 $view->page_type = 'table';
26 $view->url = 'invoice_items';
27 $view->use_pager = TRUE;
28 $view->nodes_per_page = '10000';
29 $view->block = TRUE;
30 $view->block_title = '';
31 $view->block_header = '';
32 $view->block_header_format = '0';
33 $view->block_footer = '';
34 $view->block_footer_format = '0';
35 $view->block_empty = '';
36 $view->block_empty_format = '1';
37 $view->block_type = 'table';
38 $view->nodes_per_block = '10';
39 $view->block_more = FALSE;
40 $view->block_use_page_header = FALSE;
41 $view->block_use_page_footer = FALSE;
42 $view->block_use_page_empty = FALSE;
43 $view->sort = array (
44 );
45 $view->argument = array (
46 array (
47 'type' => 'content: field_parent_invoice',
48 'argdefault' => '1',
49 'title' => '',
50 'options' => '',
51 'wildcard' => '',
52 'wildcard_substitution' => '',
53 ),
54 );
55 $view->field = array (
56 array (
57 'tablename' => 'node',
58 'field' => 'title',
59 'label' => 'Name',
60 'handler' => 'views_handler_field_nodelink',
61 'options' => 'link',
62 ),
63 array (
64 'tablename' => 'node_data_field_unit',
65 'field' => 'field_unit_value',
66 'label' => 'Unit',
67 'handler' => 'content_views_field_handler_group',
68 'options' => 'default',
69 ),
70 array (
71 'tablename' => 'node_data_field_quantity',
72 'field' => 'field_quantity_value',
73 'label' => 'Quantity',
74 'handler' => 'content_views_field_handler_ungroup',
75 'options' => 'default',
76 ),
77 array (
78 'tablename' => 'node_data_field_unit_price',
79 'field' => 'field_unit_price_value',
80 'label' => 'Unit Price',
81 'handler' => 'content_views_field_handler_group',
82 'options' => 'default',
83 ),
84 array (
85 'tablename' => 'node_data_field_item_price',
86 'field' => 'field_item_price_value',
87 'label' => 'Price',
88 'handler' => 'content_views_field_handler_ungroup',
89 'options' => 'plain',
90 ),
91 );
92 $view->filter = array (
93 array (
94 'tablename' => 'node',
95 'field' => 'type',
96 'operator' => 'OR',
97 'options' => '',
98 'value' => array (
99 0 => 'invoice_item',
100 ),
101 ),
102 );
103 $view->exposed_filter = array (
104 );
105 $view->requires = array(node, node_data_field_unit, node_data_field_quantity, node_data_field_unit_price, node_data_field_item_price);
106 $views[$view->name] = $view;
107
108
109
110
111 /* Invoice list * * * * * * * * * * * * * * * * */
112 $view = new stdClass();
113 $view->name = 'Invoices';
114 $view->description = 'List, sorts and filters invoices';
115 $view->access = array (
116 0 => '6',
117 );
118 $view->view_args_php = '';
119 $view->page = TRUE;
120 $view->page_title = '';
121 $view->page_header = '<a href="/node/add/invoice">New invoice</a>';
122 $view->page_header_format = '3';
123 $view->page_footer = '<a href="/node/add/invoice">New invoice</a>';
124 $view->page_footer_format = '3';
125 $view->page_empty = '';
126 $view->page_empty_format = '3';
127 $view->page_type = 'table';
128 $view->url = 'invoices';
129 $view->use_pager = TRUE;
130 $view->nodes_per_page = '30';
131 $view->sort = array (
132 );
133 $view->argument = array (
134 );
135 $view->field = array (
136 array (
137 'tablename' => 'node_data_field_pro_forma',
138 'field' => 'field_pro_forma_value',
139 'label' => 'Pro Forma',
140 'handler' => 'content_views_field_handler_group',
141 'options' => 'default',
142 ),
143 array (
144 'tablename' => 'node_data_field_invoice_number',
145 'field' => 'field_invoice_number_value',
146 'label' => 'No',
147 'handler' => 'content_views_field_handler_group',
148 'options' => 'default',
149 ),
150 array (
151 'tablename' => 'node',
152 'field' => 'created',
153 'label' => '',
154 'handler' => 'views_handler_field_date_small',
155 'sortable' => '1',
156 ),
157 array (
158 'tablename' => 'node',
159 'field' => 'changed',
160 'label' => '',
161 'handler' => 'views_handler_field_date_small',
162 'sortable' => '1',
163 ),
164 array (
165 'tablename' => 'node_data_field_to',
166 'field' => 'field_to_nid',
167 'label' => 'Client',
168 'handler' => 'content_views_field_handler_group',
169 'options' => 'default',
170 ),
171 array (
172 'tablename' => 'node_data_field_issue_date',
173 'field' => 'field_issue_date_value',
174 'label' => 'Issue Date',
175 'handler' => 'content_views_field_handler_group',
176 'sortable' => '1',
177 'defaultsort' => 'DESC',
178 'options' => 'default',
179 ),
180 array (
181 'tablename' => 'node_data_field_from',
182 'field' => 'field_from_nid',
183 'label' => 'From',
184 'handler' => 'content_views_field_handler_group',
185 'options' => 'default',
186 ),
187 array (
188 'tablename' => 'node',
189 'field' => 'view',
190 'label' => '',
191 ),
192 array (
193 'tablename' => 'node_data_field_paid',
194 'field' => 'field_paid_value',
195 'label' => 'Paid',
196 'handler' => 'content_views_field_handler_group',
197 'options' => 'default',
198 ),
199 );
200 $view->filter = array (
201 array (
202 'tablename' => 'node',
203 'field' => 'type',
204 'operator' => 'OR',
205 'options' => '',
206 'value' => array (
207 0 => 'invoice',
208 ),
209 ),
210 array (
211 'tablename' => 'node_data_field_paid',
212 'field' => 'field_paid_value_default',
213 'operator' => 'OR',
214 'options' => '',
215 'value' => array (
216 0 => 'No',
217 1 => 'Yes',
218 ),
219 ),
220 array (
221 'tablename' => 'node_data_field_to',
222 'field' => 'field_to_nid_default',
223 'operator' => 'OR',
224 'options' => '',
225 'value' => array (
226 0 => '0',
227 ),
228 ),
229 array (
230 'tablename' => 'node_data_field_from',
231 'field' => 'field_from_nid_default',
232 'operator' => 'OR',
233 'options' => '',
234 'value' => array (
235 0 => '0',
236 ),
237 ),
238 array (
239 'tablename' => 'node_data_field_pro_forma',
240 'field' => 'field_pro_forma_value_like',
241 'operator' => '=',
242 'options' => '',
243 'value' => '',
244 ),
245 );
246 $view->exposed_filter = array (
247 array (
248 'tablename' => 'node_data_field_paid',
249 'field' => 'field_paid_value_default',
250 'label' => 'Paid',
251 'optional' => '1',
252 'is_default' => '0',
253 'operator' => '1',
254 'single' => '1',
255 ),
256 array (
257 'tablename' => 'node_data_field_to',
258 'field' => 'field_to_nid_default',
259 'label' => 'Client',
260 'optional' => '1',
261 'is_default' => '0',
262 'operator' => '1',
263 'single' => '1',
264 ),
265 array (
266 'tablename' => 'node_data_field_from',
267 'field' => 'field_from_nid_default',
268 'label' => 'Issuer',
269 'optional' => '1',
270 'is_default' => '0',
271 'operator' => '1',
272 'single' => '1',
273 ),
274 array (
275 'tablename' => 'node_data_field_pro_forma',
276 'field' => 'field_pro_forma_value_like',
277 'label' => 'ProForma',
278 'optional' => '0',
279 'is_default' => '0',
280 'operator' => '1',
281 'single' => '0',
282 ),
283 );
284 $view->requires = array(node_data_field_pro_forma, node_data_field_invoice_number, node, node_data_field_to, node_data_field_issue_date, node_data_field_from, node_data_field_paid);
285 $views[$view->name] = $view;
286
287
288
289
290
291
292
293 $view = new stdClass();
294 $view->name = 'parent_invoices';
295 $view->description = 'It appears on invoice_item form';
296 $view->access = array (
297 );
298 $view->view_args_php = '';
299 $view->page = FALSE;
300 $view->page_title = '';
301 $view->page_header = '';
302 $view->page_header_format = '1';
303 $view->page_footer = '';
304 $view->page_footer_format = '1';
305 $view->page_empty = '';
306 $view->page_empty_format = '1';
307 $view->page_type = 'node';
308 $view->url = '';
309 $view->use_pager = TRUE;
310 $view->nodes_per_page = '30';
311 $view->sort = array (
312 array (
313 'tablename' => 'node',
314 'field' => 'created',
315 'sortorder' => 'DESC',
316 'options' => 'normal',
317 ),
318 );
319 $view->argument = array (
320 );
321 $view->field = array (
322 array (
323 'tablename' => 'node',
324 'field' => 'title',
325 'label' => '',
326 'handler' => 'views_handler_field_nodelink',
327 'options' => 'link',
328 ),
329 );
330 $view->filter = array (
331 array (
332 'tablename' => 'node',
333 'field' => 'type',
334 'operator' => 'OR',
335 'options' => '',
336 'value' => array (
337 0 => 'invoice',
338 ),
339 ),
340 );
341 $view->exposed_filter = array (
342 );
343 $view->requires = array(node);
344 $views[$view->name] = $view;
345
346
347
348
349
350
351 return $views;
352
353 }
354
355
356
357
358 /**
359 * The hook_views_pre_view implementation
360 */
361 function invoices_views_pre_view(&$view, &$items) {
362 if($view->name == 'invoice_items'){
363 $sum = 0;
364 foreach ($items as $item){
365 $sum += $item->node_data_field_item_price_field_item_price_value;
366 }
367
368 $view->page_footer_format = 2;
369 $view->page_footer = theme('invoice_items_sumary',$sum, $sum);
370 }
371 }
372
373 function theme_invoice_items_sumary($amount,$balance_due){
374 $o = '<div class="invoice_amount">Amount: ' . $amount. '</div>';
375 $o .= '<div class="balance_due">Balance Due: ' . $balance_due. '</div>';
376 return $o;
377 }

  ViewVC Help
Powered by ViewVC 1.1.2