Import depends on unvailable options

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…

What I did wrong?


    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.

Unfortunately none applies. The target event has not timetable (at least it is empty) and because of a mistake it was longer than the source event…


Can you take a screenshot of the import dialog where all the checkboxes are (using the english locale for the sake of my convenience please :D).

You can also hover the disabled entries one by one and check the reason that should be displayed there…

I attach 3 screenshots:

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.