Hello, Patch fixed (2 bugs inside)
Best regards, -- David DURIEUX Tel : +33 (0)4.82.53.30.53 Mail : d.duri...@siprossii.com Site Web : http://www.siprossii.com/ SIPROSSII Rue des jardins 69860 Monsols FRANCE Le Thu, 9 Jul 2015 09:48:50 +0200 David DURIEUX <d.duri...@siprossii.com> a écrit: >Hello, > >This is a patch propose a new massive action in calendar to add a >holiday to many calendars in one time > > >Best regards, >-- >David DURIEUX >Tel : +33 (0)4.82.53.30.53 >Mail : d.duri...@siprossii.com >Site Web : http://www.siprossii.com/ > >SIPROSSII >Rue des jardins >69860 Monsols >FRANCE
Index: inc/calendar.class.php =================================================================== --- inc/calendar.class.php (revision 23579) +++ inc/calendar.class.php (working copy) @@ -85,7 +85,8 @@ if ($isadmin) { $actions[__CLASS__.MassiveAction::CLASS_ACTION_SEPARATOR.'duplicate'] = _x('button', 'Duplicate'); - } + $actions[__CLASS__.MassiveAction::CLASS_ACTION_SEPARATOR.'addholiday'] = _x('button', 'Add holiday'); + } return $actions; } @@ -103,6 +104,12 @@ echo "<br><br>"; echo Html::submit(_x('button', 'Duplicate'), array('name' => 'massiveaction'))."</span>"; return true; + + case 'addholiday' : + Holiday::dropdown(); + echo "<br><br>"; + echo Html::submit(_x('button', 'Add holiday'), array('name' => 'massiveaction'))."</span>"; + return true; } return parent::showMassiveActionsSubForm($ma); @@ -153,6 +160,43 @@ $ma->itemDone($item->getType(), $ids, MassiveAction::ACTION_KO); } return; + + case 'addholiday' : // For calendar duplicate in another entity + $input = $ma->getInput(); + if ($input['holidays_id'] > 0) { + $holiday = new Holiday(); + $calendar_holiday = new Calendar_Holiday(); + + $holiday->getFromDB($input['holidays_id']); + $entities = array( + $holiday->getEntityID() => $holiday->getEntityID() + ); + if ($holiday->isRecursive()) { + $entities = getSonsOf("glpi_entities", $holiday->getEntityID()); + } + + foreach ($ids as $id) { + $entities_id = CommonDBTM::getItemEntity('Calendar', $id); + if (isset($entities[$entities_id])) { + $input = array( + 'calendars_id' => $id, + 'holidays_id' => $input['holidays_id'] + ); + if ($calendar_holiday->add($input)) { + $ma->itemDone($item->getType(), $id, MassiveAction::ACTION_OK); + } else { + $ma->itemDone($item->getType(), $id, MassiveAction::ACTION_KO); + $ma->addMessage($item->getErrorMessage(ERROR_ON_ACTION)); + } + } else { + $ma->itemDone($item->getType(), $id, MassiveAction::ACTION_KO); + $ma->addMessage($item->getErrorMessage(ERROR_ON_ACTION)); + } + } + } else { + $ma->itemDone($item->getType(), $ids, MassiveAction::ACTION_KO); + } + return; } parent::processMassiveActionsForOneItemtype($ma, $item, $ids); }
_______________________________________________ Glpi-dev mailing list Glpi-dev@gna.org https://mail.gna.org/listinfo/glpi-dev