Hello,
Patch fixed (2 bugs inside)
Best regards,
--
David DURIEUX
Tel : +33 (0)4.82.53.30.53
Mail : [email protected]
Site Web : http://www.siprossii.com/
SIPROSSII
Rue des jardins
69860 Monsols
FRANCE
Le Thu, 9 Jul 2015 09:48:50 +0200
David DURIEUX <[email protected]> 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 : [email protected]
>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
[email protected]
https://mail.gna.org/listinfo/glpi-dev