Before this commit: To know if an event menu is an auto generated one (eg: location, register..), it checks if the menu name is the same as the hardcoded one in _get_standard_menu_entries_names. If user change the menu name, the code won't retrieve it and will act as if the menu had been deleted and it will recreate it. This leads to 2 bugs: *First (website_event) - Change menu name from website_event (eg: location, introduction or register) - Check/Uncheck 'Track on website' or 'Track Proposals on website' to force the code to rewrite missing menus. - Go back to the event front end, theses menus have now been recreated, and are duplicated. *Second (website_event_track) - Check 'Track on website' on event's back end - Change the 'Talks' menu name in front end - Go back to backend, 'Track on website' is unchecked because _compute_website_track won't retrieve an event menu named exactly 'Talks' Now: We don't use euristics to try to recover missing menus. We just create related menu when option is checked, and we delete them when option is unchecked. To know which menu item comes from which option, we store a value in a new model 'website.event.menu'. We don't want to try to check if the menus are all there and recreate them if needed anymore. There is cases where user wan't to delete a menu and repace it with a link to that menu's URL in the page content. Before this commit, the option would've been unchecked since it won't retrieve the menu.
1.6 KiB
1.6 KiB
| 1 | id | name | model_id:id | group_id:id | perm_read | perm_write | perm_create | perm_unlink |
|---|---|---|---|---|---|---|---|---|
| 2 | access_event_location_manager | event.track.location manager | model_event_track_location | event.group_event_manager | 1 | 1 | 1 | 1 |
| 3 | access_event_track_manager | event.track manager | model_event_track | event.group_event_manager | 1 | 1 | 1 | 1 |
| 4 | access_event_track_tag_public | event.track.tag public | model_event_track_tag | 1 | 0 | 0 | 0 | |
| 5 | access_event_track_tag_manager | event.track.tag manager | model_event_track_tag | event.group_event_manager | 1 | 1 | 1 | 1 |
| 6 | access_event_track_location_public | event.track.location public | model_event_track_location | 1 | 0 | 0 | 0 | |
| 7 | access_event_track_location_manager | event.track.location manager | model_event_track_location | event.group_event_manager | 1 | 1 | 1 | 1 |
| 8 | access_event_track__public | event.track.public | model_event_track | 1 | 0 | 0 | 0 | |
| 9 | access_event_track_sponsor_type_manager | event.track.sponsor.type.public | model_event_sponsor_type | event.group_event_manager | 1 | 1 | 1 | 1 |
| 10 | access_event_track_sponsor_type_public | event.track.sponsor.type.public | model_event_sponsor_type | 1 | 0 | 0 | 0 | |
| 11 | access_event_track_sponsor_manager | event.track.sponsor.type.public | model_event_sponsor | event.group_event_manager | 1 | 1 | 1 | 1 |
| 12 | access_event_track_sponsor_public | event.track.sponsor.public | model_event_sponsor | 1 | 0 | 0 | 0 | |
| 13 | access_event_track_stage_all | event.track.stage.all | model_event_track_stage | 1 | 0 | 0 | 0 | |
| 14 | access_event_track_stage_event_manager | event.track.stage.event.manager | model_event_track_stage | event.group_event_manager | 1 | 1 | 1 | 1 |
| 15 | access_website_event_menu_public | website.event.menu | model_website_event_menu | 1 | 0 | 0 | 0 | |
| 16 | access_website_event_menu_manager | website.event.menu | model_website_event_menu | event.group_event_manager | 1 | 1 | 1 | 1 |