| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- <?php
- // Lisa kanded saldode display'dele views_aggregator SUM summeerimine.
- // Saldo = field_deebet - field_kreedit, summeeritud kõigilt ridadelt.
- use Drupal\views\Entity\View;
- $view = View::load('kanded');
- if (!$view) {
- echo "kanded view puudub\n";
- return;
- }
- $displays = $view->get('display');
- $update = [
- 'page_liikmemaksud_saldod' => ['title' => 'Liikmemaksude saldod'],
- 'page_projektid_saldod' => ['title' => 'Projektide saldod'],
- ];
- foreach ($update as $id => $meta) {
- if (!isset($displays[$id])) {
- echo "skip $id (puudub)\n";
- continue;
- }
- // Vaheta stiil views_aggregator'iks, summeeri deebet/kreedit.
- $displays[$id]['display_options']['title'] = $meta['title'];
- $displays[$id]['display_options']['style'] = [
- 'type' => 'views_aggregator_plugin_style_table',
- 'options' => [
- 'grouping' => [],
- 'columns' => [
- 'field_date' => 'field_date',
- 'field_kirjeldus' => 'field_kirjeldus',
- 'field_deebet' => 'field_deebet',
- 'field_kreedit' => 'field_kreedit',
- ],
- 'default' => 'field_date',
- 'info' => [
- 'field_date' => [
- 'sortable' => false, 'default_sort_order' => 'asc', 'align' => '', 'separator' => '', 'empty_column' => false,
- 'has_aggr' => true, 'aggr' => ['views_aggregator_group_and_compress' => 'views_aggregator_group_and_compress'], 'aggr_par' => '',
- 'has_aggr_column' => false, 'aggr_column' => 'views_aggregator_first', 'aggr_par_column' => '',
- ],
- 'field_kirjeldus' => [
- 'sortable' => false, 'default_sort_order' => 'asc', 'align' => '', 'separator' => '', 'empty_column' => false,
- 'has_aggr' => true, 'aggr' => ['views_aggregator_group_and_compress' => 'views_aggregator_group_and_compress'], 'aggr_par' => '',
- 'has_aggr_column' => false, 'aggr_column' => 'views_aggregator_first', 'aggr_par_column' => '',
- ],
- 'field_deebet' => [
- 'sortable' => false, 'default_sort_order' => 'asc', 'align' => '', 'separator' => '', 'empty_column' => false,
- 'has_aggr' => false, 'aggr' => ['views_aggregator_first' => 'views_aggregator_first'], 'aggr_par' => '',
- 'has_aggr_column' => true, 'aggr_column' => 'views_aggregator_sum', 'aggr_par_column' => '',
- ],
- 'field_kreedit' => [
- 'sortable' => false, 'default_sort_order' => 'asc', 'align' => '', 'separator' => '', 'empty_column' => false,
- 'has_aggr' => false, 'aggr' => ['views_aggregator_first' => 'views_aggregator_first'], 'aggr_par' => '',
- 'has_aggr_column' => true, 'aggr_column' => 'views_aggregator_sum', 'aggr_par_column' => '',
- ],
- ],
- 'column_aggregation' => [
- 'totals_per_page' => 1,
- 'totals_row_position' => [1 => 0, 2 => '2'],
- 'precision' => 2,
- ],
- 'override' => true,
- 'caption' => '',
- 'summary' => '',
- 'description' => '',
- ],
- ];
- $displays[$id]['display_options']['defaults']['style'] = false;
- echo "uuendatud: $id\n";
- }
- $view->set('display', $displays);
- $view->save();
- echo "done\n";
|