{"action":"created","issue":{"url":"https://api.github.com/repos/Igalia/phpreport/issues/254","repository_url":"https://api.github.com/repos/Igalia/phpreport","labels_url":"https://api.github.com/repos/Igalia/phpreport/issues/254/labels{/name}","comments_url":"https://api.github.com/repos/Igalia/phpreport/issues/254/comments","events_url":"https://api.github.com/repos/Igalia/phpreport/issues/254/events","html_url":"https://github.com/Igalia/phpreport/issues/254","id":164586104,"number":254,"title":"Persistent templates","user":{"login":"jaragunde","id":2900877,"avatar_url":"https://avatars.githubusercontent.com/u/2900877?v=3","gravatar_id":"","url":"https://api.github.com/users/jaragunde","html_url":"https://github.com/jaragunde","followers_url":"https://api.github.com/users/jaragunde/followers","following_url":"https://api.github.com/users/jaragunde/following{/other_user}","gists_url":"https://api.github.com/users/jaragunde/gists{/gist_id}","starred_url":"https://api.github.com/users/jaragunde/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jaragunde/subscriptions","organizations_url":"https://api.github.com/users/jaragunde/orgs","repos_url":"https://api.github.com/users/jaragunde/repos","events_url":"https://api.github.com/users/jaragunde/events{/privacy}","received_events_url":"https://api.github.com/users/jaragunde/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/Igalia/phpreport/labels/feature","name":"feature","color":"0e8a16"},{"url":"https://api.github.com/repos/Igalia/phpreport/labels/fixed","name":"fixed","color":"e6e6e6"}],"state":"closed","locked":false,"assignee":{"login":"jaragunde","id":2900877,"avatar_url":"https://avatars.githubusercontent.com/u/2900877?v=3","gravatar_id":"","url":"https://api.github.com/users/jaragunde","html_url":"https://github.com/jaragunde","followers_url":"https://api.github.com/users/jaragunde/followers","following_url":"https://api.github.com/users/jaragunde/following{/other_user}","gists_url":"https://api.github.com/users/jaragunde/gists{/gist_id}","starred_url":"https://api.github.com/users/jaragunde/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jaragunde/subscriptions","organizations_url":"https://api.github.com/users/jaragunde/orgs","repos_url":"https://api.github.com/users/jaragunde/repos","events_url":"https://api.github.com/users/jaragunde/events{/privacy}","received_events_url":"https://api.github.com/users/jaragunde/received_events","type":"User","site_admin":false},"assignees":[{"login":"jaragunde","id":2900877,"avatar_url":"https://avatars.githubusercontent.com/u/2900877?v=3","gravatar_id":"","url":"https://api.github.com/users/jaragunde","html_url":"https://github.com/jaragunde","followers_url":"https://api.github.com/users/jaragunde/followers","following_url":"https://api.github.com/users/jaragunde/following{/other_user}","gists_url":"https://api.github.com/users/jaragunde/gists{/gist_id}","starred_url":"https://api.github.com/users/jaragunde/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jaragunde/subscriptions","organizations_url":"https://api.github.com/users/jaragunde/orgs","repos_url":"https://api.github.com/users/jaragunde/repos","events_url":"https://api.github.com/users/jaragunde/events{/privacy}","received_events_url":"https://api.github.com/users/jaragunde/received_events","type":"User","site_admin":false},{"login":"tonythomas01","id":4214481,"avatar_url":"https://avatars.githubusercontent.com/u/4214481?v=3","gravatar_id":"","url":"https://api.github.com/users/tonythomas01","html_url":"https://github.com/tonythomas01","followers_url":"https://api.github.com/users/tonythomas01/followers","following_url":"https://api.github.com/users/tonythomas01/following{/other_user}","gists_url":"https://api.github.com/users/tonythomas01/gists{/gist_id}","starred_url":"https://api.github.com/users/tonythomas01/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tonythomas01/subscriptions","organizations_url":"https://api.github.com/users/tonythomas01/orgs","repos_url":"https://api.github.com/users/tonythomas01/repos","events_url":"https://api.github.com/users/tonythomas01/events{/privacy}","received_events_url":"https://api.github.com/users/tonythomas01/received_events","type":"User","site_admin":false}],"milestone":null,"comments":6,"created_at":"2016-07-08T18:13:01Z","updated_at":"2016-07-27T10:08:45Z","closed_at":"2016-07-27T10:08:44Z","body":"Currently templates are saved as cookies in the browser, so they are lost if the user uses a different browser for some reason, or in case the PhpReport deployment changes its URL.\r\n\r\nIt would be a good idea to make templates persistent in the DB. This would imply creating web services to add, remove and get them from the DB and, of course, implement the necessary objects in the model layers.\r\n\r\nWe would also need a page to migrate the cookie-based templates to the DB. Users would have to use it once before being able to use their templates again in an upgraded PhpReport."},"comment":{"url":"https://api.github.com/repos/Igalia/phpreport/issues/comments/235543835","html_url":"https://github.com/Igalia/phpreport/issues/254#issuecomment-235543835","issue_url":"https://api.github.com/repos/Igalia/phpreport/issues/254","id":235543835,"user":{"login":"jaragunde","id":2900877,"avatar_url":"https://avatars.githubusercontent.com/u/2900877?v=3","gravatar_id":"","url":"https://api.github.com/users/jaragunde","html_url":"https://github.com/jaragunde","followers_url":"https://api.github.com/users/jaragunde/followers","following_url":"https://api.github.com/users/jaragunde/following{/other_user}","gists_url":"https://api.github.com/users/jaragunde/gists{/gist_id}","starred_url":"https://api.github.com/users/jaragunde/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jaragunde/subscriptions","organizations_url":"https://api.github.com/users/jaragunde/orgs","repos_url":"https://api.github.com/users/jaragunde/repos","events_url":"https://api.github.com/users/jaragunde/events{/privacy}","received_events_url":"https://api.github.com/users/jaragunde/received_events","type":"User","site_admin":false},"created_at":"2016-07-27T10:08:44Z","updated_at":"2016-07-27T10:08:44Z","body":"```\r\ncommit bce20fa080c7d37d59719575f73128cc90847811\r\nMerge: 77a1210 342de96\r\nAuthor: Jacobo Aragunde Pérez <jaragunde@igalia.com>\r\nDate:   Wed Jul 27 12:04:19 2016 +0200\r\n\r\n    [#254] Implement persistent templates.\r\n    \r\n    This patch set implements persistent templates, a page to migrate\r\n    cookie-based templates to persistent ones, and also fixes #265.\r\n    \r\n    (merge branch 'persistent-templates')\r\n\r\ncommit 342de9669c144766d2f28205d4a0c6e21642a0e9\r\nAuthor: Tony Thomas <01tonythomas@gmail.com>\r\nDate:   Wed Jul 27 15:18:19 2016 +0530\r\n\r\n    Update templates documentation to add new 'template name' feature\r\n\r\ncommit 9e3bd9b0166e6042560eeaed8f95e576b3555485\r\nAuthor: Tony Thomas <01tonythomas@gmail.com>\r\nDate:   Wed Jul 27 15:01:39 2016 +0530\r\n\r\n    [#265] Include description of the task too in the template\r\n\r\ncommit 1df8c0e7977572dd25058efac15c42d81af5b901\r\nAuthor: Tony Thomas <01tonythomas@gmail.com>\r\nDate:   Wed Jul 27 10:32:52 2016 +0530\r\n\r\n    [#254] Make sure the bool fields are set correctly for a fresh template load\r\n\r\ncommit 30d414e52e8261cb7539d82618d6f23d1aa7bc3c\r\nAuthor: Tony Thomas <01tonythomas@gmail.com>\r\nDate:   Tue Jul 26 22:30:44 2016 +0530\r\n\r\n    [#265] Separately ask for template name using Ext message prompt\r\n\r\ncommit d9dd8a7cb2657e98a1f974ff9ffc84ce28666d47\r\nAuthor: Tony Thomas <01tonythomas@gmail.com>\r\nDate:   Sun Jul 24 22:15:05 2016 +0530\r\n\r\n    [#254] Make all template actions comply with phpreport DB abstractions\r\n\r\ncommit de3acba1a72fb7a19a48f2c31941f39a2a46e9ba\r\nAuthor: Jacobo Aragunde Pérez <jaragunde@igalia.com>\r\nDate:   Tue Jul 19 17:30:22 2016 +0200\r\n\r\n    Check result of migrate operation and remove cookies if done.\r\n    \r\n    The Store in migrate-templates.php has been changed so it can read the\r\n    response to the creation operation, and remove the cookie if it was\r\n    successful.\r\n\r\ncommit c271f3931a45e926ca5b2407039da9ed5e9f24ec\r\nAuthor: Jacobo Aragunde Pérez <jaragunde@igalia.com>\r\nDate:   Tue Jul 19 14:12:54 2016 +0200\r\n\r\n    Add foreign key constraints to the templates table.\r\n\r\ncommit f75f22b85a9b0f2172f14f3f9db5b829fb5aba30\r\nAuthor: Jacobo Aragunde Pérez <jaragunde@igalia.com>\r\nDate:   Tue Jul 19 13:46:07 2016 +0200\r\n\r\n    Implement persistent task deletion from the tasks screen.\r\n    \r\n    Created a service to delete tasks.\r\n    \r\n    FIXME: the service contains hard-coded DB queries, violating the\r\n    design of the model layer.\r\n    \r\n    FIXME: the service may remove tasks that belong to different users.\r\n\r\ncommit ee6cb4196c1c3dcbf15b08043f7f23d352befacf\r\nAuthor: Jacobo Aragunde Pérez <jaragunde@igalia.com>\r\nDate:   Tue Jul 19 13:20:37 2016 +0200\r\n\r\n    Implement persistent task creation from the tasks screen.\r\n    \r\n    Now the button to create templates in the tasks screen adds them to\r\n    a store, which is configured to create them in the backend via the\r\n    createTemplatesService.\r\n    \r\n    The service required some changes to return the list of created tasks\r\n    with their ids generated by the database.\r\n\r\ncommit 8934f87a7ba52363689de0e929dc6b758c5b424a\r\nAuthor: Jacobo Aragunde Pérez <jaragunde@igalia.com>\r\nDate:   Mon Jul 18 16:30:17 2016 +0200\r\n\r\n    Preliminary implementation of template retrieval from DB.\r\n    \r\n    Create a service to read the templates and modify the tasks screen to\r\n    read tasks from the service instead of the cookies.\r\n    \r\n    FIXME: the service contains hard-coded DB queries, violating the\r\n    design of the model layer.\r\n\r\ncommit 7176a2fbf630efcf4f2c2e275e732ad4b5b043f0\r\nAuthor: Jacobo Aragunde Pérez <jaragunde@igalia.com>\r\nDate:   Mon Jul 18 16:21:07 2016 +0200\r\n\r\n    Preliminary implementation of persistent templates creation.\r\n    \r\n    This patch contains the creation service and the page to migrate the\r\n    cookie based templates to persistent templates.\r\n    \r\n    FIXME: the creation service contains hard-coded DB queries, violating\r\n    the design of the model layer.\r\n    \r\n    FIXME: the migration page does not check if the migration completed\r\n    successfully and doesn't remove the templates cookie.\r\n```"}}
{"actor":{"display_login":"jaragunde"}}