Merge remote-tracking branch 'calcms/master'
studios: remove google_calendar field uac.pm: add admin permission remove deprecated role model Remove past recordings fixup! category: remove Configure event notification sender email address
This commit is contained in:
@@ -542,6 +542,7 @@ CREATE TABLE `calcms_roles` (
|
|||||||
`studio_id` int unsigned NOT NULL,
|
`studio_id` int unsigned NOT NULL,
|
||||||
`role` varchar(40) NOT NULL,
|
`role` varchar(40) NOT NULL,
|
||||||
`level` tinyint unsigned NOT NULL DEFAULT '0',
|
`level` tinyint unsigned NOT NULL DEFAULT '0',
|
||||||
|
`admin` INT(1) UNSIGNED NOT NULL DEFAULT 0,
|
||||||
`created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
|
`created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
`modified_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
`modified_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||||
`read_role` tinyint unsigned DEFAULT NULL,
|
`read_role` tinyint unsigned DEFAULT NULL,
|
||||||
@@ -635,11 +636,11 @@ CREATE TABLE `calcms_roles` (
|
|||||||
|
|
||||||
LOCK TABLES `calcms_roles` WRITE;
|
LOCK TABLES `calcms_roles` WRITE;
|
||||||
/*!40000 ALTER TABLE `calcms_roles` DISABLE KEYS */;
|
/*!40000 ALTER TABLE `calcms_roles` DISABLE KEYS */;
|
||||||
INSERT INTO `calcms_roles` (`id`, `project_id`, `studio_id`, `role`, `level`, `created_at`, `modified_at`, `read_role`, `update_role`, `read_user_role`, `create_user`, `read_user`, `update_user`, `delete_user`, `update_user_role`, `disable_user`, `create_project`, `read_project`, `update_project`, `delete_project`, `assign_project_studio`, `create_studio`, `read_studio`, `update_studio`, `delete_studio`, `read_studio_timeslot_schedule`, `update_studio_timeslot_schedule`, `create_series`, `read_series`, `update_series`, `delete_series`, `update_series_template`, `assign_series_member`, `remove_series_member`, `scan_series_events`, `assign_series_events`, `read_schedule`, `update_schedule`, `delete_schedule`, `create_event`, `create_event_from_schedule`, `create_event_of_series`, `read_event`, `delete_event`, `update_event_of_series`, `update_event_of_others`, `update_event_time`, `update_event_after_week`, `update_event_field_title`, `update_event_field_title_extension`, `update_event_field_excerpt`, `update_event_field_content`, `update_event_field_content_format`, `update_event_field_description`, `update_event_field_topic`, `update_event_field_episode`, `update_event_field_excerpt_extension`, `update_event_field_image`, `update_event_field_podcast_url`, `update_event_field_archive_url`, `update_event_status_disable_event_sync`, `update_event_status_published`, `update_event_status_rerun`, `update_event_status_draft`, `update_event_status_live`, `update_event_status_playout`, `update_event_status_archived`, `create_image`, `update_image_own`, `read_image`, `delete_image_own`, `update_image_others`, `delete_image_others`, `read_changes`, `undo_changes`, `read_user_stats`, `read_comment`, `update_comment_status_lock`, `update_comment_status_read`, `upload_audio_recordings`, `delete_audio_recordings`, `read_playout`, `create_download`) VALUES (7,1,1,'Admin',7,NULL,'2023-02-19 21:32:32',1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
|
INSERT INTO `calcms_roles` (`id`, `project_id`, `studio_id`, `role`, `level`, `admin`, `created_at`, `modified_at`, `read_role`, `update_role`, `read_user_role`, `create_user`, `read_user`, `update_user`, `delete_user`, `update_user_role`, `disable_user`, `create_project`, `read_project`, `update_project`, `delete_project`, `assign_project_studio`, `create_studio`, `read_studio`, `update_studio`, `delete_studio`, `read_studio_timeslot_schedule`, `update_studio_timeslot_schedule`, `create_series`, `read_series`, `update_series`, `delete_series`, `update_series_template`, `assign_series_member`, `remove_series_member`, `scan_series_events`, `assign_series_events`, `read_schedule`, `update_schedule`, `delete_schedule`, `create_event`, `create_event_from_schedule`, `create_event_of_series`, `read_event`, `delete_event`, `update_event_of_series`, `update_event_of_others`, `update_event_time`, `update_event_after_week`, `update_event_field_title`, `update_event_field_title_extension`, `update_event_field_excerpt`, `update_event_field_content`, `update_event_field_content_format`, `update_event_field_description`, `update_event_field_topic`, `update_event_field_episode`, `update_event_field_excerpt_extension`, `update_event_field_image`, `update_event_field_podcast_url`, `update_event_field_archive_url`, `update_event_status_disable_event_sync`, `update_event_status_published`, `update_event_status_rerun`, `update_event_status_draft`, `update_event_status_live`, `update_event_status_playout`, `update_event_status_archived`, `create_image`, `update_image_own`, `read_image`, `delete_image_own`, `update_image_others`, `delete_image_others`, `read_changes`, `undo_changes`, `read_user_stats`, `read_comment`, `update_comment_status_lock`, `update_comment_status_read`, `upload_audio_recordings`, `delete_audio_recordings`, `read_playout`, `create_download`) VALUES (7,1,1,'Admin',7,1,NULL,'2023-02-19 21:32:32',1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
|
||||||
INSERT INTO `calcms_roles` (`id`, `project_id`, `studio_id`, `role`, `level`, `created_at`, `modified_at`, `read_role`, `update_role`, `read_user_role`, `create_user`, `read_user`, `update_user`, `delete_user`, `update_user_role`, `disable_user`, `create_project`, `read_project`, `update_project`, `delete_project`, `assign_project_studio`, `create_studio`, `read_studio`, `update_studio`, `delete_studio`, `read_studio_timeslot_schedule`, `update_studio_timeslot_schedule`, `create_series`, `read_series`, `update_series`, `delete_series`, `update_series_template`, `assign_series_member`, `remove_series_member`, `scan_series_events`, `assign_series_events`, `read_schedule`, `update_schedule`, `delete_schedule`, `create_event`, `create_event_from_schedule`, `create_event_of_series`, `read_event`, `delete_event`, `update_event_of_series`, `update_event_of_others`, `update_event_time`, `update_event_after_week`, `update_event_field_title`, `update_event_field_title_extension`, `update_event_field_excerpt`, `update_event_field_content`, `update_event_field_content_format`, `update_event_field_description`, `update_event_field_topic`, `update_event_field_episode`, `update_event_field_excerpt_extension`, `update_event_field_image`, `update_event_field_podcast_url`, `update_event_field_archive_url`, `update_event_status_disable_event_sync`, `update_event_status_published`, `update_event_status_rerun`, `update_event_status_draft`, `update_event_status_live`, `update_event_status_playout`, `update_event_status_archived`, `create_image`, `update_image_own`, `read_image`, `delete_image_own`, `update_image_others`, `delete_image_others`, `read_changes`, `undo_changes`, `read_user_stats`, `read_comment`, `update_comment_status_lock`, `update_comment_status_read`, `upload_audio_recordings`, `delete_audio_recordings`, `read_playout`, `create_download`) VALUES (3,1,1,'Studio Manager',6,NULL,'2023-02-19 21:32:32',1,1,1,1,1,1,1,1,1,0,1,0,0,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,0,1,1,0,0,1,1,1,1);
|
INSERT INTO `calcms_roles` (`id`, `project_id`, `studio_id`, `role`, `level`, `admin`, `created_at`, `modified_at`, `read_role`, `update_role`, `read_user_role`, `create_user`, `read_user`, `update_user`, `delete_user`, `update_user_role`, `disable_user`, `create_project`, `read_project`, `update_project`, `delete_project`, `assign_project_studio`, `create_studio`, `read_studio`, `update_studio`, `delete_studio`, `read_studio_timeslot_schedule`, `update_studio_timeslot_schedule`, `create_series`, `read_series`, `update_series`, `delete_series`, `update_series_template`, `assign_series_member`, `remove_series_member`, `scan_series_events`, `assign_series_events`, `read_schedule`, `update_schedule`, `delete_schedule`, `create_event`, `create_event_from_schedule`, `create_event_of_series`, `read_event`, `delete_event`, `update_event_of_series`, `update_event_of_others`, `update_event_time`, `update_event_after_week`, `update_event_field_title`, `update_event_field_title_extension`, `update_event_field_excerpt`, `update_event_field_content`, `update_event_field_content_format`, `update_event_field_description`, `update_event_field_topic`, `update_event_field_episode`, `update_event_field_excerpt_extension`, `update_event_field_image`, `update_event_field_podcast_url`, `update_event_field_archive_url`, `update_event_status_disable_event_sync`, `update_event_status_published`, `update_event_status_rerun`, `update_event_status_draft`, `update_event_status_live`, `update_event_status_playout`, `update_event_status_archived`, `create_image`, `update_image_own`, `read_image`, `delete_image_own`, `update_image_others`, `delete_image_others`, `read_changes`, `undo_changes`, `read_user_stats`, `read_comment`, `update_comment_status_lock`, `update_comment_status_read`, `upload_audio_recordings`, `delete_audio_recordings`, `read_playout`, `create_download`) VALUES (3,1,1,'Studio Manager',6,0,NULL,'2023-02-19 21:32:32',1,1,1,1,1,1,1,1,1,0,1,0,0,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,0,1,1,0,0,1,1,1,1);
|
||||||
INSERT INTO `calcms_roles` (`id`, `project_id`, `studio_id`, `role`, `level`, `created_at`, `modified_at`, `read_role`, `update_role`, `read_user_role`, `create_user`, `read_user`, `update_user`, `delete_user`, `update_user_role`, `disable_user`, `create_project`, `read_project`, `update_project`, `delete_project`, `assign_project_studio`, `create_studio`, `read_studio`, `update_studio`, `delete_studio`, `read_studio_timeslot_schedule`, `update_studio_timeslot_schedule`, `create_series`, `read_series`, `update_series`, `delete_series`, `update_series_template`, `assign_series_member`, `remove_series_member`, `scan_series_events`, `assign_series_events`, `read_schedule`, `update_schedule`, `delete_schedule`, `create_event`, `create_event_from_schedule`, `create_event_of_series`, `read_event`, `delete_event`, `update_event_of_series`, `update_event_of_others`, `update_event_time`, `update_event_after_week`, `update_event_field_title`, `update_event_field_title_extension`, `update_event_field_excerpt`, `update_event_field_content`, `update_event_field_content_format`, `update_event_field_description`, `update_event_field_topic`, `update_event_field_episode`, `update_event_field_excerpt_extension`, `update_event_field_image`, `update_event_field_podcast_url`, `update_event_field_archive_url`, `update_event_status_disable_event_sync`, `update_event_status_published`, `update_event_status_rerun`, `update_event_status_draft`, `update_event_status_live`, `update_event_status_playout`, `update_event_status_archived`, `create_image`, `update_image_own`, `read_image`, `delete_image_own`, `update_image_others`, `delete_image_others`, `read_changes`, `undo_changes`, `read_user_stats`, `read_comment`, `update_comment_status_lock`, `update_comment_status_read`, `upload_audio_recordings`, `delete_audio_recordings`, `read_playout`, `create_download`) VALUES (1,1,1,'Program Planing',4,NULL,'2023-02-19 21:32:32',1,0,1,1,1,1,0,1,0,0,0,0,0,0,0,1,0,0,1,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,1,1);
|
INSERT INTO `calcms_roles` (`id`, `project_id`, `studio_id`, `role`, `level`, `admin`, `created_at`, `modified_at`, `read_role`, `update_role`, `read_user_role`, `create_user`, `read_user`, `update_user`, `delete_user`, `update_user_role`, `disable_user`, `create_project`, `read_project`, `update_project`, `delete_project`, `assign_project_studio`, `create_studio`, `read_studio`, `update_studio`, `delete_studio`, `read_studio_timeslot_schedule`, `update_studio_timeslot_schedule`, `create_series`, `read_series`, `update_series`, `delete_series`, `update_series_template`, `assign_series_member`, `remove_series_member`, `scan_series_events`, `assign_series_events`, `read_schedule`, `update_schedule`, `delete_schedule`, `create_event`, `create_event_from_schedule`, `create_event_of_series`, `read_event`, `delete_event`, `update_event_of_series`, `update_event_of_others`, `update_event_time`, `update_event_after_week`, `update_event_field_title`, `update_event_field_title_extension`, `update_event_field_excerpt`, `update_event_field_content`, `update_event_field_content_format`, `update_event_field_description`, `update_event_field_topic`, `update_event_field_episode`, `update_event_field_excerpt_extension`, `update_event_field_image`, `update_event_field_podcast_url`, `update_event_field_archive_url`, `update_event_status_disable_event_sync`, `update_event_status_published`, `update_event_status_rerun`, `update_event_status_draft`, `update_event_status_live`, `update_event_status_playout`, `update_event_status_archived`, `create_image`, `update_image_own`, `read_image`, `delete_image_own`, `update_image_others`, `delete_image_others`, `read_changes`, `undo_changes`, `read_user_stats`, `read_comment`, `update_comment_status_lock`, `update_comment_status_read`, `upload_audio_recordings`, `delete_audio_recordings`, `read_playout`, `create_download`) VALUES (1,1,1,'Program Planing',4,0,NULL,'2023-02-19 21:32:32',1,0,1,1,1,1,0,1,0,0,0,0,0,0,0,1,0,0,1,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,1,1);
|
||||||
INSERT INTO `calcms_roles` (`id`, `project_id`, `studio_id`, `role`, `level`, `created_at`, `modified_at`, `read_role`, `update_role`, `read_user_role`, `create_user`, `read_user`, `update_user`, `delete_user`, `update_user_role`, `disable_user`, `create_project`, `read_project`, `update_project`, `delete_project`, `assign_project_studio`, `create_studio`, `read_studio`, `update_studio`, `delete_studio`, `read_studio_timeslot_schedule`, `update_studio_timeslot_schedule`, `create_series`, `read_series`, `update_series`, `delete_series`, `update_series_template`, `assign_series_member`, `remove_series_member`, `scan_series_events`, `assign_series_events`, `read_schedule`, `update_schedule`, `delete_schedule`, `create_event`, `create_event_from_schedule`, `create_event_of_series`, `read_event`, `delete_event`, `update_event_of_series`, `update_event_of_others`, `update_event_time`, `update_event_after_week`, `update_event_field_title`, `update_event_field_title_extension`, `update_event_field_excerpt`, `update_event_field_content`, `update_event_field_content_format`, `update_event_field_description`, `update_event_field_topic`, `update_event_field_episode`, `update_event_field_excerpt_extension`, `update_event_field_image`, `update_event_field_podcast_url`, `update_event_field_archive_url`, `update_event_status_disable_event_sync`, `update_event_status_published`, `update_event_status_rerun`, `update_event_status_draft`, `update_event_status_live`, `update_event_status_playout`, `update_event_status_archived`, `create_image`, `update_image_own`, `read_image`, `delete_image_own`, `update_image_others`, `delete_image_others`, `read_changes`, `undo_changes`, `read_user_stats`, `read_comment`, `update_comment_status_lock`, `update_comment_status_read`, `upload_audio_recordings`, `delete_audio_recordings`, `read_playout`, `create_download`) VALUES (2,1,1,'Editorial',2,NULL,'2023-02-19 21:32:32',0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,1,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,1,1);
|
INSERT INTO `calcms_roles` (`id`, `project_id`, `studio_id`, `role`, `level`, `admin`, `created_at`, `modified_at`, `read_role`, `update_role`, `read_user_role`, `create_user`, `read_user`, `update_user`, `delete_user`, `update_user_role`, `disable_user`, `create_project`, `read_project`, `update_project`, `delete_project`, `assign_project_studio`, `create_studio`, `read_studio`, `update_studio`, `delete_studio`, `read_studio_timeslot_schedule`, `update_studio_timeslot_schedule`, `create_series`, `read_series`, `update_series`, `delete_series`, `update_series_template`, `assign_series_member`, `remove_series_member`, `scan_series_events`, `assign_series_events`, `read_schedule`, `update_schedule`, `delete_schedule`, `create_event`, `create_event_from_schedule`, `create_event_of_series`, `read_event`, `delete_event`, `update_event_of_series`, `update_event_of_others`, `update_event_time`, `update_event_after_week`, `update_event_field_title`, `update_event_field_title_extension`, `update_event_field_excerpt`, `update_event_field_content`, `update_event_field_content_format`, `update_event_field_description`, `update_event_field_topic`, `update_event_field_episode`, `update_event_field_excerpt_extension`, `update_event_field_image`, `update_event_field_podcast_url`, `update_event_field_archive_url`, `update_event_status_disable_event_sync`, `update_event_status_published`, `update_event_status_rerun`, `update_event_status_draft`, `update_event_status_live`, `update_event_status_playout`, `update_event_status_archived`, `create_image`, `update_image_own`, `read_image`, `delete_image_own`, `update_image_others`, `delete_image_others`, `read_changes`, `undo_changes`, `read_user_stats`, `read_comment`, `update_comment_status_lock`, `update_comment_status_read`, `upload_audio_recordings`, `delete_audio_recordings`, `read_playout`, `create_download`) VALUES (2,1,1,'Editorial',2,0,NULL,'2023-02-19 21:32:32',0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,1,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,1,1);
|
||||||
INSERT INTO `calcms_roles` (`id`, `project_id`, `studio_id`, `role`, `level`, `created_at`, `modified_at`, `read_role`, `update_role`, `read_user_role`, `create_user`, `read_user`, `update_user`, `delete_user`, `update_user_role`, `disable_user`, `create_project`, `read_project`, `update_project`, `delete_project`, `assign_project_studio`, `create_studio`, `read_studio`, `update_studio`, `delete_studio`, `read_studio_timeslot_schedule`, `update_studio_timeslot_schedule`, `create_series`, `read_series`, `update_series`, `delete_series`, `update_series_template`, `assign_series_member`, `remove_series_member`, `scan_series_events`, `assign_series_events`, `read_schedule`, `update_schedule`, `delete_schedule`, `create_event`, `create_event_from_schedule`, `create_event_of_series`, `read_event`, `delete_event`, `update_event_of_series`, `update_event_of_others`, `update_event_time`, `update_event_after_week`, `update_event_field_title`, `update_event_field_title_extension`, `update_event_field_excerpt`, `update_event_field_content`, `update_event_field_content_format`, `update_event_field_description`, `update_event_field_topic`, `update_event_field_episode`, `update_event_field_excerpt_extension`, `update_event_field_image`, `update_event_field_podcast_url`, `update_event_field_archive_url`, `update_event_status_disable_event_sync`, `update_event_status_published`, `update_event_status_rerun`, `update_event_status_draft`, `update_event_status_live`, `update_event_status_playout`, `update_event_status_archived`, `create_image`, `update_image_own`, `read_image`, `delete_image_own`, `update_image_others`, `delete_image_others`, `read_changes`, `undo_changes`, `read_user_stats`, `read_comment`, `update_comment_status_lock`, `update_comment_status_read`, `upload_audio_recordings`, `delete_audio_recordings`, `read_playout`, `create_download`) VALUES (25,1,1,'Guest',1,NULL,'2023-02-19 21:32:32',0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
|
INSERT INTO `calcms_roles` (`id`, `project_id`, `studio_id`, `role`, `level`, `admin`, `created_at`, `modified_at`, `read_role`, `update_role`, `read_user_role`, `create_user`, `read_user`, `update_user`, `delete_user`, `update_user_role`, `disable_user`, `create_project`, `read_project`, `update_project`, `delete_project`, `assign_project_studio`, `create_studio`, `read_studio`, `update_studio`, `delete_studio`, `read_studio_timeslot_schedule`, `update_studio_timeslot_schedule`, `create_series`, `read_series`, `update_series`, `delete_series`, `update_series_template`, `assign_series_member`, `remove_series_member`, `scan_series_events`, `assign_series_events`, `read_schedule`, `update_schedule`, `delete_schedule`, `create_event`, `create_event_from_schedule`, `create_event_of_series`, `read_event`, `delete_event`, `update_event_of_series`, `update_event_of_others`, `update_event_time`, `update_event_after_week`, `update_event_field_title`, `update_event_field_title_extension`, `update_event_field_excerpt`, `update_event_field_content`, `update_event_field_content_format`, `update_event_field_description`, `update_event_field_topic`, `update_event_field_episode`, `update_event_field_excerpt_extension`, `update_event_field_image`, `update_event_field_podcast_url`, `update_event_field_archive_url`, `update_event_status_disable_event_sync`, `update_event_status_published`, `update_event_status_rerun`, `update_event_status_draft`, `update_event_status_live`, `update_event_status_playout`, `update_event_status_archived`, `create_image`, `update_image_own`, `read_image`, `delete_image_own`, `update_image_others`, `delete_image_others`, `read_changes`, `undo_changes`, `read_user_stats`, `read_comment`, `update_comment_status_lock`, `update_comment_status_read`, `upload_audio_recordings`, `delete_audio_recordings`, `read_playout`, `create_download`) VALUES (25,1,1,'Guest',1,0,NULL,'2023-02-19 21:32:32',0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
|
||||||
/*!40000 ALTER TABLE `calcms_roles` ENABLE KEYS */;
|
/*!40000 ALTER TABLE `calcms_roles` ENABLE KEYS */;
|
||||||
UNLOCK TABLES;
|
UNLOCK TABLES;
|
||||||
|
|
||||||
@@ -1306,7 +1307,6 @@ CREATE TABLE `calcms_studios` (
|
|||||||
`location` varchar(100) NOT NULL,
|
`location` varchar(100) NOT NULL,
|
||||||
`stream` varchar(100) NOT NULL,
|
`stream` varchar(100) NOT NULL,
|
||||||
`image` varchar(200) NOT NULL,
|
`image` varchar(200) NOT NULL,
|
||||||
`google_calendar` varchar(100) NOT NULL,
|
|
||||||
`created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
|
`created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
`modified_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
`modified_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||||
PRIMARY KEY (`id`) USING BTREE,
|
PRIMARY KEY (`id`) USING BTREE,
|
||||||
@@ -1322,7 +1322,7 @@ CREATE TABLE `calcms_studios` (
|
|||||||
|
|
||||||
LOCK TABLES `calcms_studios` WRITE;
|
LOCK TABLES `calcms_studios` WRITE;
|
||||||
/*!40000 ALTER TABLE `calcms_studios` DISABLE KEYS */;
|
/*!40000 ALTER TABLE `calcms_studios` DISABLE KEYS */;
|
||||||
INSERT INTO `calcms_studios` (`id`, `name`, `description`, `location`, `stream`, `image`, `google_calendar`, `created_at`, `modified_at`) VALUES (1,'My Studio','My Radio Studio','studio','','','https://my-radio.org',NULL,'2023-02-19 21:17:18');
|
INSERT INTO `calcms_studios` (`id`, `name`, `description`, `location`, `stream`, `image`, `created_at`, `modified_at`) VALUES (1,'My Studio','My Radio Studio','studio','','',NULL,'2023-02-19 21:17:18');
|
||||||
/*!40000 ALTER TABLE `calcms_studios` ENABLE KEYS */;
|
/*!40000 ALTER TABLE `calcms_studios` ENABLE KEYS */;
|
||||||
UNLOCK TABLES;
|
UNLOCK TABLES;
|
||||||
|
|
||||||
@@ -1770,7 +1770,7 @@ UNLOCK TABLES;
|
|||||||
|
|
||||||
-- Dump completed on 2023-02-19 23:01:42
|
-- Dump completed on 2023-02-19 23:01:42
|
||||||
|
|
||||||
CREATE TABLE `coloradio`.`calcms_help_texts` (
|
CREATE TABLE `calcms_help_texts` (
|
||||||
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||||
`project_id` INT UNSIGNED NOT NULL,
|
`project_id` INT UNSIGNED NOT NULL,
|
||||||
`studio_id` INT UNSIGNED NOT NULL,
|
`studio_id` INT UNSIGNED NOT NULL,
|
||||||
|
|||||||
@@ -274,23 +274,22 @@ ADD COLUMN `listen_key` VARCHAR(100) NULL;
|
|||||||
ALTER TABLE `calcms_audio_recordings`
|
ALTER TABLE `calcms_audio_recordings`
|
||||||
ADD COLUMN `active` TINYINT(1) NOT NULL DEFAULT 0 AFTER `event_id`;
|
ADD COLUMN `active` TINYINT(1) NOT NULL DEFAULT 0 AFTER `event_id`;
|
||||||
|
|
||||||
ALTER TABLE `calcms`.`calcms_audio_recordings`
|
ALTER TABLE `calcms_audio_recordings`
|
||||||
ADD INDEX `active_index` (`active`);
|
ADD INDEX `active_index` (`active`);
|
||||||
|
|
||||||
ALTER TABLE `calcms`.`calcms_events`
|
ALTER TABLE `calcms_events`
|
||||||
DROP COLUMN `category_count`,
|
DROP COLUMN `category_count`,
|
||||||
DROP COLUMN `category`,
|
DROP COLUMN `category`,
|
||||||
DROP INDEX `category` ;
|
DROP INDEX `category` ;
|
||||||
;
|
|
||||||
ALTER TABLE `calcms`.`calcms_event_history`
|
ALTER TABLE `calcms_event_history`
|
||||||
DROP COLUMN `category_count`,
|
DROP COLUMN `category_count`,
|
||||||
DROP COLUMN `category`,
|
DROP COLUMN `category`,
|
||||||
DROP INDEX `category` ;
|
DROP INDEX `category` ;
|
||||||
;
|
|
||||||
|
|
||||||
ALTER TABLE calcms_user_series DROP COLUMN active;
|
ALTER TABLE calcms_user_series DROP COLUMN active;
|
||||||
|
|
||||||
CREATE TABLE `coloradio`.`calcms_help_texts` (
|
CREATE TABLE `calcms_help_texts` (
|
||||||
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||||
`project_id` INT UNSIGNED NOT NULL,
|
`project_id` INT UNSIGNED NOT NULL,
|
||||||
`studio_id` INT UNSIGNED NOT NULL,
|
`studio_id` INT UNSIGNED NOT NULL,
|
||||||
@@ -301,3 +300,9 @@ CREATE TABLE `coloradio`.`calcms_help_texts` (
|
|||||||
PRIMARY KEY (`id`));
|
PRIMARY KEY (`id`));
|
||||||
|
|
||||||
ALTER TABLE `calcms_roles` ADD COLUMN `edit_help_texts` INT(1) UNSIGNED NOT NULL;
|
ALTER TABLE `calcms_roles` ADD COLUMN `edit_help_texts` INT(1) UNSIGNED NOT NULL;
|
||||||
|
|
||||||
|
-- admin roles
|
||||||
|
ALTER TABLE `calcms_roles` ADD COLUMN `admin` INT(1) UNSIGNED NOT NULL DEFAULT 0 AFTER `level`;
|
||||||
|
update calcms_roles set admin=1 where role = 'Admin';
|
||||||
|
|
||||||
|
ALTER TABLE calcms_studios DROP COLUMN google_calendar;
|
||||||
|
|||||||
@@ -1841,3 +1841,4 @@ sub get_keys($) {
|
|||||||
|
|
||||||
#do not delete last line!
|
#do not delete last line!
|
||||||
1;
|
1;
|
||||||
|
|
||||||
|
|||||||
@@ -1,162 +0,0 @@
|
|||||||
package roles;
|
|
||||||
|
|
||||||
use strict;
|
|
||||||
use warnings;
|
|
||||||
no warnings 'redefine';
|
|
||||||
|
|
||||||
use Apache2::Reload();
|
|
||||||
|
|
||||||
use config();
|
|
||||||
|
|
||||||
#use base 'Exporter';
|
|
||||||
my @EXPORT_OK = qw(get_user get_user_permissions get_template_parameters get_jobs);
|
|
||||||
|
|
||||||
my $ROLES = {
|
|
||||||
'admin' => {
|
|
||||||
access_events => 1,
|
|
||||||
access_images => 1,
|
|
||||||
access_comments => 1,
|
|
||||||
access_sync => 1,
|
|
||||||
access_system => 1,
|
|
||||||
read_event_all => 1,
|
|
||||||
create_event => 1,
|
|
||||||
delete_event => 1,
|
|
||||||
update_comment => 1,
|
|
||||||
create_image => 1,
|
|
||||||
read_image_own => 1,
|
|
||||||
read_image_all => 1,
|
|
||||||
update_image_own => 1,
|
|
||||||
update_image_all => 1,
|
|
||||||
delete_image_own => 1,
|
|
||||||
delete_image_all => 1,
|
|
||||||
sync_own => 1,
|
|
||||||
sync_all => 1,
|
|
||||||
sync_select_range => 1,
|
|
||||||
upload_playlist => 1,
|
|
||||||
},
|
|
||||||
'dev' => {
|
|
||||||
access_events => 1,
|
|
||||||
access_images => 1,
|
|
||||||
access_comments => 1,
|
|
||||||
access_sync => 1,
|
|
||||||
access_system => 0,
|
|
||||||
read_event_all => 1,
|
|
||||||
create_event => 1,
|
|
||||||
delete_event => 1,
|
|
||||||
update_comment => 1,
|
|
||||||
create_image => 1,
|
|
||||||
read_image_own => 1,
|
|
||||||
read_image_all => 1,
|
|
||||||
update_image_own => 1,
|
|
||||||
update_image_all => 1,
|
|
||||||
delete_image_own => 1,
|
|
||||||
delete_image_all => 1,
|
|
||||||
sync_own => 0,
|
|
||||||
sync_all => 1,
|
|
||||||
sync_select_range => 1,
|
|
||||||
upload_playlist => 1,
|
|
||||||
},
|
|
||||||
'editor' => {
|
|
||||||
access_events => 1,
|
|
||||||
access_images => 1,
|
|
||||||
access_comments => 1,
|
|
||||||
access_sync => 1,
|
|
||||||
access_system => 0,
|
|
||||||
read_event_all => 0,
|
|
||||||
create_event => 1,
|
|
||||||
delete_event => 0,
|
|
||||||
update_comment => 0,
|
|
||||||
create_image => 1,
|
|
||||||
read_image_own => 1,
|
|
||||||
read_image_all => 1,
|
|
||||||
update_image_own => 1,
|
|
||||||
update_image_all => 0,
|
|
||||||
delete_image_own => 1,
|
|
||||||
delete_image_all => 0,
|
|
||||||
sync_own => 1,
|
|
||||||
sync_all => 0,
|
|
||||||
sync_select_range => 0,
|
|
||||||
upload_playlist => 1,
|
|
||||||
},
|
|
||||||
'nobody' => {
|
|
||||||
access_events => 0,
|
|
||||||
access_images => 0,
|
|
||||||
access_comments => 0,
|
|
||||||
access_sync => 0,
|
|
||||||
access_system => 0,
|
|
||||||
read_event_all => 0,
|
|
||||||
create_event => 0,
|
|
||||||
delete_event => 0,
|
|
||||||
update_comment => 0,
|
|
||||||
create_image => 0,
|
|
||||||
read_image_own => 0,
|
|
||||||
read_image_all => 0,
|
|
||||||
update_image_own => 0,
|
|
||||||
update_image_all => 0,
|
|
||||||
delete_image_own => 0,
|
|
||||||
delete_image_all => 0,
|
|
||||||
sync_own => 0,
|
|
||||||
sync_all => 0,
|
|
||||||
sync_select_range => 0,
|
|
||||||
upload_playlist => 0,
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
sub get_user($) {
|
|
||||||
my $config = shift;
|
|
||||||
|
|
||||||
my $user = $ENV{REMOTE_USER};
|
|
||||||
my $users = $config->{users};
|
|
||||||
return $user if defined $users->{$user};
|
|
||||||
return 'nobody';
|
|
||||||
}
|
|
||||||
|
|
||||||
sub get_user_permissions($) {
|
|
||||||
my $config = shift;
|
|
||||||
|
|
||||||
my $user = $ENV{REMOTE_USER} || '';
|
|
||||||
my $roles = $roles::ROLES;
|
|
||||||
return $roles->{nobody} unless $user =~ /\S/;
|
|
||||||
my $users = $config->{users};
|
|
||||||
if ( defined $users->{$user} ) {
|
|
||||||
my $role = $users->{$user};
|
|
||||||
return $roles->{$role} if defined $roles->{$role};
|
|
||||||
}
|
|
||||||
return $roles->{nobody};
|
|
||||||
}
|
|
||||||
|
|
||||||
sub get_user_jobs ($;$) {
|
|
||||||
my $config = shift;
|
|
||||||
|
|
||||||
my $user = $ENV{REMOTE_USER} || '';
|
|
||||||
return [] unless ( $user =~ /\S/ );
|
|
||||||
my $result = [];
|
|
||||||
my $jobs = $config->{jobs}->{job};
|
|
||||||
|
|
||||||
for my $job (@$jobs) {
|
|
||||||
for my $job_user ( split /\,/, $job->{users} ) {
|
|
||||||
push @$result, $job if ( $user eq $job_user );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return $result;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub get_jobs($) {
|
|
||||||
my $config = shift;
|
|
||||||
|
|
||||||
return $config->{jobs}->{job};
|
|
||||||
}
|
|
||||||
|
|
||||||
sub get_template_parameters($$) {
|
|
||||||
my $config = shift;
|
|
||||||
my $user_permissions = shift;
|
|
||||||
|
|
||||||
$user_permissions = roles::get_user_permissions($config) unless defined $user_permissions;
|
|
||||||
my @user_permissions = ();
|
|
||||||
for my $usecase ( keys %$user_permissions ) {
|
|
||||||
push @user_permissions, $usecase if $user_permissions->{$usecase} eq '1';
|
|
||||||
}
|
|
||||||
return \@user_permissions;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
@@ -18,7 +18,6 @@ use config();
|
|||||||
use params();
|
use params();
|
||||||
use project();
|
use project();
|
||||||
use log();
|
use log();
|
||||||
use roles();
|
|
||||||
|
|
||||||
#use base 'Exporter';
|
#use base 'Exporter';
|
||||||
our @EXPORT_OK = qw(check process exit_on_missing_permission clear_cache);
|
our @EXPORT_OK = qw(check process exit_on_missing_permission clear_cache);
|
||||||
@@ -45,26 +44,6 @@ sub process($$$$) {
|
|||||||
|
|
||||||
$params->{user} = $ENV{REMOTE_USER} unless defined $params->{user};
|
$params->{user} = $ENV{REMOTE_USER} unless defined $params->{user};
|
||||||
|
|
||||||
my $user_permissions = roles::get_user_permissions($config);
|
|
||||||
for my $permission ( keys %$user_permissions ) {
|
|
||||||
$params->{$permission} = $user_permissions->{$permission}
|
|
||||||
if ( $user_permissions->{$permission} eq '1' );
|
|
||||||
}
|
|
||||||
|
|
||||||
$params->{jobs} = roles::get_user_jobs($config);
|
|
||||||
if ( ( $filename =~ /json\-p/ ) || (params::isJson) ) {
|
|
||||||
my $header = "Content-type:application/json; charset=utf-8\n\n";
|
|
||||||
my $json = JSON->new->pretty(1)->canonical()->encode($params);
|
|
||||||
|
|
||||||
$json = $header . $params->{json_callback} . $json;
|
|
||||||
if ( ( defined $_[1] ) && ( $_[1] eq 'print' ) ) {
|
|
||||||
print $json. "\n";
|
|
||||||
} else {
|
|
||||||
$_[1] = $json . "\n";
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
unless ( -r $filename ) {
|
unless ( -r $filename ) {
|
||||||
log::error( $config, qq{template "$filename" does not exist} ) unless -e $filename;
|
log::error( $config, qq{template "$filename" does not exist} ) unless -e $filename;
|
||||||
log::error( $config, qq{missing permissions to read "$filename"} );
|
log::error( $config, qq{missing permissions to read "$filename"} );
|
||||||
@@ -207,22 +186,5 @@ sub check($;$$) {
|
|||||||
return $template;
|
return $template;
|
||||||
}
|
}
|
||||||
|
|
||||||
#deprecated (for old admin only)
|
|
||||||
sub exit_on_missing_permission($$) {
|
|
||||||
my $config = shift;
|
|
||||||
my $permission = shift;
|
|
||||||
|
|
||||||
my $user_permissions = roles::get_user_permissions($config);
|
|
||||||
if ( $user_permissions->{$permission} ne '1' ) {
|
|
||||||
print STDERR "missing permission to $permission\n";
|
|
||||||
template::process(
|
|
||||||
$config, 'print',
|
|
||||||
template::check( $config, 'default.html' ),
|
|
||||||
{ error => 'sorry, missing permission!' }
|
|
||||||
);
|
|
||||||
die();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#do not delete last line!
|
#do not delete last line!
|
||||||
1;
|
1;
|
||||||
|
|||||||
@@ -456,7 +456,7 @@ sub get_admin_user_roles ($$) {
|
|||||||
my $query = qq{
|
my $query = qq{
|
||||||
select distinct r.*, ur.studio_id, ur.project_id
|
select distinct r.*, ur.studio_id, ur.project_id
|
||||||
from calcms_users u, calcms_user_roles ur, calcms_roles r
|
from calcms_users u, calcms_user_roles ur, calcms_roles r
|
||||||
where ur.user_id=u.id and ur.role_id=r.id and r.role='Admin'
|
where ur.user_id=u.id and ur.role_id=r.id and r.admin=1
|
||||||
$conditions
|
$conditions
|
||||||
limit 1
|
limit 1
|
||||||
};
|
};
|
||||||
@@ -735,6 +735,11 @@ sub get_user_presets($$) {
|
|||||||
|
|
||||||
my $permissions =
|
my $permissions =
|
||||||
uac::get_user_permissions( $config, { user => $user, project_id => $project_id, studio_id => $studio_id } );
|
uac::get_user_permissions( $config, { user => $user, project_id => $project_id, studio_id => $studio_id } );
|
||||||
|
if ($permissions->{admin} == 1) {
|
||||||
|
for my $key (keys %$permissions) {
|
||||||
|
$permissions->{$key} = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#only admin is allowed to select all projects
|
#only admin is allowed to select all projects
|
||||||
# if($permissions->{is_admin}==1){
|
# if($permissions->{is_admin}==1){
|
||||||
|
|||||||
42
tools/remove-recordings.pl
Normal file
42
tools/remove-recordings.pl
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
#! /usr/bin/perl
|
||||||
|
|
||||||
|
use warnings;
|
||||||
|
use strict;
|
||||||
|
use Data::Dumper;
|
||||||
|
use List::Util qw();
|
||||||
|
|
||||||
|
use FindBin qw($Bin);
|
||||||
|
use lib "$Bin/../lib/calcms";
|
||||||
|
use config;
|
||||||
|
use time;
|
||||||
|
use db;
|
||||||
|
use File::Basename qw(basename);
|
||||||
|
my $config = config::get(pop @ARGV);
|
||||||
|
my $delete = grep {$_ eq "--delete"} @ARGV;
|
||||||
|
|
||||||
|
my $dbh = db::connect($config);
|
||||||
|
my $query = qq{
|
||||||
|
select start, path
|
||||||
|
from calcms_events e, calcms_audio_recordings r
|
||||||
|
where e.id = r.event_id
|
||||||
|
and e.start > date_add(now(), INTERVAL -14 DAY)
|
||||||
|
};
|
||||||
|
my $entries = db::get($dbh, $query);
|
||||||
|
my %paths = map {normalize($_->{path}) => $_->{start}} @$entries;
|
||||||
|
|
||||||
|
my $dir = $config->{locations}->{local_audio_recordings_dir};
|
||||||
|
for my $file (sort glob("$dir/*m4a")) {
|
||||||
|
next if -M $file < 14;
|
||||||
|
my $filename = normalize($file);
|
||||||
|
unless (exists $paths{$filename}) {
|
||||||
|
print " --- $filename\n";
|
||||||
|
unlink $file or die $! if $delete;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sub normalize {
|
||||||
|
my $s = shift;
|
||||||
|
$s = basename $s;
|
||||||
|
$s =~ s/\.master(\.\w+)$/$1/;
|
||||||
|
return $s;
|
||||||
|
}
|
||||||
@@ -72,6 +72,7 @@ domain ${DOMAIN}
|
|||||||
# multi language support
|
# multi language support
|
||||||
admin_pot_dir ${BASE_DIR}/agenda/planung/pot/
|
admin_pot_dir ${BASE_DIR}/agenda/planung/pot/
|
||||||
email info@${DOMAIN}
|
email info@${DOMAIN}
|
||||||
|
event_sender_email programm@${DOMAIN}
|
||||||
theme default
|
theme default
|
||||||
</locations>
|
</locations>
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,6 @@ use log();
|
|||||||
use template();
|
use template();
|
||||||
use auth();
|
use auth();
|
||||||
use uac();
|
use uac();
|
||||||
use roles();
|
|
||||||
use project();
|
use project();
|
||||||
use studios();
|
use studios();
|
||||||
use events();
|
use events();
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ use log();
|
|||||||
use template();
|
use template();
|
||||||
use auth();
|
use auth();
|
||||||
use uac();
|
use uac();
|
||||||
use roles();
|
|
||||||
use project();
|
use project();
|
||||||
use studios();
|
use studios();
|
||||||
use events();
|
use events();
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ use template();
|
|||||||
use calendar();
|
use calendar();
|
||||||
use auth();
|
use auth();
|
||||||
use uac();
|
use uac();
|
||||||
use roles();
|
|
||||||
use project();
|
use project();
|
||||||
use studios();
|
use studios();
|
||||||
use events();
|
use events();
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ use db();
|
|||||||
use auth();
|
use auth();
|
||||||
use uac();
|
use uac();
|
||||||
|
|
||||||
#use roles;
|
|
||||||
use time();
|
use time();
|
||||||
use markup();
|
use markup();
|
||||||
use project();
|
use project();
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ use log();
|
|||||||
use template();
|
use template();
|
||||||
use auth();
|
use auth();
|
||||||
use uac();
|
use uac();
|
||||||
use roles();
|
|
||||||
use studios();
|
use studios();
|
||||||
use markup();
|
use markup();
|
||||||
use localization();
|
use localization();
|
||||||
|
|||||||
@@ -202,12 +202,12 @@ sub getMail {
|
|||||||
$event->{noRecipient} = 1;
|
$event->{noRecipient} = 1;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
my $sender = $config->{location}->{event_sender_email};
|
||||||
my $mail = {
|
my $mail = {
|
||||||
'From' => 'programm@radiopiloten.de',
|
'From' => $sender,
|
||||||
'To' => join( ', ', @$userMails ),
|
'To' => join( ', ', @$userMails ),
|
||||||
'Cc' => 'programm@radiopiloten.de',
|
'Cc' => $sender,
|
||||||
'Reply-To' => 'programm@radiopiloten.de',
|
'Reply-To' => $sender,
|
||||||
'Subject' => "$event->{start} - $event->{full_title}",
|
'Subject' => "$event->{start} - $event->{full_title}",
|
||||||
'Data' => "Hallo " . join( ' und ', @$userNames ) . ",\n\n"
|
'Data' => "Hallo " . join( ' und ', @$userNames ) . ",\n\n"
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -15,7 +15,6 @@ use log();
|
|||||||
use template();
|
use template();
|
||||||
use auth();
|
use auth();
|
||||||
use uac();
|
use uac();
|
||||||
use roles();
|
|
||||||
use project();
|
use project();
|
||||||
use studios();
|
use studios();
|
||||||
use events();
|
use events();
|
||||||
|
|||||||
@@ -40,6 +40,3 @@ msgstr "Logo"
|
|||||||
msgid "label_stream"
|
msgid "label_stream"
|
||||||
msgstr "Stream-URL"
|
msgstr "Stream-URL"
|
||||||
|
|
||||||
msgid "label_google_calendar"
|
|
||||||
msgstr "Google Kalender"
|
|
||||||
|
|
||||||
|
|||||||
@@ -39,7 +39,3 @@ msgstr "image"
|
|||||||
|
|
||||||
msgid "label_stream"
|
msgid "label_stream"
|
||||||
msgstr "stream"
|
msgstr "stream"
|
||||||
|
|
||||||
msgid "label_google_calendar"
|
|
||||||
msgstr "google_calendar"
|
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ use params();
|
|||||||
use log();
|
use log();
|
||||||
use template();
|
use template();
|
||||||
use auth();
|
use auth();
|
||||||
use roles();
|
|
||||||
use uac();
|
use uac();
|
||||||
use studios();
|
use studios();
|
||||||
use series();
|
use series();
|
||||||
@@ -26,7 +25,6 @@ my $config = config::get('../config/config.cgi');
|
|||||||
my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
|
my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
|
||||||
return if ( $user eq '' );
|
return if ( $user eq '' );
|
||||||
|
|
||||||
my $permissions = roles::get_user_permissions($config);
|
|
||||||
my $user_presets = uac::get_user_presets(
|
my $user_presets = uac::get_user_presets(
|
||||||
$config,
|
$config,
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ use entry();
|
|||||||
use log();
|
use log();
|
||||||
use template();
|
use template();
|
||||||
use auth();
|
use auth();
|
||||||
use roles();
|
|
||||||
use uac();
|
use uac();
|
||||||
use studios();
|
use studios();
|
||||||
use localization();
|
use localization();
|
||||||
@@ -152,8 +151,14 @@ sub save_roles {
|
|||||||
}
|
}
|
||||||
} elsif ( $column eq 'role' ) {
|
} elsif ( $column eq 'role' ) {
|
||||||
$values->{$id}->{$column} = $value;
|
$values->{$id}->{$column} = $value;
|
||||||
|
} elsif ( $column eq 'admin' ) {
|
||||||
|
if ( $permissions->{is_admin} ){
|
||||||
|
$values->{$id}->{$column} = $value;
|
||||||
|
} else {
|
||||||
|
uac::permissions_denied("set admin!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
} elsif ( $column eq 'id' || $column eq 'project_id' || $column eq 'studio_id' ) {
|
} elsif ( $column eq 'id' || $column eq 'project_id' || $column eq 'studio_id' ) {
|
||||||
|
|
||||||
#id and studio id will be set later
|
#id and studio id will be set later
|
||||||
} else {
|
} else {
|
||||||
$values->{$id}->{$column} = 1 if ( $value =~ /^\d+$/ );
|
$values->{$id}->{$column} = 1 if ( $value =~ /^\d+$/ );
|
||||||
@@ -310,7 +315,6 @@ sub show_roles {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for my $role (@$roles) {
|
for my $role (@$roles) {
|
||||||
|
|
||||||
my $id = $role->{id} || '';
|
my $id = $role->{id} || '';
|
||||||
my $value = $role->{role} || '';
|
my $value = $role->{role} || '';
|
||||||
my $style = '';
|
my $style = '';
|
||||||
|
|||||||
@@ -16,7 +16,6 @@ use log();
|
|||||||
use template();
|
use template();
|
||||||
use auth();
|
use auth();
|
||||||
use uac();
|
use uac();
|
||||||
use roles();
|
|
||||||
use project();
|
use project();
|
||||||
use studios();
|
use studios();
|
||||||
use events();
|
use events();
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ use log();
|
|||||||
use template();
|
use template();
|
||||||
use auth();
|
use auth();
|
||||||
use uac();
|
use uac();
|
||||||
use roles();
|
|
||||||
use project();
|
use project();
|
||||||
use studios();
|
use studios();
|
||||||
use studio_timeslot_schedule();
|
use studio_timeslot_schedule();
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ use params();
|
|||||||
use log();
|
use log();
|
||||||
use template();
|
use template();
|
||||||
use auth();
|
use auth();
|
||||||
use roles();
|
|
||||||
use uac();
|
use uac();
|
||||||
use studios();
|
use studios();
|
||||||
use series();
|
use series();
|
||||||
@@ -26,7 +25,6 @@ my $config = config::get('../config/config.cgi');
|
|||||||
my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
|
my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
|
||||||
return if ( $user eq '' );
|
return if ( $user eq '' );
|
||||||
|
|
||||||
my $permissions = roles::get_user_permissions($config);
|
|
||||||
my $user_presets = uac::get_user_presets(
|
my $user_presets = uac::get_user_presets(
|
||||||
$config,
|
$config,
|
||||||
{
|
{
|
||||||
@@ -220,7 +218,7 @@ sub check_params {
|
|||||||
$checked->{action} = entry::element_of( $params->{action}, ['save', 'delete']);
|
$checked->{action} = entry::element_of( $params->{action}, ['save', 'delete']);
|
||||||
|
|
||||||
entry::set_strings( $checked, $params, [
|
entry::set_strings( $checked, $params, [
|
||||||
'name', 'description', 'location', 'stream', 'google_calendar', 'image', 'setImage' ]);
|
'name', 'description', 'location', 'stream', 'image', 'setImage' ]);
|
||||||
|
|
||||||
entry::set_numbers( $checked, $params, [
|
entry::set_numbers( $checked, $params, [
|
||||||
'project_id', 'studio_id', 'default_studio_id', 'id'
|
'project_id', 'studio_id', 'default_studio_id', 'id'
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ use template();
|
|||||||
use auth();
|
use auth();
|
||||||
use entry();
|
use entry();
|
||||||
use uac();
|
use uac();
|
||||||
use roles();
|
|
||||||
use project();
|
use project();
|
||||||
use studios();
|
use studios();
|
||||||
use params();
|
use params();
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ use log();
|
|||||||
use template();
|
use template();
|
||||||
use auth();
|
use auth();
|
||||||
use uac();
|
use uac();
|
||||||
use roles();
|
|
||||||
use project();
|
use project();
|
||||||
use studios();
|
use studios();
|
||||||
use params();
|
use params();
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ use log();
|
|||||||
use template();
|
use template();
|
||||||
use auth();
|
use auth();
|
||||||
use uac();
|
use uac();
|
||||||
use roles();
|
|
||||||
use studios();
|
use studios();
|
||||||
use params();
|
use params();
|
||||||
use localization();
|
use localization();
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ use log();
|
|||||||
use template();
|
use template();
|
||||||
use auth();
|
use auth();
|
||||||
use uac();
|
use uac();
|
||||||
use roles();
|
|
||||||
use project();
|
use project();
|
||||||
use studios();
|
use studios();
|
||||||
use work_schedule();
|
use work_schedule();
|
||||||
|
|||||||
Reference in New Issue
Block a user