{"action":"closed","number":728,"pull_request":{"url":"https://api.github.com/repos/openSUSE/osem/pulls/728","id":48656135,"html_url":"https://github.com/openSUSE/osem/pull/728","diff_url":"https://github.com/openSUSE/osem/pull/728.diff","patch_url":"https://github.com/openSUSE/osem/pull/728.patch","issue_url":"https://api.github.com/repos/openSUSE/osem/issues/728","number":728,"state":"closed","locked":false,"title":"Introduce Program ","user":{"login":"differentreality","id":4322737,"avatar_url":"https://avatars.githubusercontent.com/u/4322737?v=3","gravatar_id":"","url":"https://api.github.com/users/differentreality","html_url":"https://github.com/differentreality","followers_url":"https://api.github.com/users/differentreality/followers","following_url":"https://api.github.com/users/differentreality/following{/other_user}","gists_url":"https://api.github.com/users/differentreality/gists{/gist_id}","starred_url":"https://api.github.com/users/differentreality/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/differentreality/subscriptions","organizations_url":"https://api.github.com/users/differentreality/orgs","repos_url":"https://api.github.com/users/differentreality/repos","events_url":"https://api.github.com/users/differentreality/events{/privacy}","received_events_url":"https://api.github.com/users/differentreality/received_events","type":"User","site_admin":false},"body":"https://github.com/openSUSE/osem/issues/417\r\nProgram includes cfp, rooms, tracks, events, event_types, difficulty_levels.\r\n\r\n* Rename call_for_paper -> to cfp\r\n* After conference creation, a program is automatically created too\r\n* **Routes** changed, eg. admin_conference_events_path -> admin_conference_program_events_path\r\n* Program can be managed by the same roles as CallForPaper was (that's organizer and cfp)\r\n* ahoy/program.rb model authomatically created\r\n* **Methods** still in **Cfp** model (the ones that explicitely  concern the call for papers, and not the program of the conference in general): \r\n  * notify_on_cfp_date_update?\r\n  * weeks\r\n  * start_week\r\n  * end_week\r\n  * remaining_days\r\n* Methods moved in **Program**:\r\n  *  rating_enabled? (new method)\r\n  * cfp_open?\r\n  * notify_on_schedule_public?\r\n \r\n* Program vs Cfp: A conference can have a program (submitted proposals, rating of proposals, schedule, tracks, etc) without opening a public Call for Papers.\r\n* Rename schedule_changes -> schedule_fluid\r\n* Rooms belong to venue\r\n* Added validation check for conference_id and venue_id: https://github.com/differentreality/osem/blob/refactor_conference_program/app/models/venue.rb#L8 and https://github.com/differentreality/osem/blob/refactor_conference_program/app/models/room.rb#L9\r\n* New ability: do not delete venue, if there are rooms assigned to events https://github.com/differentreality/osem/blob/refactor_conference_program/app/models/ability.rb#L109\r\n\r\nI also stumbled upon a difference in handling not null constraint in mysql and sqlite. Plz check last commit.","created_at":"2015-10-24T13:35:10Z","updated_at":"2016-02-06T16:48:48Z","closed_at":"2016-02-06T16:48:48Z","merged_at":null,"merge_commit_sha":"b0974af9d3758b88f051915fbce451af77f0def4","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/openSUSE/osem/pulls/728/commits","review_comments_url":"https://api.github.com/repos/openSUSE/osem/pulls/728/comments","review_comment_url":"https://api.github.com/repos/openSUSE/osem/pulls/comments{/number}","comments_url":"https://api.github.com/repos/openSUSE/osem/issues/728/comments","statuses_url":"https://api.github.com/repos/openSUSE/osem/statuses/ea17c0eacc645e41a6b237dfd2c25fbdf51da56c","head":{"label":"differentreality:refactor_conference_program","ref":"refactor_conference_program","sha":"ea17c0eacc645e41a6b237dfd2c25fbdf51da56c","user":{"login":"differentreality","id":4322737,"avatar_url":"https://avatars.githubusercontent.com/u/4322737?v=3","gravatar_id":"","url":"https://api.github.com/users/differentreality","html_url":"https://github.com/differentreality","followers_url":"https://api.github.com/users/differentreality/followers","following_url":"https://api.github.com/users/differentreality/following{/other_user}","gists_url":"https://api.github.com/users/differentreality/gists{/gist_id}","starred_url":"https://api.github.com/users/differentreality/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/differentreality/subscriptions","organizations_url":"https://api.github.com/users/differentreality/orgs","repos_url":"https://api.github.com/users/differentreality/repos","events_url":"https://api.github.com/users/differentreality/events{/privacy}","received_events_url":"https://api.github.com/users/differentreality/received_events","type":"User","site_admin":false},"repo":{"id":9815207,"name":"osem","full_name":"differentreality/osem","owner":{"login":"differentreality","id":4322737,"avatar_url":"https://avatars.githubusercontent.com/u/4322737?v=3","gravatar_id":"","url":"https://api.github.com/users/differentreality","html_url":"https://github.com/differentreality","followers_url":"https://api.github.com/users/differentreality/followers","following_url":"https://api.github.com/users/differentreality/following{/other_user}","gists_url":"https://api.github.com/users/differentreality/gists{/gist_id}","starred_url":"https://api.github.com/users/differentreality/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/differentreality/subscriptions","organizations_url":"https://api.github.com/users/differentreality/orgs","repos_url":"https://api.github.com/users/differentreality/repos","events_url":"https://api.github.com/users/differentreality/events{/privacy}","received_events_url":"https://api.github.com/users/differentreality/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/differentreality/osem","description":"Open Source Event Manager","fork":true,"url":"https://api.github.com/repos/differentreality/osem","forks_url":"https://api.github.com/repos/differentreality/osem/forks","keys_url":"https://api.github.com/repos/differentreality/osem/keys{/key_id}","collaborators_url":"https://api.github.com/repos/differentreality/osem/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/differentreality/osem/teams","hooks_url":"https://api.github.com/repos/differentreality/osem/hooks","issue_events_url":"https://api.github.com/repos/differentreality/osem/issues/events{/number}","events_url":"https://api.github.com/repos/differentreality/osem/events","assignees_url":"https://api.github.com/repos/differentreality/osem/assignees{/user}","branches_url":"https://api.github.com/repos/differentreality/osem/branches{/branch}","tags_url":"https://api.github.com/repos/differentreality/osem/tags","blobs_url":"https://api.github.com/repos/differentreality/osem/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/differentreality/osem/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/differentreality/osem/git/refs{/sha}","trees_url":"https://api.github.com/repos/differentreality/osem/git/trees{/sha}","statuses_url":"https://api.github.com/repos/differentreality/osem/statuses/{sha}","languages_url":"https://api.github.com/repos/differentreality/osem/languages","stargazers_url":"https://api.github.com/repos/differentreality/osem/stargazers","contributors_url":"https://api.github.com/repos/differentreality/osem/contributors","subscribers_url":"https://api.github.com/repos/differentreality/osem/subscribers","subscription_url":"https://api.github.com/repos/differentreality/osem/subscription","commits_url":"https://api.github.com/repos/differentreality/osem/commits{/sha}","git_commits_url":"https://api.github.com/repos/differentreality/osem/git/commits{/sha}","comments_url":"https://api.github.com/repos/differentreality/osem/comments{/number}","issue_comment_url":"https://api.github.com/repos/differentreality/osem/issues/comments{/number}","contents_url":"https://api.github.com/repos/differentreality/osem/contents/{+path}","compare_url":"https://api.github.com/repos/differentreality/osem/compare/{base}...{head}","merges_url":"https://api.github.com/repos/differentreality/osem/merges","archive_url":"https://api.github.com/repos/differentreality/osem/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/differentreality/osem/downloads","issues_url":"https://api.github.com/repos/differentreality/osem/issues{/number}","pulls_url":"https://api.github.com/repos/differentreality/osem/pulls{/number}","milestones_url":"https://api.github.com/repos/differentreality/osem/milestones{/number}","notifications_url":"https://api.github.com/repos/differentreality/osem/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/differentreality/osem/labels{/name}","releases_url":"https://api.github.com/repos/differentreality/osem/releases{/id}","deployments_url":"https://api.github.com/repos/differentreality/osem/deployments","created_at":"2013-05-02T14:46:10Z","updated_at":"2015-04-22T15:53:13Z","pushed_at":"2016-01-22T09:00:13Z","git_url":"git://github.com/differentreality/osem.git","ssh_url":"git@github.com:differentreality/osem.git","clone_url":"https://github.com/differentreality/osem.git","svn_url":"https://github.com/differentreality/osem","homepage":null,"size":5453,"stargazers_count":0,"watchers_count":0,"language":"Ruby","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":0,"forks":1,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"openSUSE:master","ref":"master","sha":"28e55f3f509988ee102fe3241061b41439cd704b","user":{"login":"openSUSE","id":623819,"avatar_url":"https://avatars.githubusercontent.com/u/623819?v=3","gravatar_id":"","url":"https://api.github.com/users/openSUSE","html_url":"https://github.com/openSUSE","followers_url":"https://api.github.com/users/openSUSE/followers","following_url":"https://api.github.com/users/openSUSE/following{/other_user}","gists_url":"https://api.github.com/users/openSUSE/gists{/gist_id}","starred_url":"https://api.github.com/users/openSUSE/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openSUSE/subscriptions","organizations_url":"https://api.github.com/users/openSUSE/orgs","repos_url":"https://api.github.com/users/openSUSE/repos","events_url":"https://api.github.com/users/openSUSE/events{/privacy}","received_events_url":"https://api.github.com/users/openSUSE/received_events","type":"Organization","site_admin":false},"repo":{"id":5911225,"name":"osem","full_name":"openSUSE/osem","owner":{"login":"openSUSE","id":623819,"avatar_url":"https://avatars.githubusercontent.com/u/623819?v=3","gravatar_id":"","url":"https://api.github.com/users/openSUSE","html_url":"https://github.com/openSUSE","followers_url":"https://api.github.com/users/openSUSE/followers","following_url":"https://api.github.com/users/openSUSE/following{/other_user}","gists_url":"https://api.github.com/users/openSUSE/gists{/gist_id}","starred_url":"https://api.github.com/users/openSUSE/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openSUSE/subscriptions","organizations_url":"https://api.github.com/users/openSUSE/orgs","repos_url":"https://api.github.com/users/openSUSE/repos","events_url":"https://api.github.com/users/openSUSE/events{/privacy}","received_events_url":"https://api.github.com/users/openSUSE/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/openSUSE/osem","description":"Open Source Event Manager. An event management tool tailored to Free and Open Source Software conferences.","fork":false,"url":"https://api.github.com/repos/openSUSE/osem","forks_url":"https://api.github.com/repos/openSUSE/osem/forks","keys_url":"https://api.github.com/repos/openSUSE/osem/keys{/key_id}","collaborators_url":"https://api.github.com/repos/openSUSE/osem/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/openSUSE/osem/teams","hooks_url":"https://api.github.com/repos/openSUSE/osem/hooks","issue_events_url":"https://api.github.com/repos/openSUSE/osem/issues/events{/number}","events_url":"https://api.github.com/repos/openSUSE/osem/events","assignees_url":"https://api.github.com/repos/openSUSE/osem/assignees{/user}","branches_url":"https://api.github.com/repos/openSUSE/osem/branches{/branch}","tags_url":"https://api.github.com/repos/openSUSE/osem/tags","blobs_url":"https://api.github.com/repos/openSUSE/osem/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/openSUSE/osem/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/openSUSE/osem/git/refs{/sha}","trees_url":"https://api.github.com/repos/openSUSE/osem/git/trees{/sha}","statuses_url":"https://api.github.com/repos/openSUSE/osem/statuses/{sha}","languages_url":"https://api.github.com/repos/openSUSE/osem/languages","stargazers_url":"https://api.github.com/repos/openSUSE/osem/stargazers","contributors_url":"https://api.github.com/repos/openSUSE/osem/contributors","subscribers_url":"https://api.github.com/repos/openSUSE/osem/subscribers","subscription_url":"https://api.github.com/repos/openSUSE/osem/subscription","commits_url":"https://api.github.com/repos/openSUSE/osem/commits{/sha}","git_commits_url":"https://api.github.com/repos/openSUSE/osem/git/commits{/sha}","comments_url":"https://api.github.com/repos/openSUSE/osem/comments{/number}","issue_comment_url":"https://api.github.com/repos/openSUSE/osem/issues/comments{/number}","contents_url":"https://api.github.com/repos/openSUSE/osem/contents/{+path}","compare_url":"https://api.github.com/repos/openSUSE/osem/compare/{base}...{head}","merges_url":"https://api.github.com/repos/openSUSE/osem/merges","archive_url":"https://api.github.com/repos/openSUSE/osem/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/openSUSE/osem/downloads","issues_url":"https://api.github.com/repos/openSUSE/osem/issues{/number}","pulls_url":"https://api.github.com/repos/openSUSE/osem/pulls{/number}","milestones_url":"https://api.github.com/repos/openSUSE/osem/milestones{/number}","notifications_url":"https://api.github.com/repos/openSUSE/osem/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/openSUSE/osem/labels{/name}","releases_url":"https://api.github.com/repos/openSUSE/osem/releases{/id}","deployments_url":"https://api.github.com/repos/openSUSE/osem/deployments","created_at":"2012-09-22T07:40:18Z","updated_at":"2016-01-13T09:21:45Z","pushed_at":"2016-02-06T16:47:53Z","git_url":"git://github.com/openSUSE/osem.git","ssh_url":"git@github.com:openSUSE/osem.git","clone_url":"https://github.com/openSUSE/osem.git","svn_url":"https://github.com/openSUSE/osem","homepage":"http://osem.io","size":21422,"stargazers_count":91,"watchers_count":91,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":68,"mirror_url":null,"open_issues_count":93,"forks":68,"open_issues":93,"watchers":91,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/openSUSE/osem/pulls/728"},"html":{"href":"https://github.com/openSUSE/osem/pull/728"},"issue":{"href":"https://api.github.com/repos/openSUSE/osem/issues/728"},"comments":{"href":"https://api.github.com/repos/openSUSE/osem/issues/728/comments"},"review_comments":{"href":"https://api.github.com/repos/openSUSE/osem/pulls/728/comments"},"review_comment":{"href":"https://api.github.com/repos/openSUSE/osem/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/openSUSE/osem/pulls/728/commits"},"statuses":{"href":"https://api.github.com/repos/openSUSE/osem/statuses/ea17c0eacc645e41a6b237dfd2c25fbdf51da56c"}},"merged":false,"mergeable":true,"mergeable_state":"unstable","merged_by":null,"comments":5,"review_comments":0,"commits":6,"additions":1847,"deletions":903,"changed_files":124}}