I’m trying to import the timetable of an event from another one. After selecting the source event, I get a list of all the items that may be copied but selecting any of them is disabled saying that it depends on other options not available…
def get_conflicts(self, target_event):
conflicts = []
if self._has_content(target_event):
conflicts.append(_('The target event already has a timetable'))
if self.old_event.duration > target_event.duration:
conflicts.append(_('The source event is longer than the target event'))
return conflicts
These are the conflicts that could cause the timetable import to be disabled. However, in case you have sessions or contributions in the new event, that would also cause a conflict since the timetable import depends on these two importers.
Conversely to what I said, for almost all items the warning is that the item doesn’t exist in the source event (which is right). But for the timetable the message is “the option depends on other options which are unavailable”.
Problem “solved”… With the help of @ThiefMaster, I was able to identify that the target event was in fact a clone of the source event without the timetable (timetable unselected when doing the clone) but with a chairperson. For importing the source event timetable later, the chairperson is a dependency but as it was already present in the target event, it was preventing the clone to happen (the import process can only import missing items).
To make the things worse, a chairperson can be removed from an event (here the target event) but it is just hidden, not removed. So it is necessary to recreate a new event, either a vanilla event or a new clone of the source event without the timetable and the chairpersons.