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($holiday);
+ $entities = array(
+ $holiday->getEntityID() => $holiday->getEntityID()
+ );
+ if ($holiday->isRecursive()) {
+ $entities = getAncestorsOf("glpi_entities", $holiday->getEntityID());
+ }
+
+ foreach ($ids as $id) {
+ $entities_id = CommonDBTM::getItemEntity('glpi_holidays', $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