diff --git a/issue/fixtures/test_perms.json b/issue/fixtures/test_perms.json index 8afc421..ace3bc6 100644 --- a/issue/fixtures/test_perms.json +++ b/issue/fixtures/test_perms.json @@ -1 +1 @@ -[{"model": "contenttypes.contenttype", "fields": {"model": "logentry", "name": "log entry", "app_label": "admin"}, "pk": 1}, {"model": "contenttypes.contenttype", "fields": {"model": "permission", "name": "permission", "app_label": "auth"}, "pk": 2}, {"model": "contenttypes.contenttype", "fields": {"model": "group", "name": "group", "app_label": "auth"}, "pk": 3}, {"model": "contenttypes.contenttype", "fields": {"model": "user", "name": "user", "app_label": "auth"}, "pk": 4}, {"model": "contenttypes.contenttype", "fields": {"model": "contenttype", "name": "content type", "app_label": "contenttypes"}, "pk": 5}, {"model": "contenttypes.contenttype", "fields": {"model": "session", "name": "session", "app_label": "sessions"}, "pk": 6}, {"model": "contenttypes.contenttype", "fields": {"model": "site", "name": "site", "app_label": "sites"}, "pk": 7}, {"model": "contenttypes.contenttype", "fields": {"model": "project", "name": "project", "app_label": "issue"}, "pk": 8}, {"model": "contenttypes.contenttype", "fields": {"model": "label", "name": "label", "app_label": "issue"}, "pk": 9}, {"model": "contenttypes.contenttype", "fields": {"model": "milestone", "name": "milestone", "app_label": "issue"}, "pk": 10}, {"model": "contenttypes.contenttype", "fields": {"model": "issue", "name": "issue", "app_label": "issue"}, "pk": 11}, {"model": "contenttypes.contenttype", "fields": {"model": "event", "name": "event", "app_label": "issue"}, "pk": 12}, {"model": "contenttypes.contenttype", "fields": {"model": "settings", "name": "settings", "app_label": "issue"}, "pk": 13}, {"model": "contenttypes.contenttype", "fields": {"model": "team", "name": "team", "app_label": "issue"}, "pk": 14}, {"model": "contenttypes.contenttype", "fields": {"model": "globalpermission", "name": "global permission", "app_label": "issue"}, "pk": 15}, {"model": "contenttypes.contenttype", "fields": {"model": "projectpermission", "name": "project permission", "app_label": "issue"}, "pk": 16}, {"model": "contenttypes.contenttype", "fields": {"model": "user", "name": "user", "app_label": "issue"}, "pk": 17}, {"model": "sessions.session", "fields": {"expire_date": "2014-09-02T02:20:00.632Z", "session_data": "MjY5NjI4NWQ4MGY5MDhiNzFlMjQxNWU2MDNhNGU3OWE2M2JiODRhYzp7Il9hdXRoX3VzZXJfYmFja2VuZCI6ImRqYW5nby5jb250cmliLmF1dGguYmFja2VuZHMuTW9kZWxCYWNrZW5kIiwiX2F1dGhfdXNlcl9oYXNoIjoiYTMzMjc1MjY4NjdjNDFiYzM1MmVjNzcxMWMxMzlmMzRkZThkOTVlZCIsIl9hdXRoX3VzZXJfaWQiOjF9"}, "pk": "0vokkg3d6eq44xrx2ivfi2vuneoeidjs"}, {"model": "sessions.session", "fields": {"expire_date": "2014-08-26T06:58:11.144Z", "session_data": "MWY2MzEyZDVhNGM3NzE0NzlhYjVhOTY0MDc1NjdjMzg0YTI1MTRiYjp7Il9hdXRoX3VzZXJfaGFzaCI6IjRiZWMyZjczMmUyOTJmOWRhZWE2ZjRhYWE3NDAyOTYxMThhNGZkMzAiLCJfYXV0aF91c2VyX2lkIjozLCJfYXV0aF91c2VyX2JhY2tlbmQiOiJkamFuZ28uY29udHJpYi5hdXRoLmJhY2tlbmRzLk1vZGVsQmFja2VuZCJ9"}, "pk": "9072sbxqxf8m6dmofd2cd61mzn6r9gwb"}, {"model": "sessions.session", "fields": {"expire_date": "2014-08-29T19:30:25.999Z", "session_data": "NjY1ODIwMTFlZWRhYjg2MzIyNjcwMWMzM2FmYTNjOGVmZjQ5MTM4NTp7fQ=="}, "pk": "dv666d09me3m9qbe1yjdno6gicwf85xl"}, {"model": "sessions.session", "fields": {"expire_date": "2014-08-22T21:39:30.632Z", "session_data": "ODAwMGQyMTQzZWRmOTQxYWM5NzhhZTRkYmMxZjIyYTU1YWJiMDg4Zjp7Il9hdXRoX3VzZXJfYmFja2VuZCI6ImRqYW5nby5jb250cmliLmF1dGguYmFja2VuZHMuTW9kZWxCYWNrZW5kIiwiX2F1dGhfdXNlcl9pZCI6MywiX2F1dGhfdXNlcl9oYXNoIjoiNGJlYzJmNzMyZTI5MmY5ZGFlYTZmNGFhYTc0MDI5NjExOGE0ZmQzMCJ9"}, "pk": "pqd4c9l1pxxcglphnell7nj10nwgxhv5"}, {"model": "sessions.session", "fields": {"expire_date": "2014-08-27T02:25:33.439Z", "session_data": "OTk3MzRkYjkwZGRiYTJjMjdjYzU4MmZkN2Q4MmRhNDdlN2RlY2I2Nzp7Il9hdXRoX3VzZXJfaWQiOjEsIl9hdXRoX3VzZXJfaGFzaCI6ImEzMzI3NTI2ODY3YzQxYmMzNTJlYzc3MTFjMTM5ZjM0ZGU4ZDk1ZWQiLCJfYXV0aF91c2VyX2JhY2tlbmQiOiJkamFuZ28uY29udHJpYi5hdXRoLmJhY2tlbmRzLk1vZGVsQmFja2VuZCJ9"}, "pk": "tvfpugiiwxl29g1qrvkxz2cnthb8wy05"}, {"model": "sessions.session", "fields": {"expire_date": "2014-08-27T06:08:48.671Z", "session_data": "MmQyM2RlMmM1NDNkYWI1ZTk2OWRlNTA4MWFmNmNmNWIzYjZiZTAzOTp7Il9hdXRoX3VzZXJfaWQiOjEsIl9hdXRoX3VzZXJfYmFja2VuZCI6ImRqYW5nby5jb250cmliLmF1dGguYmFja2VuZHMuTW9kZWxCYWNrZW5kIiwiX2F1dGhfdXNlcl9oYXNoIjoiYTMzMjc1MjY4NjdjNDFiYzM1MmVjNzcxMWMxMzlmMzRkZThkOTVlZCJ9"}, "pk": "u69nkkh0wafekkytyp2hvmo6i8ea0r1f"}, {"model": "sessions.session", "fields": {"expire_date": "2014-08-27T00:05:43.910Z", "session_data": "OTk3MzRkYjkwZGRiYTJjMjdjYzU4MmZkN2Q4MmRhNDdlN2RlY2I2Nzp7Il9hdXRoX3VzZXJfaWQiOjEsIl9hdXRoX3VzZXJfaGFzaCI6ImEzMzI3NTI2ODY3YzQxYmMzNTJlYzc3MTFjMTM5ZjM0ZGU4ZDk1ZWQiLCJfYXV0aF91c2VyX2JhY2tlbmQiOiJkamFuZ28uY29udHJpYi5hdXRoLmJhY2tlbmRzLk1vZGVsQmFja2VuZCJ9"}, "pk": "u82z217z07qhpr1ta0d7e0yws0v5tcrc"}, {"model": "sessions.session", "fields": {"expire_date": "2014-08-22T21:16:54.042Z", "session_data": "ODAwMGQyMTQzZWRmOTQxYWM5NzhhZTRkYmMxZjIyYTU1YWJiMDg4Zjp7Il9hdXRoX3VzZXJfYmFja2VuZCI6ImRqYW5nby5jb250cmliLmF1dGguYmFja2VuZHMuTW9kZWxCYWNrZW5kIiwiX2F1dGhfdXNlcl9pZCI6MywiX2F1dGhfdXNlcl9oYXNoIjoiNGJlYzJmNzMyZTI5MmY5ZGFlYTZmNGFhYTc0MDI5NjExOGE0ZmQzMCJ9"}, "pk": "ulbl2kkyz1mmstv1obcb2isxzxbd40pb"}, {"model": "sessions.session", "fields": {"expire_date": "2014-08-22T16:41:38.940Z", "session_data": "ZWExYjgwZmIyZTIxNGU4Y2RjOWJiMDc0NWJmMWI4Yjk0OTE2YjE3MDp7Il9hdXRoX3VzZXJfYmFja2VuZCI6ImRqYW5nby5jb250cmliLmF1dGguYmFja2VuZHMuTW9kZWxCYWNrZW5kIiwiX2F1dGhfdXNlcl9pZCI6MSwiX2F1dGhfdXNlcl9oYXNoIjoiYTMzMjc1MjY4NjdjNDFiYzM1MmVjNzcxMWMxMzlmMzRkZThkOTVlZCJ9"}, "pk": "xkl50v01skood5nezx6zhg3bfwruxhi2"}, {"model": "sites.site", "fields": {"name": "example.com", "domain": "example.com"}, "pk": 1}, {"model": "issue.label", "fields": {"inverted": true, "name": "bug", "color": "#FF0000", "deleted": false, "project": "project-1"}, "pk": 1}, {"model": "issue.label", "fields": {"inverted": true, "name": "feature", "color": "#00A000", "deleted": false, "project": "project-1"}, "pk": 2}, {"model": "issue.label", "fields": {"inverted": true, "name": "documentation", "color": "#1D3DBE", "deleted": false, "project": "project-1"}, "pk": 3}, {"model": "issue.label", "fields": {"inverted": true, "name": "bug", "color": "#FF0000", "deleted": false, "project": "project-2"}, "pk": 4}, {"model": "issue.label", "fields": {"inverted": true, "name": "feature", "color": "#00A000", "deleted": false, "project": "project-2"}, "pk": 5}, {"model": "issue.label", "fields": {"inverted": true, "name": "documentation", "color": "#1D3DBE", "deleted": false, "project": "project-2"}, "pk": 6}, {"model": "issue.label", "fields": {"inverted": false, "name": "low priority", "color": "#ffffff", "deleted": false, "project": "project-2"}, "pk": 7}, {"model": "issue.milestone", "fields": {"due_date": "2014-08-12T19:43:00Z", "closed": false, "name": "v1.0", "project": "project-1"}, "pk": 1}, {"model": "issue.milestone", "fields": {"due_date": null, "closed": false, "name": "v1.0", "project": "project-2"}, "pk": 2}, {"model": "issue.milestone", "fields": {"due_date": "2014-08-12T22:18:00Z", "closed": false, "name": "v2.0", "project": "project-2"}, "pk": 3}, {"model": "issue.globalpermission", "fields": {"manage_project_permission": false, "modify_project": false, "create_issue": false, "modify_comment": false, "delete_issue": false, "add_team": true, "grantee_type": 0, "delete_tags": false, "grantee_name": "user3", "create_comment": false, "delete_project": false, "create_project": true, "manage_tags": false, "manage_issue": false, "delete_comment": false, "manage_global_permission": false, "manage_team": false, "modify_issue": false}, "pk": 1}, {"model": "issue.globalpermission", "fields": {"manage_project_permission": false, "modify_project": true, "create_issue": false, "modify_comment": false, "delete_issue": false, "add_team": true, "grantee_type": 1, "delete_tags": false, "grantee_name": "group1", "create_comment": false, "delete_project": false, "create_project": false, "manage_tags": false, "manage_issue": false, "delete_comment": false, "manage_global_permission": false, "manage_team": false, "modify_issue": false}, "pk": 4}, {"model": "issue.globalpermission", "fields": {"manage_project_permission": false, "modify_project": false, "create_issue": false, "modify_comment": false, "delete_issue": false, "add_team": true, "grantee_type": 2, "delete_tags": false, "grantee_name": "team1", "create_comment": false, "delete_project": true, "create_project": false, "manage_tags": false, "manage_issue": false, "delete_comment": false, "manage_global_permission": false, "manage_team": false, "modify_issue": false}, "pk": 5}, {"model": "issue.globalpermission", "fields": {"manage_project_permission": false, "modify_project": false, "create_issue": false, "modify_comment": false, "delete_issue": false, "add_team": false, "grantee_type": 0, "delete_tags": false, "grantee_name": "user15", "create_comment": false, "delete_project": false, "create_project": false, "manage_tags": false, "manage_issue": false, "delete_comment": false, "manage_global_permission": true, "manage_team": false, "modify_issue": false}, "pk": 6}, {"model": "issue.projectpermission", "fields": {"manage_project_permission": false, "create_issue": true, "modify_comment": false, "delete_issue": false, "manage_issue": false, "delete_tags": false, "grantee_name": "user3", "manage_tags": false, "project": "project-1", "delete_comment": false, "create_comment": false, "grantee_type": 0, "modify_issue": false}, "pk": 1}, {"model": "issue.projectpermission", "fields": {"manage_project_permission": false, "create_issue": false, "modify_comment": false, "delete_issue": false, "manage_issue": false, "delete_tags": false, "grantee_name": "group1", "manage_tags": false, "project": "project-1", "delete_comment": false, "create_comment": false, "grantee_type": 1, "modify_issue": true}, "pk": 2}, {"model": "issue.projectpermission", "fields": {"manage_project_permission": false, "create_issue": false, "modify_comment": false, "delete_issue": true, "manage_issue": false, "delete_tags": false, "grantee_name": "team1", "manage_tags": false, "project": "project-1", "delete_comment": false, "create_comment": false, "grantee_type": 2, "modify_issue": false}, "pk": 3}, {"model": "issue.projectpermission", "fields": {"manage_project_permission": false, "create_issue": false, "modify_comment": false, "delete_issue": false, "manage_issue": false, "delete_tags": false, "grantee_name": "user2", "manage_tags": false, "project": "project-2", "delete_comment": false, "create_comment": false, "grantee_type": 0, "modify_issue": false}, "pk": 4}, {"model": "issue.projectpermission", "fields": {"manage_project_permission": false, "create_issue": true, "modify_comment": false, "delete_issue": false, "manage_issue": false, "delete_tags": false, "grantee_name": "user5", "manage_tags": false, "project": "project-2", "delete_comment": false, "create_comment": false, "grantee_type": 0, "modify_issue": false}, "pk": 5}, {"model": "issue.projectpermission", "fields": {"manage_project_permission": false, "create_issue": false, "modify_comment": false, "delete_issue": false, "manage_issue": true, "delete_tags": false, "grantee_name": "user6", "manage_tags": false, "project": "project-2", "delete_comment": false, "create_comment": false, "grantee_type": 0, "modify_issue": false}, "pk": 6}, {"model": "issue.projectpermission", "fields": {"manage_project_permission": false, "create_issue": false, "modify_comment": false, "delete_issue": false, "manage_issue": false, "delete_tags": false, "grantee_name": "user7", "manage_tags": false, "project": "project-2", "delete_comment": false, "create_comment": false, "grantee_type": 0, "modify_issue": true}, "pk": 7}, {"model": "issue.projectpermission", "fields": {"manage_project_permission": false, "create_issue": false, "modify_comment": false, "delete_issue": true, "manage_issue": false, "delete_tags": false, "grantee_name": "user8", "manage_tags": false, "project": "project-2", "delete_comment": false, "create_comment": false, "grantee_type": 0, "modify_issue": false}, "pk": 8}, {"model": "issue.projectpermission", "fields": {"manage_project_permission": false, "create_issue": false, "modify_comment": false, "delete_issue": false, "manage_issue": false, "delete_tags": false, "grantee_name": "user9", "manage_tags": false, "project": "project-2", "delete_comment": false, "create_comment": true, "grantee_type": 0, "modify_issue": false}, "pk": 9}, {"model": "issue.projectpermission", "fields": {"manage_project_permission": false, "create_issue": false, "modify_comment": true, "delete_issue": false, "manage_issue": false, "delete_tags": false, "grantee_name": "user10", "manage_tags": false, "project": "project-2", "delete_comment": false, "create_comment": false, "grantee_type": 0, "modify_issue": false}, "pk": 10}, {"model": "issue.projectpermission", "fields": {"manage_project_permission": false, "create_issue": false, "modify_comment": false, "delete_issue": false, "manage_issue": false, "delete_tags": false, "grantee_name": "user11", "manage_tags": false, "project": "project-2", "delete_comment": true, "create_comment": false, "grantee_type": 0, "modify_issue": false}, "pk": 11}, {"model": "issue.projectpermission", "fields": {"manage_project_permission": false, "create_issue": false, "modify_comment": false, "delete_issue": false, "manage_issue": false, "delete_tags": false, "grantee_name": "user12", "manage_tags": true, "project": "project-2", "delete_comment": false, "create_comment": false, "grantee_type": 0, "modify_issue": false}, "pk": 12}, {"model": "issue.projectpermission", "fields": {"manage_project_permission": false, "create_issue": false, "modify_comment": false, "delete_issue": false, "manage_issue": false, "delete_tags": true, "grantee_name": "user13", "manage_tags": false, "project": "project-2", "delete_comment": false, "create_comment": false, "grantee_type": 0, "modify_issue": false}, "pk": 13}, {"model": "issue.projectpermission", "fields": {"manage_project_permission": true, "create_issue": false, "modify_comment": false, "delete_issue": false, "manage_issue": false, "delete_tags": false, "grantee_name": "user14", "manage_tags": false, "project": "project-2", "delete_comment": false, "create_comment": false, "grantee_type": 0, "modify_issue": false}, "pk": 14}, {"model": "auth.permission", "fields": {"codename": "add_logentry", "name": "Can add log entry", "content_type": 1}, "pk": 1}, {"model": "auth.permission", "fields": {"codename": "change_logentry", "name": "Can change log entry", "content_type": 1}, "pk": 2}, {"model": "auth.permission", "fields": {"codename": "delete_logentry", "name": "Can delete log entry", "content_type": 1}, "pk": 3}, {"model": "auth.permission", "fields": {"codename": "add_permission", "name": "Can add permission", "content_type": 2}, "pk": 4}, {"model": "auth.permission", "fields": {"codename": "change_permission", "name": "Can change permission", "content_type": 2}, "pk": 5}, {"model": "auth.permission", "fields": {"codename": "delete_permission", "name": "Can delete permission", "content_type": 2}, "pk": 6}, {"model": "auth.permission", "fields": {"codename": "add_group", "name": "Can add group", "content_type": 3}, "pk": 7}, {"model": "auth.permission", "fields": {"codename": "change_group", "name": "Can change group", "content_type": 3}, "pk": 8}, {"model": "auth.permission", "fields": {"codename": "delete_group", "name": "Can delete group", "content_type": 3}, "pk": 9}, {"model": "auth.permission", "fields": {"codename": "add_user", "name": "Can add user", "content_type": 4}, "pk": 10}, {"model": "auth.permission", "fields": {"codename": "change_user", "name": "Can change user", "content_type": 4}, "pk": 11}, {"model": "auth.permission", "fields": {"codename": "delete_user", "name": "Can delete user", "content_type": 4}, "pk": 12}, {"model": "auth.permission", "fields": {"codename": "add_contenttype", "name": "Can add content type", "content_type": 5}, "pk": 13}, {"model": "auth.permission", "fields": {"codename": "change_contenttype", "name": "Can change content type", "content_type": 5}, "pk": 14}, {"model": "auth.permission", "fields": {"codename": "delete_contenttype", "name": "Can delete content type", "content_type": 5}, "pk": 15}, {"model": "auth.permission", "fields": {"codename": "add_session", "name": "Can add session", "content_type": 6}, "pk": 16}, {"model": "auth.permission", "fields": {"codename": "change_session", "name": "Can change session", "content_type": 6}, "pk": 17}, {"model": "auth.permission", "fields": {"codename": "delete_session", "name": "Can delete session", "content_type": 6}, "pk": 18}, {"model": "auth.permission", "fields": {"codename": "add_site", "name": "Can add site", "content_type": 7}, "pk": 19}, {"model": "auth.permission", "fields": {"codename": "change_site", "name": "Can change site", "content_type": 7}, "pk": 20}, {"model": "auth.permission", "fields": {"codename": "delete_site", "name": "Can delete site", "content_type": 7}, "pk": 21}, {"model": "auth.permission", "fields": {"codename": "add_project", "name": "Can add project", "content_type": 8}, "pk": 22}, {"model": "auth.permission", "fields": {"codename": "change_project", "name": "Can change project", "content_type": 8}, "pk": 23}, {"model": "auth.permission", "fields": {"codename": "delete_project", "name": "Can delete project", "content_type": 8}, "pk": 24}, {"model": "auth.permission", "fields": {"codename": "add_label", "name": "Can add label", "content_type": 9}, "pk": 25}, {"model": "auth.permission", "fields": {"codename": "change_label", "name": "Can change label", "content_type": 9}, "pk": 26}, {"model": "auth.permission", "fields": {"codename": "delete_label", "name": "Can delete label", "content_type": 9}, "pk": 27}, {"model": "auth.permission", "fields": {"codename": "add_milestone", "name": "Can add milestone", "content_type": 10}, "pk": 28}, {"model": "auth.permission", "fields": {"codename": "change_milestone", "name": "Can change milestone", "content_type": 10}, "pk": 29}, {"model": "auth.permission", "fields": {"codename": "delete_milestone", "name": "Can delete milestone", "content_type": 10}, "pk": 30}, {"model": "auth.permission", "fields": {"codename": "add_issue", "name": "Can add issue", "content_type": 11}, "pk": 31}, {"model": "auth.permission", "fields": {"codename": "change_issue", "name": "Can change issue", "content_type": 11}, "pk": 32}, {"model": "auth.permission", "fields": {"codename": "delete_issue", "name": "Can delete issue", "content_type": 11}, "pk": 33}, {"model": "auth.permission", "fields": {"codename": "add_event", "name": "Can add event", "content_type": 12}, "pk": 34}, {"model": "auth.permission", "fields": {"codename": "change_event", "name": "Can change event", "content_type": 12}, "pk": 35}, {"model": "auth.permission", "fields": {"codename": "delete_event", "name": "Can delete event", "content_type": 12}, "pk": 36}, {"model": "auth.permission", "fields": {"codename": "add_settings", "name": "Can add settings", "content_type": 13}, "pk": 37}, {"model": "auth.permission", "fields": {"codename": "change_settings", "name": "Can change settings", "content_type": 13}, "pk": 38}, {"model": "auth.permission", "fields": {"codename": "delete_settings", "name": "Can delete settings", "content_type": 13}, "pk": 39}, {"model": "auth.permission", "fields": {"codename": "add_team", "name": "Can add team", "content_type": 14}, "pk": 40}, {"model": "auth.permission", "fields": {"codename": "change_team", "name": "Can change team", "content_type": 14}, "pk": 41}, {"model": "auth.permission", "fields": {"codename": "delete_team", "name": "Can delete team", "content_type": 14}, "pk": 42}, {"model": "auth.permission", "fields": {"codename": "add_globalpermission", "name": "Can add global permission", "content_type": 15}, "pk": 43}, {"model": "auth.permission", "fields": {"codename": "change_globalpermission", "name": "Can change global permission", "content_type": 15}, "pk": 44}, {"model": "auth.permission", "fields": {"codename": "delete_globalpermission", "name": "Can delete global permission", "content_type": 15}, "pk": 45}, {"model": "auth.permission", "fields": {"codename": "add_projectpermission", "name": "Can add project permission", "content_type": 16}, "pk": 46}, {"model": "auth.permission", "fields": {"codename": "change_projectpermission", "name": "Can change project permission", "content_type": 16}, "pk": 47}, {"model": "auth.permission", "fields": {"codename": "delete_projectpermission", "name": "Can delete project permission", "content_type": 16}, "pk": 48}, {"model": "auth.group", "fields": {"name": "group1", "permissions": []}, "pk": 1}, {"model": "issue.user", "fields": {"email": "", "user_permissions": [], "password": "pbkdf2_sha256$12000$qy5asFJAVx57$RneUin16DMOU6PIIdctZqjtUa0PjE2yDIiGAXg3qteI=", "is_superuser": true, "first_name": "", "is_staff": true, "is_active": true, "groups": [], "last_login": "2014-08-19T02:20:00.506Z", "date_joined": "2014-08-08T16:41:05.033Z", "last_name": "", "username": "admin"}, "pk": 1}, {"model": "issue.user", "fields": {"email": "", "user_permissions": [], "password": "pbkdf2_sha256$12000$drENNTEqIkBE$2GqTBGncULxAw9bLc6vyta1p/uJGFYuU0zrurDK77nI=", "is_superuser": false, "first_name": "", "is_staff": false, "is_active": true, "groups": [], "last_login": "2014-08-08T16:42:31Z", "date_joined": "2014-08-08T16:42:31Z", "last_name": "", "username": "user1"}, "pk": 2}, {"model": "issue.user", "fields": {"email": "", "user_permissions": [], "password": "pbkdf2_sha256$12000$3EduBVRie3iD$qHAbiBebSQq7RlJogSxeoWlinw8w7bcSXdOgn3WiyeM=", "is_superuser": false, "first_name": "", "is_staff": false, "is_active": true, "groups": [1], "last_login": "2014-08-08T21:39:30.498Z", "date_joined": "2014-08-08T18:26:40Z", "last_name": "", "username": "user2"}, "pk": 3}, {"model": "issue.user", "fields": {"email": "", "user_permissions": [], "password": "pbkdf2_sha256$12000$9ReiA9Yfsiu2$o+T1rHBTb1wFYIbzDoGliOFhqdHMvvLyOAk80JQnCeg=", "is_superuser": false, "first_name": "", "is_staff": false, "is_active": true, "groups": [], "last_login": "2014-08-08T18:27:04Z", "date_joined": "2014-08-08T18:27:04Z", "last_name": "", "username": "user3"}, "pk": 4}, {"model": "issue.user", "fields": {"email": "", "user_permissions": [], "password": "pbkdf2_sha256$12000$V83PwKTT9uhM$E+uXxLKQ7nmrDnJH+b/+MSp8jfkMkH0UxOZjqSjHJw4=", "is_superuser": false, "first_name": "", "is_staff": false, "is_active": true, "groups": [], "last_login": "2014-08-08T18:54:24.705Z", "date_joined": "2014-08-08T18:54:24.705Z", "last_name": "", "username": "user4"}, "pk": 5}, {"model": "issue.user", "fields": {"email": "", "user_permissions": [], "password": "pbkdf2_sha256$12000$NOPq906lrJ8H$BMHx3slAgeQ3wgCHHjfULRgdhjLoDpQHzzlpzGvK2r0=", "is_superuser": false, "first_name": "", "is_staff": false, "is_active": true, "groups": [], "last_login": "2014-08-13T06:07:48.508Z", "date_joined": "2014-08-13T00:06:33.263Z", "last_name": "", "username": "user5"}, "pk": 6}, {"model": "issue.user", "fields": {"email": "", "user_permissions": [], "password": "pbkdf2_sha256$12000$qIg3RVaNemsx$aKfUwN4s5szqS2c6t4s3xUm13F9am+rrYdeS17fNA+A=", "is_superuser": false, "first_name": "", "is_staff": false, "is_active": true, "groups": [], "last_login": "2014-08-13T00:06:45.006Z", "date_joined": "2014-08-13T00:06:45.006Z", "last_name": "", "username": "user6"}, "pk": 7}, {"model": "issue.user", "fields": {"email": "", "user_permissions": [], "password": "pbkdf2_sha256$12000$aMEK1COCL2AQ$V1oN9jBNEk74+VY5Bzk+wgt+iaaDkt5F4lEfoZFuVEM=", "is_superuser": false, "first_name": "", "is_staff": false, "is_active": true, "groups": [], "last_login": "2014-08-13T00:06:51.123Z", "date_joined": "2014-08-13T00:06:51.123Z", "last_name": "", "username": "user7"}, "pk": 8}, {"model": "issue.user", "fields": {"email": "", "user_permissions": [], "password": "pbkdf2_sha256$12000$pm8DYEcJ3tCd$dCOqr1XBut+SeZPcyaB/n/YvSl82x/ZTqQlqvYoTRAk=", "is_superuser": false, "first_name": "", "is_staff": false, "is_active": true, "groups": [], "last_login": "2014-08-13T00:06:58.258Z", "date_joined": "2014-08-13T00:06:58.258Z", "last_name": "", "username": "user8"}, "pk": 9}, {"model": "issue.user", "fields": {"email": "", "user_permissions": [], "password": "pbkdf2_sha256$12000$rz8pHZi9D2wd$nS0Wzv6wKGIdaHf/w2W3s4WPc1UzNvrLGpxl73pDlc8=", "is_superuser": false, "first_name": "", "is_staff": false, "is_active": true, "groups": [], "last_login": "2014-08-13T00:07:06.058Z", "date_joined": "2014-08-13T00:07:06.058Z", "last_name": "", "username": "user9"}, "pk": 10}, {"model": "issue.user", "fields": {"email": "", "user_permissions": [], "password": "pbkdf2_sha256$12000$PnfXEvOFXdkH$KNeQ9EmxcWQItwn0O6GAgrGqSsADpkLHDptLOZqRUz8=", "is_superuser": false, "first_name": "", "is_staff": false, "is_active": true, "groups": [], "last_login": "2014-08-19T02:20:10.928Z", "date_joined": "2014-08-19T02:20:10.928Z", "last_name": "", "username": "user10"}, "pk": 11}, {"model": "issue.user", "fields": {"email": "", "user_permissions": [], "password": "pbkdf2_sha256$12000$YoD2cw2DWBrJ$grA3gBwYHXTFBm7rYqaYLbjTWfoxg3dMAXAJ5otVUeE=", "is_superuser": false, "first_name": "", "is_staff": false, "is_active": true, "groups": [], "last_login": "2014-08-19T02:20:24.679Z", "date_joined": "2014-08-19T02:20:24.679Z", "last_name": "", "username": "user11"}, "pk": 12}, {"model": "issue.user", "fields": {"email": "", "user_permissions": [], "password": "pbkdf2_sha256$12000$PtLTOXgu60Fv$fKxvZLB7n70jbzDr5B9IJPcqz+KYdo2kjEsbe4mcpB8=", "is_superuser": false, "first_name": "", "is_staff": false, "is_active": true, "groups": [], "last_login": "2014-08-19T02:20:31.288Z", "date_joined": "2014-08-19T02:20:31.288Z", "last_name": "", "username": "user12"}, "pk": 13}, {"model": "issue.user", "fields": {"email": "", "user_permissions": [], "password": "pbkdf2_sha256$12000$iOqaasAgA88c$A2lgrA4arjKQiRZ8X/N4X0TwCjk6Pq3b6MmVvFXJivY=", "is_superuser": false, "first_name": "", "is_staff": false, "is_active": true, "groups": [], "last_login": "2014-08-19T02:20:40.487Z", "date_joined": "2014-08-19T02:20:40.487Z", "last_name": "", "username": "user13"}, "pk": 14}, {"model": "issue.user", "fields": {"email": "", "user_permissions": [], "password": "pbkdf2_sha256$12000$GrNF0rTyUow1$JtdT6tw1KxXEf7sgkBa3EAzWC8+uh1y1wybeZVIT6vc=", "is_superuser": false, "first_name": "", "is_staff": false, "is_active": true, "groups": [], "last_login": "2014-08-19T02:20:47.059Z", "date_joined": "2014-08-19T02:20:47.060Z", "last_name": "", "username": "user14"}, "pk": 15}, {"model": "issue.user", "fields": {"email": "", "user_permissions": [], "password": "pbkdf2_sha256$12000$ixz6C18KVI4S$wnNJMJwB4oO0yz4NUTqbtrAdq6LxRbXFrq3mq0NkA3w=", "is_superuser": false, "first_name": "", "is_staff": false, "is_active": true, "groups": [], "last_login": "2014-08-19T02:20:55.218Z", "date_joined": "2014-08-19T02:20:55.218Z", "last_name": "", "username": "user15"}, "pk": 16}, {"model": "issue.user", "fields": {"email": "", "user_permissions": [], "password": "pbkdf2_sha256$12000$LBpJTHuCS7Ri$G8rFIAcTxCUY7gYYoZ1v+qaHhNkitAibIkijZvSJnkU=", "is_superuser": false, "first_name": "", "is_staff": false, "is_active": true, "groups": [], "last_login": "2014-08-19T02:21:03.081Z", "date_joined": "2014-08-19T02:21:03.081Z", "last_name": "", "username": "user16"}, "pk": 17}, {"model": "issue.project", "fields": {"display_name": "Project 1", "public": true, "description": "This is a public project.", "subscribers": []}, "pk": "project-1"}, {"model": "issue.project", "fields": {"display_name": "Project 2", "public": false, "description": "This is a private project.", "subscribers": []}, "pk": "project-2"}, {"model": "issue.issue", "fields": {"id": 1, "assignee": null, "author": 1, "title": "Issue 1", "project": "project-1", "milestone": 1, "labels": [1], "subscribers": [], "closed": false, "opened_at": "2014-08-13T02:42:36.703Z"}, "pk": 1}, {"model": "issue.issue", "fields": {"id": 1, "assignee": null, "author": 1, "title": "Issue 1", "project": "project-2", "milestone": 3, "labels": [5, 7], "subscribers": [], "closed": false, "opened_at": "2014-08-13T05:18:20.391Z"}, "pk": 2}, {"model": "issue.issue", "fields": {"id": 2, "assignee": null, "author": 1, "title": "Issue 2", "project": "project-2", "milestone": null, "labels": [], "subscribers": [], "closed": true, "opened_at": "2014-08-13T06:04:58.153Z"}, "pk": 3}, {"model": "issue.event", "fields": {"issue": 1, "author": 1, "code": 11, "date": "2014-08-13T02:42:36.879Z", "_args": "{}", "additionnal_section": "This is the first issue."}, "pk": 1}, {"model": "issue.event", "fields": {"issue": 1, "author": 1, "code": 4, "date": "2014-08-13T02:43:24.991Z", "_args": "{\"label\": 1}", "additionnal_section": ""}, "pk": 2}, {"model": "issue.event", "fields": {"issue": 1, "author": 1, "code": 6, "date": "2014-08-13T02:43:36.623Z", "_args": "{\"milestone\": \"v1.0\"}", "additionnal_section": ""}, "pk": 3}, {"model": "issue.event", "fields": {"issue": 2, "author": 1, "code": 11, "date": "2014-08-13T05:18:20.585Z", "_args": "{}", "additionnal_section": "This is the first issue."}, "pk": 4}, {"model": "issue.event", "fields": {"issue": 2, "author": 1, "code": 4, "date": "2014-08-13T05:18:25.994Z", "_args": "{\"label\": 4}", "additionnal_section": ""}, "pk": 5}, {"model": "issue.event", "fields": {"issue": 2, "author": 1, "code": 4, "date": "2014-08-13T05:18:30.765Z", "_args": "{\"label\": 5}", "additionnal_section": ""}, "pk": 6}, {"model": "issue.event", "fields": {"issue": 2, "author": 1, "code": 5, "date": "2014-08-13T05:18:33.342Z", "_args": "{\"label\": 4}", "additionnal_section": ""}, "pk": 7}, {"model": "issue.event", "fields": {"issue": 2, "author": 1, "code": 6, "date": "2014-08-13T05:18:40.484Z", "_args": "{\"milestone\": \"v1.0\"}", "additionnal_section": ""}, "pk": 8}, {"model": "issue.event", "fields": {"issue": 2, "author": 1, "code": 7, "date": "2014-08-13T05:18:49.552Z", "_args": "{\"new_milestone\": \"v2.0\", \"old_milestone\": \"v1.0\"}", "additionnal_section": ""}, "pk": 9}, {"model": "issue.event", "fields": {"issue": 2, "author": 1, "code": 10, "date": "2014-08-13T05:19:04.929Z", "_args": "{}", "additionnal_section": "Done"}, "pk": 10}, {"model": "issue.event", "fields": {"issue": 2, "author": 1, "code": 1, "date": "2014-08-13T05:19:07.194Z", "_args": "{}", "additionnal_section": ""}, "pk": 11}, {"model": "issue.event", "fields": {"issue": 2, "author": 1, "code": 10, "date": "2014-08-13T05:19:20.077Z", "_args": "{}", "additionnal_section": "Missing things"}, "pk": 12}, {"model": "issue.event", "fields": {"issue": 2, "author": 1, "code": 2, "date": "2014-08-13T05:19:22.049Z", "_args": "{}", "additionnal_section": ""}, "pk": 13}, {"model": "issue.event", "fields": {"issue": 2, "author": 1, "code": 4, "date": "2014-08-13T05:23:17.622Z", "_args": "{\"label\": 7}", "additionnal_section": ""}, "pk": 14}, {"model": "issue.event", "fields": {"issue": 3, "author": 1, "code": 11, "date": "2014-08-13T06:04:58.351Z", "_args": "{}", "additionnal_section": "This is the second issue."}, "pk": 15}, {"model": "issue.event", "fields": {"issue": 3, "author": 1, "code": 1, "date": "2014-08-13T06:05:00.212Z", "_args": "{}", "additionnal_section": ""}, "pk": 16}, {"model": "issue.team", "fields": {"users": [2], "name": "team1", "groups": []}, "pk": 1}, {"model": "issue.team", "fields": {"users": [], "name": "team2", "groups": [1]}, "pk": 2}, {"model": "admin.logentry", "fields": {"action_flag": 1, "user": 1, "content_type": 4, "action_time": "2014-08-08T16:42:31.376Z", "object_id": "2", "object_repr": "user1", "change_message": ""}, "pk": 1}, {"model": "admin.logentry", "fields": {"action_flag": 1, "user": 1, "content_type": 3, "action_time": "2014-08-08T18:26:25.358Z", "object_id": "1", "object_repr": "group1", "change_message": ""}, "pk": 2}, {"model": "admin.logentry", "fields": {"action_flag": 1, "user": 1, "content_type": 4, "action_time": "2014-08-08T18:26:40.841Z", "object_id": "3", "object_repr": "user2", "change_message": ""}, "pk": 3}, {"model": "admin.logentry", "fields": {"action_flag": 1, "user": 1, "content_type": 14, "action_time": "2014-08-08T18:26:44.875Z", "object_id": "1", "object_repr": "team1", "change_message": ""}, "pk": 4}, {"model": "admin.logentry", "fields": {"action_flag": 1, "user": 1, "content_type": 14, "action_time": "2014-08-08T18:26:53.220Z", "object_id": "2", "object_repr": "team2", "change_message": ""}, "pk": 5}, {"model": "admin.logentry", "fields": {"action_flag": 1, "user": 1, "content_type": 4, "action_time": "2014-08-08T18:27:04.108Z", "object_id": "4", "object_repr": "user3", "change_message": ""}, "pk": 6}, {"model": "admin.logentry", "fields": {"action_flag": 2, "user": 1, "content_type": 4, "action_time": "2014-08-08T18:27:15.492Z", "object_id": "4", "object_repr": "user3", "change_message": "Changed groups."}, "pk": 7}, {"model": "admin.logentry", "fields": {"action_flag": 2, "user": 1, "content_type": 14, "action_time": "2014-08-08T18:34:58.697Z", "object_id": "1", "object_repr": "team1", "change_message": "Changed users."}, "pk": 8}, {"model": "admin.logentry", "fields": {"action_flag": 2, "user": 1, "content_type": 4, "action_time": "2014-08-08T18:35:14.882Z", "object_id": "4", "object_repr": "user3", "change_message": "Changed groups."}, "pk": 9}, {"model": "admin.logentry", "fields": {"action_flag": 2, "user": 1, "content_type": 4, "action_time": "2014-08-08T18:35:20.072Z", "object_id": "2", "object_repr": "user1", "change_message": "Changed groups."}, "pk": 10}, {"model": "admin.logentry", "fields": {"action_flag": 2, "user": 1, "content_type": 4, "action_time": "2014-08-08T18:36:02.040Z", "object_id": "2", "object_repr": "user1", "change_message": "Changed groups."}, "pk": 11}, {"model": "admin.logentry", "fields": {"action_flag": 2, "user": 1, "content_type": 14, "action_time": "2014-08-08T18:36:10.947Z", "object_id": "1", "object_repr": "team1", "change_message": "No fields changed."}, "pk": 12}, {"model": "admin.logentry", "fields": {"action_flag": 2, "user": 1, "content_type": 4, "action_time": "2014-08-08T18:36:24.856Z", "object_id": "3", "object_repr": "user2", "change_message": "Changed groups."}, "pk": 13}, {"model": "admin.logentry", "fields": {"action_flag": 2, "user": 1, "content_type": 14, "action_time": "2014-08-08T18:36:30.902Z", "object_id": "2", "object_repr": "team2", "change_message": "No fields changed."}, "pk": 14}, {"model": "admin.logentry", "fields": {"action_flag": 2, "user": 1, "content_type": 14, "action_time": "2014-08-08T18:37:56.866Z", "object_id": "1", "object_repr": "team1", "change_message": "No fields changed."}, "pk": 15}, {"model": "admin.logentry", "fields": {"action_flag": 1, "user": 1, "content_type": 4, "action_time": "2014-08-08T18:54:24.771Z", "object_id": "5", "object_repr": "user4", "change_message": ""}, "pk": 16}, {"model": "admin.logentry", "fields": {"action_flag": 1, "user": 1, "content_type": 4, "action_time": "2014-08-13T00:06:33.326Z", "object_id": "6", "object_repr": "user5", "change_message": ""}, "pk": 17}, {"model": "admin.logentry", "fields": {"action_flag": 1, "user": 1, "content_type": 4, "action_time": "2014-08-13T00:06:45.049Z", "object_id": "7", "object_repr": "user6", "change_message": ""}, "pk": 18}, {"model": "admin.logentry", "fields": {"action_flag": 1, "user": 1, "content_type": 4, "action_time": "2014-08-13T00:06:51.167Z", "object_id": "8", "object_repr": "user7", "change_message": ""}, "pk": 19}, {"model": "admin.logentry", "fields": {"action_flag": 1, "user": 1, "content_type": 4, "action_time": "2014-08-13T00:06:58.302Z", "object_id": "9", "object_repr": "user8", "change_message": ""}, "pk": 20}, {"model": "admin.logentry", "fields": {"action_flag": 1, "user": 1, "content_type": 4, "action_time": "2014-08-13T00:07:06.103Z", "object_id": "10", "object_repr": "user9", "change_message": ""}, "pk": 21}, {"model": "admin.logentry", "fields": {"action_flag": 1, "user": 1, "content_type": 4, "action_time": "2014-08-19T02:20:10.975Z", "object_id": "11", "object_repr": "user10", "change_message": ""}, "pk": 22}, {"model": "admin.logentry", "fields": {"action_flag": 1, "user": 1, "content_type": 4, "action_time": "2014-08-19T02:20:24.723Z", "object_id": "12", "object_repr": "user11", "change_message": ""}, "pk": 23}, {"model": "admin.logentry", "fields": {"action_flag": 1, "user": 1, "content_type": 4, "action_time": "2014-08-19T02:20:31.332Z", "object_id": "13", "object_repr": "user12", "change_message": ""}, "pk": 24}, {"model": "admin.logentry", "fields": {"action_flag": 1, "user": 1, "content_type": 4, "action_time": "2014-08-19T02:20:40.533Z", "object_id": "14", "object_repr": "user13", "change_message": ""}, "pk": 25}, {"model": "admin.logentry", "fields": {"action_flag": 1, "user": 1, "content_type": 4, "action_time": "2014-08-19T02:20:47.106Z", "object_id": "15", "object_repr": "user14", "change_message": ""}, "pk": 26}, {"model": "admin.logentry", "fields": {"action_flag": 1, "user": 1, "content_type": 4, "action_time": "2014-08-19T02:20:55.265Z", "object_id": "16", "object_repr": "user15", "change_message": ""}, "pk": 27}, {"model": "admin.logentry", "fields": {"action_flag": 1, "user": 1, "content_type": 4, "action_time": "2014-08-19T02:21:03.137Z", "object_id": "17", "object_repr": "user16", "change_message": ""}, "pk": 28}] +[{"pk": 1, "fields": {"project": "project-1", "name": "bug", "deleted": false, "color": "#FF0000", "inverted": true}, "model": "issue.label"}, {"pk": 2, "fields": {"project": "project-1", "name": "feature", "deleted": false, "color": "#00A000", "inverted": true}, "model": "issue.label"}, {"pk": 3, "fields": {"project": "project-1", "name": "documentation", "deleted": false, "color": "#1D3DBE", "inverted": true}, "model": "issue.label"}, {"pk": 4, "fields": {"project": "project-2", "name": "bug", "deleted": false, "color": "#FF0000", "inverted": true}, "model": "issue.label"}, {"pk": 5, "fields": {"project": "project-2", "name": "feature", "deleted": false, "color": "#00A000", "inverted": true}, "model": "issue.label"}, {"pk": 6, "fields": {"project": "project-2", "name": "documentation", "deleted": false, "color": "#1D3DBE", "inverted": true}, "model": "issue.label"}, {"pk": 7, "fields": {"project": "project-2", "name": "low priority", "deleted": false, "color": "#ffffff", "inverted": false}, "model": "issue.label"}, {"pk": 8, "fields": {"project": "project-3", "name": "bug", "deleted": false, "color": "#FF0000", "inverted": true}, "model": "issue.label"}, {"pk": 9, "fields": {"project": "project-3", "name": "feature", "deleted": false, "color": "#00A000", "inverted": true}, "model": "issue.label"}, {"pk": 10, "fields": {"project": "project-3", "name": "documentation", "deleted": false, "color": "#1D3DBE", "inverted": true}, "model": "issue.label"}, {"pk": 1, "fields": {"project": "project-1", "name": "v1.0", "closed": false, "due_date": "2014-08-12T19:43:00Z"}, "model": "issue.milestone"}, {"pk": 2, "fields": {"project": "project-2", "name": "v1.0", "closed": false, "due_date": null}, "model": "issue.milestone"}, {"pk": 3, "fields": {"project": "project-2", "name": "v2.0", "closed": false, "due_date": "2014-08-12T22:18:00Z"}, "model": "issue.milestone"}, {"pk": 1, "fields": {"manage_global_permission": false, "manage_tags": false, "manage_team": false, "grantee_name": "user3", "modify_project": false, "create_issue": false, "add_team": true, "manage_issue": false, "grantee_type": 0, "create_comment": false, "modify_comment": false, "manage_project_permission": false, "delete_tags": false, "modify_issue": false, "delete_project": false, "create_project": true, "delete_issue": false, "delete_comment": false}, "model": "issue.globalpermission"}, {"pk": 4, "fields": {"manage_global_permission": false, "manage_tags": false, "manage_team": false, "grantee_name": "group1", "modify_project": true, "create_issue": false, "add_team": true, "manage_issue": false, "grantee_type": 1, "create_comment": false, "modify_comment": false, "manage_project_permission": false, "delete_tags": false, "modify_issue": false, "delete_project": false, "create_project": false, "delete_issue": false, "delete_comment": false}, "model": "issue.globalpermission"}, {"pk": 5, "fields": {"manage_global_permission": false, "manage_tags": false, "manage_team": false, "grantee_name": "team1", "modify_project": false, "create_issue": false, "add_team": true, "manage_issue": false, "grantee_type": 2, "create_comment": false, "modify_comment": false, "manage_project_permission": false, "delete_tags": false, "modify_issue": false, "delete_project": true, "create_project": false, "delete_issue": false, "delete_comment": false}, "model": "issue.globalpermission"}, {"pk": 6, "fields": {"manage_global_permission": true, "manage_tags": false, "manage_team": false, "grantee_name": "user15", "modify_project": false, "create_issue": false, "add_team": false, "manage_issue": false, "grantee_type": 0, "create_comment": false, "modify_comment": false, "manage_project_permission": false, "delete_tags": false, "modify_issue": false, "delete_project": false, "create_project": false, "delete_issue": false, "delete_comment": false}, "model": "issue.globalpermission"}, {"pk": 1, "fields": {"project": "project-1", "manage_tags": false, "grantee_name": "user3", "create_issue": true, "manage_issue": false, "grantee_type": 0, "modify_comment": false, "manage_project_permission": false, "delete_tags": false, "modify_issue": false, "create_comment": false, "delete_issue": false, "delete_comment": false}, "model": "issue.projectpermission"}, {"pk": 2, "fields": {"project": "project-1", "manage_tags": false, "grantee_name": "group1", "create_issue": false, "manage_issue": false, "grantee_type": 1, "modify_comment": false, "manage_project_permission": false, "delete_tags": false, "modify_issue": true, "create_comment": false, "delete_issue": false, "delete_comment": false}, "model": "issue.projectpermission"}, {"pk": 3, "fields": {"project": "project-1", "manage_tags": false, "grantee_name": "team1", "create_issue": false, "manage_issue": false, "grantee_type": 2, "modify_comment": false, "manage_project_permission": false, "delete_tags": false, "modify_issue": false, "create_comment": false, "delete_issue": true, "delete_comment": false}, "model": "issue.projectpermission"}, {"pk": 4, "fields": {"project": "project-2", "manage_tags": false, "grantee_name": "user2", "create_issue": false, "manage_issue": false, "grantee_type": 0, "modify_comment": false, "manage_project_permission": false, "delete_tags": false, "modify_issue": false, "create_comment": false, "delete_issue": false, "delete_comment": false}, "model": "issue.projectpermission"}, {"pk": 5, "fields": {"project": "project-2", "manage_tags": false, "grantee_name": "user5", "create_issue": true, "manage_issue": false, "grantee_type": 0, "modify_comment": false, "manage_project_permission": false, "delete_tags": false, "modify_issue": false, "create_comment": false, "delete_issue": false, "delete_comment": false}, "model": "issue.projectpermission"}, {"pk": 6, "fields": {"project": "project-2", "manage_tags": false, "grantee_name": "user6", "create_issue": false, "manage_issue": true, "grantee_type": 0, "modify_comment": false, "manage_project_permission": false, "delete_tags": false, "modify_issue": false, "create_comment": false, "delete_issue": false, "delete_comment": false}, "model": "issue.projectpermission"}, {"pk": 7, "fields": {"project": "project-2", "manage_tags": false, "grantee_name": "user7", "create_issue": false, "manage_issue": false, "grantee_type": 0, "modify_comment": false, "manage_project_permission": false, "delete_tags": false, "modify_issue": true, "create_comment": false, "delete_issue": false, "delete_comment": false}, "model": "issue.projectpermission"}, {"pk": 8, "fields": {"project": "project-2", "manage_tags": false, "grantee_name": "user8", "create_issue": false, "manage_issue": false, "grantee_type": 0, "modify_comment": false, "manage_project_permission": false, "delete_tags": false, "modify_issue": false, "create_comment": false, "delete_issue": true, "delete_comment": false}, "model": "issue.projectpermission"}, {"pk": 9, "fields": {"project": "project-2", "manage_tags": false, "grantee_name": "user9", "create_issue": false, "manage_issue": false, "grantee_type": 0, "modify_comment": false, "manage_project_permission": false, "delete_tags": false, "modify_issue": false, "create_comment": true, "delete_issue": false, "delete_comment": false}, "model": "issue.projectpermission"}, {"pk": 10, "fields": {"project": "project-2", "manage_tags": false, "grantee_name": "user10", "create_issue": false, "manage_issue": false, "grantee_type": 0, "modify_comment": true, "manage_project_permission": false, "delete_tags": false, "modify_issue": false, "create_comment": false, "delete_issue": false, "delete_comment": false}, "model": "issue.projectpermission"}, {"pk": 11, "fields": {"project": "project-2", "manage_tags": false, "grantee_name": "user11", "create_issue": false, "manage_issue": false, "grantee_type": 0, "modify_comment": false, "manage_project_permission": false, "delete_tags": false, "modify_issue": false, "create_comment": false, "delete_issue": false, "delete_comment": true}, "model": "issue.projectpermission"}, {"pk": 12, "fields": {"project": "project-2", "manage_tags": true, "grantee_name": "user12", "create_issue": false, "manage_issue": false, "grantee_type": 0, "modify_comment": false, "manage_project_permission": false, "delete_tags": false, "modify_issue": false, "create_comment": false, "delete_issue": false, "delete_comment": false}, "model": "issue.projectpermission"}, {"pk": 13, "fields": {"project": "project-2", "manage_tags": false, "grantee_name": "user13", "create_issue": false, "manage_issue": false, "grantee_type": 0, "modify_comment": false, "manage_project_permission": false, "delete_tags": true, "modify_issue": false, "create_comment": false, "delete_issue": false, "delete_comment": false}, "model": "issue.projectpermission"}, {"pk": 14, "fields": {"project": "project-2", "manage_tags": false, "grantee_name": "user14", "create_issue": false, "manage_issue": false, "grantee_type": 0, "modify_comment": false, "manage_project_permission": true, "delete_tags": false, "modify_issue": false, "create_comment": false, "delete_issue": false, "delete_comment": false}, "model": "issue.projectpermission"}, {"pk": 1, "fields": {"name": "group1", "permissions": []}, "model": "auth.group"}, {"pk": 1, "fields": {"date_joined": "2014-08-08T16:41:05.033Z", "password": "pbkdf2_sha256$12000$qy5asFJAVx57$RneUin16DMOU6PIIdctZqjtUa0PjE2yDIiGAXg3qteI=", "first_name": "", "username": "admin", "is_superuser": true, "email": "", "is_staff": true, "user_permissions": [], "groups": [], "is_active": true, "last_name": "", "last_login": "2014-08-23T05:55:52.315Z"}, "model": "issue.user"}, {"pk": 2, "fields": {"date_joined": "2014-08-08T16:42:31Z", "password": "pbkdf2_sha256$12000$drENNTEqIkBE$2GqTBGncULxAw9bLc6vyta1p/uJGFYuU0zrurDK77nI=", "first_name": "", "username": "user1", "is_superuser": false, "email": "", "is_staff": false, "user_permissions": [], "groups": [], "is_active": true, "last_name": "", "last_login": "2014-08-23T06:07:06.755Z"}, "model": "issue.user"}, {"pk": 3, "fields": {"date_joined": "2014-08-08T18:26:40Z", "password": "pbkdf2_sha256$12000$3EduBVRie3iD$qHAbiBebSQq7RlJogSxeoWlinw8w7bcSXdOgn3WiyeM=", "first_name": "", "username": "user2", "is_superuser": false, "email": "", "is_staff": false, "user_permissions": [], "groups": [1], "is_active": true, "last_name": "", "last_login": "2014-08-23T06:08:36.529Z"}, "model": "issue.user"}, {"pk": 4, "fields": {"date_joined": "2014-08-08T18:27:04Z", "password": "pbkdf2_sha256$12000$9ReiA9Yfsiu2$o+T1rHBTb1wFYIbzDoGliOFhqdHMvvLyOAk80JQnCeg=", "first_name": "", "username": "user3", "is_superuser": false, "email": "", "is_staff": false, "user_permissions": [], "groups": [], "is_active": true, "last_name": "", "last_login": "2014-08-23T06:02:40.746Z"}, "model": "issue.user"}, {"pk": 5, "fields": {"date_joined": "2014-08-08T18:54:24.705Z", "password": "pbkdf2_sha256$12000$V83PwKTT9uhM$E+uXxLKQ7nmrDnJH+b/+MSp8jfkMkH0UxOZjqSjHJw4=", "first_name": "", "username": "user4", "is_superuser": false, "email": "", "is_staff": false, "user_permissions": [], "groups": [], "is_active": true, "last_name": "", "last_login": "2014-08-08T18:54:24.705Z"}, "model": "issue.user"}, {"pk": 6, "fields": {"date_joined": "2014-08-13T00:06:33.263Z", "password": "pbkdf2_sha256$12000$NOPq906lrJ8H$BMHx3slAgeQ3wgCHHjfULRgdhjLoDpQHzzlpzGvK2r0=", "first_name": "", "username": "user5", "is_superuser": false, "email": "", "is_staff": false, "user_permissions": [], "groups": [], "is_active": true, "last_name": "", "last_login": "2014-08-13T06:07:48.508Z"}, "model": "issue.user"}, {"pk": 7, "fields": {"date_joined": "2014-08-13T00:06:45.006Z", "password": "pbkdf2_sha256$12000$qIg3RVaNemsx$aKfUwN4s5szqS2c6t4s3xUm13F9am+rrYdeS17fNA+A=", "first_name": "", "username": "user6", "is_superuser": false, "email": "", "is_staff": false, "user_permissions": [], "groups": [], "is_active": true, "last_name": "", "last_login": "2014-08-13T00:06:45.006Z"}, "model": "issue.user"}, {"pk": 8, "fields": {"date_joined": "2014-08-13T00:06:51.123Z", "password": "pbkdf2_sha256$12000$aMEK1COCL2AQ$V1oN9jBNEk74+VY5Bzk+wgt+iaaDkt5F4lEfoZFuVEM=", "first_name": "", "username": "user7", "is_superuser": false, "email": "", "is_staff": false, "user_permissions": [], "groups": [], "is_active": true, "last_name": "", "last_login": "2014-08-13T00:06:51.123Z"}, "model": "issue.user"}, {"pk": 9, "fields": {"date_joined": "2014-08-13T00:06:58.258Z", "password": "pbkdf2_sha256$12000$pm8DYEcJ3tCd$dCOqr1XBut+SeZPcyaB/n/YvSl82x/ZTqQlqvYoTRAk=", "first_name": "", "username": "user8", "is_superuser": false, "email": "", "is_staff": false, "user_permissions": [], "groups": [], "is_active": true, "last_name": "", "last_login": "2014-08-13T00:06:58.258Z"}, "model": "issue.user"}, {"pk": 10, "fields": {"date_joined": "2014-08-13T00:07:06.058Z", "password": "pbkdf2_sha256$12000$rz8pHZi9D2wd$nS0Wzv6wKGIdaHf/w2W3s4WPc1UzNvrLGpxl73pDlc8=", "first_name": "", "username": "user9", "is_superuser": false, "email": "", "is_staff": false, "user_permissions": [], "groups": [], "is_active": true, "last_name": "", "last_login": "2014-08-13T00:07:06.058Z"}, "model": "issue.user"}, {"pk": 11, "fields": {"date_joined": "2014-08-19T02:20:10.928Z", "password": "pbkdf2_sha256$12000$PnfXEvOFXdkH$KNeQ9EmxcWQItwn0O6GAgrGqSsADpkLHDptLOZqRUz8=", "first_name": "", "username": "user10", "is_superuser": false, "email": "", "is_staff": false, "user_permissions": [], "groups": [], "is_active": true, "last_name": "", "last_login": "2014-08-19T02:20:10.928Z"}, "model": "issue.user"}, {"pk": 12, "fields": {"date_joined": "2014-08-19T02:20:24.679Z", "password": "pbkdf2_sha256$12000$YoD2cw2DWBrJ$grA3gBwYHXTFBm7rYqaYLbjTWfoxg3dMAXAJ5otVUeE=", "first_name": "", "username": "user11", "is_superuser": false, "email": "", "is_staff": false, "user_permissions": [], "groups": [], "is_active": true, "last_name": "", "last_login": "2014-08-19T02:20:24.679Z"}, "model": "issue.user"}, {"pk": 13, "fields": {"date_joined": "2014-08-19T02:20:31.288Z", "password": "pbkdf2_sha256$12000$PtLTOXgu60Fv$fKxvZLB7n70jbzDr5B9IJPcqz+KYdo2kjEsbe4mcpB8=", "first_name": "", "username": "user12", "is_superuser": false, "email": "", "is_staff": false, "user_permissions": [], "groups": [], "is_active": true, "last_name": "", "last_login": "2014-08-19T02:20:31.288Z"}, "model": "issue.user"}, {"pk": 14, "fields": {"date_joined": "2014-08-19T02:20:40.487Z", "password": "pbkdf2_sha256$12000$iOqaasAgA88c$A2lgrA4arjKQiRZ8X/N4X0TwCjk6Pq3b6MmVvFXJivY=", "first_name": "", "username": "user13", "is_superuser": false, "email": "", "is_staff": false, "user_permissions": [], "groups": [], "is_active": true, "last_name": "", "last_login": "2014-08-19T02:20:40.487Z"}, "model": "issue.user"}, {"pk": 15, "fields": {"date_joined": "2014-08-19T02:20:47.060Z", "password": "pbkdf2_sha256$12000$GrNF0rTyUow1$JtdT6tw1KxXEf7sgkBa3EAzWC8+uh1y1wybeZVIT6vc=", "first_name": "", "username": "user14", "is_superuser": false, "email": "", "is_staff": false, "user_permissions": [], "groups": [], "is_active": true, "last_name": "", "last_login": "2014-08-19T02:20:47.059Z"}, "model": "issue.user"}, {"pk": 16, "fields": {"date_joined": "2014-08-19T02:20:55.218Z", "password": "pbkdf2_sha256$12000$ixz6C18KVI4S$wnNJMJwB4oO0yz4NUTqbtrAdq6LxRbXFrq3mq0NkA3w=", "first_name": "", "username": "user15", "is_superuser": false, "email": "", "is_staff": false, "user_permissions": [], "groups": [], "is_active": true, "last_name": "", "last_login": "2014-08-19T02:20:55.218Z"}, "model": "issue.user"}, {"pk": 17, "fields": {"date_joined": "2014-08-19T02:21:03.081Z", "password": "pbkdf2_sha256$12000$LBpJTHuCS7Ri$G8rFIAcTxCUY7gYYoZ1v+qaHhNkitAibIkijZvSJnkU=", "first_name": "", "username": "user16", "is_superuser": false, "email": "", "is_staff": false, "user_permissions": [], "groups": [], "is_active": true, "last_name": "", "last_login": "2014-08-19T02:21:03.081Z"}, "model": "issue.user"}, {"pk": "project-1", "fields": {"access": 1, "description": "This is a public project.", "subscribers": [], "display_name": "Project 1"}, "model": "issue.project"}, {"pk": "project-2", "fields": {"access": 3, "description": "This is a private project.", "subscribers": [], "display_name": "Project 2"}, "model": "issue.project"}, {"pk": "project-3", "fields": {"access": 2, "description": "This is a project reachable only by connected users.", "subscribers": [1], "display_name": "Project 3"}, "model": "issue.project"}, {"pk": 1, "fields": {"project": "project-1", "author": 1, "milestone": 1, "assignee": null, "labels": [1], "title": "Issue 1", "opened_at": "2014-08-13T02:42:36.703Z", "subscribers": [], "id": 1, "closed": false}, "model": "issue.issue"}, {"pk": 2, "fields": {"project": "project-2", "author": 1, "milestone": 3, "assignee": null, "labels": [5, 7], "title": "Issue 1", "opened_at": "2014-08-13T05:18:20.391Z", "subscribers": [], "id": 1, "closed": false}, "model": "issue.issue"}, {"pk": 3, "fields": {"project": "project-2", "author": 1, "milestone": null, "assignee": null, "labels": [], "title": "Issue 2", "opened_at": "2014-08-13T06:04:58.153Z", "subscribers": [], "id": 2, "closed": true}, "model": "issue.issue"}, {"pk": 1, "fields": {"author": 1, "code": 11, "date": "2014-08-13T02:42:36.879Z", "_args": "{}", "issue": 1, "additionnal_section": "This is the first issue."}, "model": "issue.event"}, {"pk": 2, "fields": {"author": 1, "code": 4, "date": "2014-08-13T02:43:24.991Z", "_args": "{\"label\": 1}", "issue": 1, "additionnal_section": ""}, "model": "issue.event"}, {"pk": 3, "fields": {"author": 1, "code": 6, "date": "2014-08-13T02:43:36.623Z", "_args": "{\"milestone\": \"v1.0\"}", "issue": 1, "additionnal_section": ""}, "model": "issue.event"}, {"pk": 4, "fields": {"author": 1, "code": 11, "date": "2014-08-13T05:18:20.585Z", "_args": "{}", "issue": 2, "additionnal_section": "This is the first issue."}, "model": "issue.event"}, {"pk": 5, "fields": {"author": 1, "code": 4, "date": "2014-08-13T05:18:25.994Z", "_args": "{\"label\": 4}", "issue": 2, "additionnal_section": ""}, "model": "issue.event"}, {"pk": 6, "fields": {"author": 1, "code": 4, "date": "2014-08-13T05:18:30.765Z", "_args": "{\"label\": 5}", "issue": 2, "additionnal_section": ""}, "model": "issue.event"}, {"pk": 7, "fields": {"author": 1, "code": 5, "date": "2014-08-13T05:18:33.342Z", "_args": "{\"label\": 4}", "issue": 2, "additionnal_section": ""}, "model": "issue.event"}, {"pk": 8, "fields": {"author": 1, "code": 6, "date": "2014-08-13T05:18:40.484Z", "_args": "{\"milestone\": \"v1.0\"}", "issue": 2, "additionnal_section": ""}, "model": "issue.event"}, {"pk": 9, "fields": {"author": 1, "code": 7, "date": "2014-08-13T05:18:49.552Z", "_args": "{\"new_milestone\": \"v2.0\", \"old_milestone\": \"v1.0\"}", "issue": 2, "additionnal_section": ""}, "model": "issue.event"}, {"pk": 10, "fields": {"author": 1, "code": 10, "date": "2014-08-13T05:19:04.929Z", "_args": "{}", "issue": 2, "additionnal_section": "Done"}, "model": "issue.event"}, {"pk": 11, "fields": {"author": 1, "code": 1, "date": "2014-08-13T05:19:07.194Z", "_args": "{}", "issue": 2, "additionnal_section": ""}, "model": "issue.event"}, {"pk": 12, "fields": {"author": 1, "code": 10, "date": "2014-08-13T05:19:20.077Z", "_args": "{}", "issue": 2, "additionnal_section": "Missing things"}, "model": "issue.event"}, {"pk": 13, "fields": {"author": 1, "code": 2, "date": "2014-08-13T05:19:22.049Z", "_args": "{}", "issue": 2, "additionnal_section": ""}, "model": "issue.event"}, {"pk": 14, "fields": {"author": 1, "code": 4, "date": "2014-08-13T05:23:17.622Z", "_args": "{\"label\": 7}", "issue": 2, "additionnal_section": ""}, "model": "issue.event"}, {"pk": 15, "fields": {"author": 1, "code": 11, "date": "2014-08-13T06:04:58.351Z", "_args": "{}", "issue": 3, "additionnal_section": "This is the second issue."}, "model": "issue.event"}, {"pk": 16, "fields": {"author": 1, "code": 1, "date": "2014-08-13T06:05:00.212Z", "_args": "{}", "issue": 3, "additionnal_section": ""}, "model": "issue.event"}, {"pk": 1, "fields": {"name": "team1", "groups": [], "users": [2]}, "model": "issue.team"}, {"pk": 2, "fields": {"name": "team2", "groups": [1], "users": []}, "model": "issue.team"}] \ No newline at end of file diff --git a/issue/forms.py b/issue/forms.py index 7641652..31578a5 100644 --- a/issue/forms.py +++ b/issue/forms.py @@ -8,9 +8,9 @@ from issue.models import * AddProjectForm = modelform_factory(Project, - fields=['display_name', 'name', 'description', 'public']) + fields=['display_name', 'name', 'description', 'access']) EditProjectForm = modelform_factory(Project, - fields=['display_name', 'description', 'public']) + fields=['display_name', 'description', 'access']) LabelForm = modelform_factory(Label, fields=['name', 'color', 'inverted']) TeamForm = modelform_factory(Team, diff --git a/issue/middleware.py b/issue/middleware.py index fa04f94..81a09c2 100644 --- a/issue/middleware.py +++ b/issue/middleware.py @@ -29,8 +29,9 @@ class ProjectMiddleware: if request.user.is_authenticated() and request.user.is_staff: projects = Project.objects.all() else: - query = Q(public=True) + query = Q(access=Project.ACCESS_PUBLIC) if request.user.is_authenticated(): + query |= Q(access=Project.ACCESS_REGISTERED) # access granted through a team teams = request.user.teams.values_list('name') query |= Q(permissions__grantee_type=PermModel.GRANTEE_TEAM, diff --git a/issue/migrations/0002_auto_20140823_0532.py b/issue/migrations/0002_auto_20140823_0532.py new file mode 100644 index 0000000..c1e698b --- /dev/null +++ b/issue/migrations/0002_auto_20140823_0532.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('issue', '0001_initial'), + ] + + operations = [ + migrations.AddField( + model_name='project', + name='access', + field=models.IntegerField(choices=[(1, 'Public'), (2, 'Connected users'), (3, 'Private')], default=1), + preserve_default=True, + ), + migrations.RemoveField( + model_name='project', + name='public', + ), + ] diff --git a/issue/models.py b/issue/models.py index 88a1afe..f789adb 100644 --- a/issue/models.py +++ b/issue/models.py @@ -29,6 +29,15 @@ class User(AbstractUser): @python_2_unicode_compatible class Project(models.Model): + ACCESS_PUBLIC = 1 + ACCESS_REGISTERED = 2 + ACCESS_PRIVATE = 3 + ACCESS_TYPE = ( + (ACCESS_PUBLIC, 'Public'), + (ACCESS_REGISTERED, 'Registration required'), + (ACCESS_PRIVATE, 'Private'), + ) + url_name_validator = RegexValidator(regex='^[a-z0-9_-]+$', message="Please enter only lowercase characters, number, " "underscores or hyphens.") @@ -43,9 +52,7 @@ class Project(models.Model): description = models.TextField(blank=True, default="", verbose_name="Description") - public = models.BooleanField(default=True, - verbose_name="Do unregistered users have read access " - "to this project?") + access = models.IntegerField(choices=ACCESS_TYPE, default=ACCESS_PUBLIC) subscribers = models.ManyToManyField(User, blank=True, null=True, related_name='subscribed_projects') diff --git a/issue/tests.py b/issue/tests.py index 69af4ff..cd6ea03 100644 --- a/issue/tests.py +++ b/issue/tests.py @@ -72,32 +72,6 @@ class TestPermissions(TestCase): self.assertFalse(user.has_perm('modify_issue', project)) self.assertTrue(user.has_perm('delete_issue', project)) - def test_unregistered_project_list(self): - response = self.client.get('/') - projects = response.context['projects'] - project = Project.objects.get(name='project-1') - self.assertEqual(len(projects), 1) - self.assertEqual(projects[0], project) - - def test_ungranted_project_list(self): - self.client.login(username='user1', password='user1') - response = self.client.get('/') - projects = response.context['projects'] - project = Project.objects.get(name='project-1') - self.assertEqual(len(projects), 1) - self.assertEqual(projects[0], project) - self.client.logout() - - def test_granted_project_list(self): - self.client.login(username='user2', password='user2') - response = self.client.get('/') - projects = response.context['projects'] - project1 = Project.objects.get(name='project-1') - project2 = Project.objects.get(name='project-2') - self.assertEqual(len(projects), 2) - self.assertTrue(project1 in projects) - self.assertTrue(project2 in projects) - class TestNoProject(TestCase): @@ -180,7 +154,8 @@ class TestProjectsViews(TestCase): lambda x: x) def test_home_as_user1(self): - expected = Project.objects.filter(name='project-1') + expected = Project.objects \ + .filter(Q(name='project-1') | Q(name='project-3')) self.client.login(username='user1', password='user1') url = reverse('list-project') self.assertEqual(url, '/') @@ -202,7 +177,8 @@ class TestProjectsViews(TestCase): self.assertNotContains(response, 'New project') def test_home_as_user3(self): - expected = Project.objects.filter(name='project-1') + expected = Project.objects \ + .filter(Q(name='project-1') | Q(name='project-3')) self.client.login(username='user3', password='user3') url = reverse('list-project') self.assertEqual(url, '/') @@ -225,41 +201,41 @@ class TestProjectsViews(TestCase): def test_add_project_granted(self): self.client.login(username='user3', password='user3') - expected_url = reverse('list-project-permission', args=['project-3']) + expected_url = reverse('list-project-permission', args=['project-4']) url = reverse('add-project') response = self.client.post(url, { - 'name': 'project-3', - 'display_name': 'Project 3', - 'description': 'This is the third project.', + 'name': 'project-4', + 'display_name': 'Project 4', + 'description': 'This is the fourth project.', + 'access': Project.ACCESS_PUBLIC, }) self.assertRedirects(response, expected_url) - self.assertQuerysetEqual(Project.objects.all(), - ['project-1', 'project-2', 'project-3'], - lambda x: x.name, ordered=False) + self.assertQuerysetEqual(Project.objects.all(), ['project-%s' % x + for x in (1, 2, 3, 4)], lambda x: x.name, ordered=False) def test_add_project_forbidden(self): self.client.login(username='user1', password='user1') url = reverse('add-project') response = self.client.post(url, { - 'name': 'project-3', - 'display_name': 'Project 3', - 'description': 'This is the third project.', + 'name': 'project-4', + 'display_name': 'Project 4', + 'description': 'This is the foorth project.', }) self.assertEqual(response.status_code, 403) - self.assertQuerysetEqual(Project.objects.all(), - ['project-1', 'project-2'], lambda x: x.name, ordered=False) + self.assertQuerysetEqual(Project.objects.all(), ['project-%s' % x + for x in (1, 2, 3)], lambda x: x.name, ordered=False) def test_add_project_forbidden_ano(self): expected_url = reverse('login') + '?next=' + reverse('add-project') url = reverse('add-project') response = self.client.post(url, { - 'name': 'project-3', - 'display_name': 'Project 3', - 'description': 'This is the third project.', + 'name': 'project-4', + 'display_name': 'Project 4', + 'description': 'This is the foorth project.', }) self.assertRedirects(response, expected_url) - self.assertQuerysetEqual(Project.objects.all(), - ['project-1', 'project-2'], lambda x: x.name, ordered=False) + self.assertQuerysetEqual(Project.objects.all(), ['project-%s' % x + for x in (1, 2, 3)], lambda x: x.name, ordered=False) def test_delete_project_get(self): self.client.login(username='user1', password='user1') @@ -267,8 +243,8 @@ class TestProjectsViews(TestCase): url = reverse('delete-project', args=['project-1']) response = self.client.get(url) self.assertEqual(response.status_code, 405) - self.assertQuerysetEqual(Project.objects.all(), - ['project-1', 'project-2'], lambda x: x.name, ordered=False) + self.assertQuerysetEqual(Project.objects.all(), ['project-%s' % x + for x in (1, 2, 3)], lambda x: x.name, ordered=False) def test_delete_project_granted(self): self.client.login(username='user1', password='user1') @@ -276,16 +252,16 @@ class TestProjectsViews(TestCase): url = reverse('delete-project', args=['project-1']) response = self.client.post(url) self.assertRedirects(response, expected_url) - self.assertQuerysetEqual(Project.objects.all(), - ['project-2'], lambda x: x.name, ordered=False) + self.assertQuerysetEqual(Project.objects.all(), ['project-%s' % x + for x in (2, 3)], lambda x: x.name, ordered=False) def test_delete_project_forbidden(self): self.client.login(username='user2', password='user2') url = reverse('delete-project', args=['project-1']) response = self.client.post(url) self.assertEqual(response.status_code, 403) - self.assertQuerysetEqual(Project.objects.all(), - ['project-1', 'project-2'], lambda x: x.name, ordered=False) + self.assertQuerysetEqual(Project.objects.all(), ['project-%s' % x + for x in (1, 2, 3)], lambda x: x.name, ordered=False) def test_delete_project_forbidden_ano(self): expected_url = reverse('login') + '?next=' \ @@ -293,8 +269,8 @@ class TestProjectsViews(TestCase): url = reverse('delete-project', args=['project-1']) response = self.client.post(url) self.assertRedirects(response, expected_url) - self.assertQuerysetEqual(Project.objects.all(), - ['project-1', 'project-2'], lambda x: x.name, ordered=False) + self.assertQuerysetEqual(Project.objects.all(), ['project-%s' % x + for x in (1, 2, 3)], lambda x: x.name, ordered=False) class TestIssuesViews(TestCase):