<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>publisher/query.py</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -2,18 +2,14 @@ from datetime import datetime
 from django.db.models import Q
 from django.db.models.query import QuerySet
 from django.contrib.sites.models import Site
+from publisher.query import PublisherQuerySet
 from cms import settings
 from cms.exceptions import NoHomeFound
+
 #from cms.utils.urlutils import levelize_path
 
 
-class PageQuerySet(QuerySet):
-    def drafts(self):
-        return self.filter(publisher_is_draft=True)
-    
-    def public(self):
-        return self.filter(publisher_is_draft=False)
-    
+class PageQuerySet(PublisherQuerySet):
     def on_site(self, site=None):
         if not site:
             site = Site.objects.get_current()</diff>
      <filename>cms/models/query.py</filename>
    </modified>
    <modified>
      <diff>@@ -43,130 +43,98 @@
 -   fields: {codename: delete_user, content_type: 3, name: Can delete user}
     model: auth.permission
     pk: 9
--   fields: {codename: add_cmsplugin, content_type: 23, name: Can add cms plugin}
+-   fields: {codename: add_cmsplugin, content_type: 16, name: Can add cms plugin}
     model: auth.permission
-    pk: 67
--   fields: {codename: add_cmspluginpublic, content_type: 26, name: Can add cms plugin
-            public}
-    model: auth.permission
-    pk: 76
--   fields: {codename: add_globalpagepermission, content_type: 19, name: Can add Page
+    pk: 46
+-   fields: {codename: add_globalpagepermission, content_type: 12, name: Can add Page
             global permission}
     model: auth.permission
-    pk: 55
--   fields: {codename: add_page, content_type: 16, name: Can add page}
+    pk: 34
+-   fields: {codename: add_page, content_type: 9, name: Can add page}
     model: auth.permission
-    pk: 46
--   fields: {codename: add_pagemoderator, content_type: 17, name: Can add PageModerator}
+    pk: 25
+-   fields: {codename: add_pagemoderator, content_type: 10, name: Can add PageModerator}
     model: auth.permission
-    pk: 49
--   fields: {codename: add_pagemoderatorstate, content_type: 18, name: Can add Page
+    pk: 28
+-   fields: {codename: add_pagemoderatorstate, content_type: 11, name: Can add Page
             moderator state}
     model: auth.permission
-    pk: 52
--   fields: {codename: add_pagepermission, content_type: 20, name: Can add Page permission}
-    model: auth.permission
-    pk: 58
--   fields: {codename: add_pagepublic, content_type: 25, name: Can add page}
+    pk: 31
+-   fields: {codename: add_pagepermission, content_type: 13, name: Can add Page permission}
     model: auth.permission
-    pk: 73
--   fields: {codename: add_pageuser, content_type: 21, name: Can add User (page)}
+    pk: 37
+-   fields: {codename: add_pageuser, content_type: 14, name: Can add User (page)}
     model: auth.permission
-    pk: 61
--   fields: {codename: add_pageusergroup, content_type: 22, name: Can add User group
+    pk: 40
+-   fields: {codename: add_pageusergroup, content_type: 15, name: Can add User group
             (page)}
     model: auth.permission
-    pk: 64
--   fields: {codename: add_title, content_type: 24, name: Can add title}
-    model: auth.permission
-    pk: 70
--   fields: {codename: add_titlepublic, content_type: 27, name: Can add title public}
-    model: auth.permission
-    pk: 79
--   fields: {codename: change_cmsplugin, content_type: 23, name: Can change cms plugin}
+    pk: 43
+-   fields: {codename: add_title, content_type: 17, name: Can add title}
     model: auth.permission
-    pk: 68
--   fields: {codename: change_cmspluginpublic, content_type: 26, name: Can change
-            cms plugin public}
+    pk: 49
+-   fields: {codename: change_cmsplugin, content_type: 16, name: Can change cms plugin}
     model: auth.permission
-    pk: 77
--   fields: {codename: change_globalpagepermission, content_type: 19, name: Can change
+    pk: 47
+-   fields: {codename: change_globalpagepermission, content_type: 12, name: Can change
             Page global permission}
     model: auth.permission
-    pk: 56
--   fields: {codename: change_page, content_type: 16, name: Can change page}
+    pk: 35
+-   fields: {codename: change_page, content_type: 9, name: Can change page}
     model: auth.permission
-    pk: 47
--   fields: {codename: change_pagemoderator, content_type: 17, name: Can change PageModerator}
+    pk: 26
+-   fields: {codename: change_pagemoderator, content_type: 10, name: Can change PageModerator}
     model: auth.permission
-    pk: 50
--   fields: {codename: change_pagemoderatorstate, content_type: 18, name: Can change
+    pk: 29
+-   fields: {codename: change_pagemoderatorstate, content_type: 11, name: Can change
             Page moderator state}
     model: auth.permission
-    pk: 53
--   fields: {codename: change_pagepermission, content_type: 20, name: Can change Page
+    pk: 32
+-   fields: {codename: change_pagepermission, content_type: 13, name: Can change Page
             permission}
     model: auth.permission
-    pk: 59
--   fields: {codename: change_pagepublic, content_type: 25, name: Can change page}
-    model: auth.permission
-    pk: 74
--   fields: {codename: change_pageuser, content_type: 21, name: Can change User (page)}
+    pk: 38
+-   fields: {codename: change_pageuser, content_type: 14, name: Can change User (page)}
     model: auth.permission
-    pk: 62
--   fields: {codename: change_pageusergroup, content_type: 22, name: Can change User
+    pk: 41
+-   fields: {codename: change_pageusergroup, content_type: 15, name: Can change User
             group (page)}
     model: auth.permission
-    pk: 65
--   fields: {codename: change_title, content_type: 24, name: Can change title}
-    model: auth.permission
-    pk: 71
--   fields: {codename: change_titlepublic, content_type: 27, name: Can change title
-            public}
-    model: auth.permission
-    pk: 80
--   fields: {codename: delete_cmsplugin, content_type: 23, name: Can delete cms plugin}
+    pk: 44
+-   fields: {codename: change_title, content_type: 17, name: Can change title}
     model: auth.permission
-    pk: 69
--   fields: {codename: delete_cmspluginpublic, content_type: 26, name: Can delete
-            cms plugin public}
+    pk: 50
+-   fields: {codename: delete_cmsplugin, content_type: 16, name: Can delete cms plugin}
     model: auth.permission
-    pk: 78
--   fields: {codename: delete_globalpagepermission, content_type: 19, name: Can delete
+    pk: 48
+-   fields: {codename: delete_globalpagepermission, content_type: 12, name: Can delete
             Page global permission}
     model: auth.permission
-    pk: 57
--   fields: {codename: delete_page, content_type: 16, name: Can delete page}
+    pk: 36
+-   fields: {codename: delete_page, content_type: 9, name: Can delete page}
     model: auth.permission
-    pk: 48
--   fields: {codename: delete_pagemoderator, content_type: 17, name: Can delete PageModerator}
+    pk: 27
+-   fields: {codename: delete_pagemoderator, content_type: 10, name: Can delete PageModerator}
     model: auth.permission
-    pk: 51
--   fields: {codename: delete_pagemoderatorstate, content_type: 18, name: Can delete
+    pk: 30
+-   fields: {codename: delete_pagemoderatorstate, content_type: 11, name: Can delete
             Page moderator state}
     model: auth.permission
-    pk: 54
--   fields: {codename: delete_pagepermission, content_type: 20, name: Can delete Page
+    pk: 33
+-   fields: {codename: delete_pagepermission, content_type: 13, name: Can delete Page
             permission}
     model: auth.permission
-    pk: 60
--   fields: {codename: delete_pagepublic, content_type: 25, name: Can delete page}
-    model: auth.permission
-    pk: 75
--   fields: {codename: delete_pageuser, content_type: 21, name: Can delete User (page)}
+    pk: 39
+-   fields: {codename: delete_pageuser, content_type: 14, name: Can delete User (page)}
     model: auth.permission
-    pk: 63
--   fields: {codename: delete_pageusergroup, content_type: 22, name: Can delete User
+    pk: 42
+-   fields: {codename: delete_pageusergroup, content_type: 15, name: Can delete User
             group (page)}
     model: auth.permission
-    pk: 66
--   fields: {codename: delete_title, content_type: 24, name: Can delete title}
-    model: auth.permission
-    pk: 72
--   fields: {codename: delete_titlepublic, content_type: 27, name: Can delete title
-            public}
+    pk: 45
+-   fields: {codename: delete_title, content_type: 17, name: Can delete title}
     model: auth.permission
-    pk: 81
+    pk: 51
 -   fields: {codename: add_contenttype, content_type: 5, name: Can add content type}
     model: auth.permission
     pk: 13
@@ -178,128 +146,71 @@
             type}
     model: auth.permission
     pk: 15
--   fields: {codename: add_file, content_type: 32, name: Can add file}
-    model: auth.permission
-    pk: 94
--   fields: {codename: add_filepublic, content_type: 33, name: Can add file public}
-    model: auth.permission
-    pk: 97
--   fields: {codename: change_file, content_type: 32, name: Can change file}
-    model: auth.permission
-    pk: 95
--   fields: {codename: change_filepublic, content_type: 33, name: Can change file
-            public}
-    model: auth.permission
-    pk: 98
--   fields: {codename: delete_file, content_type: 32, name: Can delete file}
-    model: auth.permission
-    pk: 96
--   fields: {codename: delete_filepublic, content_type: 33, name: Can delete file
-            public}
-    model: auth.permission
-    pk: 99
--   fields: {codename: add_flash, content_type: 34, name: Can add flash}
+-   fields: {codename: add_file, content_type: 20, name: Can add file}
     model: auth.permission
-    pk: 100
--   fields: {codename: add_flashpublic, content_type: 35, name: Can add flash public}
-    model: auth.permission
-    pk: 103
--   fields: {codename: change_flash, content_type: 34, name: Can change flash}
+    pk: 58
+-   fields: {codename: change_file, content_type: 20, name: Can change file}
     model: auth.permission
-    pk: 101
--   fields: {codename: change_flashpublic, content_type: 35, name: Can change flash
-            public}
+    pk: 59
+-   fields: {codename: delete_file, content_type: 20, name: Can delete file}
     model: auth.permission
-    pk: 104
--   fields: {codename: delete_flash, content_type: 34, name: Can delete flash}
+    pk: 60
+-   fields: {codename: add_flash, content_type: 21, name: Can add flash}
     model: auth.permission
-    pk: 102
--   fields: {codename: delete_flashpublic, content_type: 35, name: Can delete flash
-            public}
+    pk: 61
+-   fields: {codename: change_flash, content_type: 21, name: Can change flash}
     model: auth.permission
-    pk: 105
--   fields: {codename: add_googlemap, content_type: 41, name: Can add google map}
+    pk: 62
+-   fields: {codename: delete_flash, content_type: 21, name: Can delete flash}
     model: auth.permission
-    pk: 121
--   fields: {codename: add_googlemappublic, content_type: 42, name: Can add google
-            map public}
+    pk: 63
+-   fields: {codename: add_googlemap, content_type: 25, name: Can add google map}
     model: auth.permission
-    pk: 124
--   fields: {codename: change_googlemap, content_type: 41, name: Can change google
+    pk: 73
+-   fields: {codename: change_googlemap, content_type: 25, name: Can change google
             map}
     model: auth.permission
-    pk: 122
--   fields: {codename: change_googlemappublic, content_type: 42, name: Can change
-            google map public}
-    model: auth.permission
-    pk: 125
--   fields: {codename: delete_googlemap, content_type: 41, name: Can delete google
+    pk: 74
+-   fields: {codename: delete_googlemap, content_type: 25, name: Can delete google
             map}
     model: auth.permission
-    pk: 123
--   fields: {codename: delete_googlemappublic, content_type: 42, name: Can delete
-            google map public}
-    model: auth.permission
-    pk: 126
--   fields: {codename: add_link, content_type: 36, name: Can add link}
-    model: auth.permission
-    pk: 106
--   fields: {codename: add_linkpublic, content_type: 37, name: Can add link public}
-    model: auth.permission
-    pk: 109
--   fields: {codename: change_link, content_type: 36, name: Can change link}
-    model: auth.permission
-    pk: 107
--   fields: {codename: change_linkpublic, content_type: 37, name: Can change link
-            public}
-    model: auth.permission
-    pk: 110
--   fields: {codename: delete_link, content_type: 36, name: Can delete link}
-    model: auth.permission
-    pk: 108
--   fields: {codename: delete_linkpublic, content_type: 37, name: Can delete link
-            public}
-    model: auth.permission
-    pk: 111
--   fields: {codename: add_picture, content_type: 30, name: Can add picture}
+    pk: 75
+-   fields: {codename: add_link, content_type: 22, name: Can add link}
     model: auth.permission
-    pk: 88
--   fields: {codename: add_picturepublic, content_type: 31, name: Can add picture
-            public}
+    pk: 64
+-   fields: {codename: change_link, content_type: 22, name: Can change link}
     model: auth.permission
-    pk: 91
--   fields: {codename: change_picture, content_type: 30, name: Can change picture}
+    pk: 65
+-   fields: {codename: delete_link, content_type: 22, name: Can delete link}
     model: auth.permission
-    pk: 89
--   fields: {codename: change_picturepublic, content_type: 31, name: Can change picture
-            public}
+    pk: 66
+-   fields: {codename: add_picture, content_type: 19, name: Can add picture}
     model: auth.permission
-    pk: 92
--   fields: {codename: delete_picture, content_type: 30, name: Can delete picture}
+    pk: 55
+-   fields: {codename: change_picture, content_type: 19, name: Can change picture}
     model: auth.permission
-    pk: 90
--   fields: {codename: delete_picturepublic, content_type: 31, name: Can delete picture
-            public}
+    pk: 56
+-   fields: {codename: delete_picture, content_type: 19, name: Can delete picture}
     model: auth.permission
-    pk: 93
--   fields: {codename: add_revision, content_type: 9, name: Can add revision}
+    pk: 57
+-   fields: {codename: add_revision, content_type: 27, name: Can add revision}
     model: auth.permission
-    pk: 25
--   fields: {codename: add_version, content_type: 10, name: Can add version}
+    pk: 79
+-   fields: {codename: add_version, content_type: 28, name: Can add version}
     model: auth.permission
-    pk: 28
--   fields: {codename: change_revision, content_type: 9, name: Can change revision}
+    pk: 82
+-   fields: {codename: change_revision, content_type: 27, name: Can change revision}
     model: auth.permission
-    pk: 26
--   fields: {codename: change_version, content_type: 10, name: Can change version}
+    pk: 80
+-   fields: {codename: change_version, content_type: 28, name: Can change version}
     model: auth.permission
-    pk: 29
--   fields: {codename: delete_revision, content_type: 9, name: Can delete revision}
+    pk: 83
+-   fields: {codename: delete_revision, content_type: 27, name: Can delete revision}
     model: auth.permission
-    pk: 27
--   fields: {codename: delete_version, content_type: 10, name: Can delete version}
+    pk: 81
+-   fields: {codename: delete_version, content_type: 28, name: Can delete version}
     model: auth.permission
-    pk: 30
+    pk: 84
 -   fields: {codename: add_session, content_type: 6, name: Can add session}
     model: auth.permission
     pk: 16
@@ -318,311 +229,269 @@
 -   fields: {codename: delete_site, content_type: 8, name: Can delete site}
     model: auth.permission
     pk: 24
--   fields: {codename: add_snippet, content_type: 38, name: Can add snippet}
-    model: auth.permission
-    pk: 112
--   fields: {codename: add_snippetptr, content_type: 39, name: Can add Snippet}
-    model: auth.permission
-    pk: 115
--   fields: {codename: add_snippetptrpublic, content_type: 40, name: Can add Snippet}
-    model: auth.permission
-    pk: 118
--   fields: {codename: change_snippet, content_type: 38, name: Can change snippet}
-    model: auth.permission
-    pk: 113
--   fields: {codename: change_snippetptr, content_type: 39, name: Can change Snippet}
-    model: auth.permission
-    pk: 116
--   fields: {codename: change_snippetptrpublic, content_type: 40, name: Can change
-            Snippet}
-    model: auth.permission
-    pk: 119
--   fields: {codename: delete_snippet, content_type: 38, name: Can delete snippet}
-    model: auth.permission
-    pk: 114
--   fields: {codename: delete_snippetptr, content_type: 39, name: Can delete Snippet}
-    model: auth.permission
-    pk: 117
--   fields: {codename: delete_snippetptrpublic, content_type: 40, name: Can delete
-            Snippet}
-    model: auth.permission
-    pk: 120
--   fields: {codename: add_migrationhistory, content_type: 11, name: Can add migration
-            history}
-    model: auth.permission
-    pk: 31
--   fields: {codename: change_migrationhistory, content_type: 11, name: Can change
-            migration history}
-    model: auth.permission
-    pk: 32
--   fields: {codename: delete_migrationhistory, content_type: 11, name: Can delete
-            migration history}
-    model: auth.permission
-    pk: 33
--   fields: {codename: add_store, content_type: 12, name: Can add Store}
+-   fields: {codename: add_snippet, content_type: 23, name: Can add snippet}
     model: auth.permission
-    pk: 34
--   fields: {codename: add_storeitem, content_type: 13, name: Can add Store item}
-    model: auth.permission
-    pk: 37
--   fields: {codename: add_storeitempublic, content_type: 15, name: Can add Store
-            item}
-    model: auth.permission
-    pk: 43
--   fields: {codename: add_storepublic, content_type: 14, name: Can add Store}
-    model: auth.permission
-    pk: 40
--   fields: {codename: change_store, content_type: 12, name: Can change Store}
-    model: auth.permission
-    pk: 35
--   fields: {codename: change_storeitem, content_type: 13, name: Can change Store
-            item}
-    model: auth.permission
-    pk: 38
--   fields: {codename: change_storeitempublic, content_type: 15, name: Can change
-            Store item}
-    model: auth.permission
-    pk: 44
--   fields: {codename: change_storepublic, content_type: 14, name: Can change Store}
-    model: auth.permission
-    pk: 41
--   fields: {codename: delete_store, content_type: 12, name: Can delete Store}
-    model: auth.permission
-    pk: 36
--   fields: {codename: delete_storeitem, content_type: 13, name: Can delete Store
-            item}
-    model: auth.permission
-    pk: 39
--   fields: {codename: delete_storeitempublic, content_type: 15, name: Can delete
-            Store item}
-    model: auth.permission
-    pk: 45
--   fields: {codename: delete_storepublic, content_type: 14, name: Can delete Store}
-    model: auth.permission
-    pk: 42
--   fields: {codename: add_teaser, content_type: 43, name: Can add teaser}
-    model: auth.permission
-    pk: 127
--   fields: {codename: add_teaserpublic, content_type: 44, name: Can add teaser public}
+    pk: 67
+-   fields: {codename: add_snippetptr, content_type: 24, name: Can add Snippet}
     model: auth.permission
-    pk: 130
--   fields: {codename: change_teaser, content_type: 43, name: Can change teaser}
+    pk: 70
+-   fields: {codename: change_snippet, content_type: 23, name: Can change snippet}
     model: auth.permission
-    pk: 128
--   fields: {codename: change_teaserpublic, content_type: 44, name: Can change teaser
-            public}
+    pk: 68
+-   fields: {codename: change_snippetptr, content_type: 24, name: Can change Snippet}
     model: auth.permission
-    pk: 131
--   fields: {codename: delete_teaser, content_type: 43, name: Can delete teaser}
+    pk: 71
+-   fields: {codename: delete_snippet, content_type: 23, name: Can delete snippet}
     model: auth.permission
-    pk: 129
--   fields: {codename: delete_teaserpublic, content_type: 44, name: Can delete teaser
-            public}
+    pk: 69
+-   fields: {codename: delete_snippetptr, content_type: 24, name: Can delete Snippet}
     model: auth.permission
-    pk: 132
--   fields: {codename: add_text, content_type: 28, name: Can add text}
+    pk: 72
+-   fields: {codename: add_teaser, content_type: 26, name: Can add teaser}
     model: auth.permission
-    pk: 82
--   fields: {codename: add_textpublic, content_type: 29, name: Can add text public}
+    pk: 76
+-   fields: {codename: change_teaser, content_type: 26, name: Can change teaser}
     model: auth.permission
-    pk: 85
--   fields: {codename: change_text, content_type: 28, name: Can change text}
+    pk: 77
+-   fields: {codename: delete_teaser, content_type: 26, name: Can delete teaser}
     model: auth.permission
-    pk: 83
--   fields: {codename: change_textpublic, content_type: 29, name: Can change text
-            public}
+    pk: 78
+-   fields: {codename: add_text, content_type: 18, name: Can add text}
     model: auth.permission
-    pk: 86
--   fields: {codename: delete_text, content_type: 28, name: Can delete text}
+    pk: 52
+-   fields: {codename: change_text, content_type: 18, name: Can change text}
     model: auth.permission
-    pk: 84
--   fields: {codename: delete_textpublic, content_type: 29, name: Can delete text
-            public}
+    pk: 53
+-   fields: {codename: delete_text, content_type: 18, name: Can delete text}
     model: auth.permission
-    pk: 87
+    pk: 54
 -   fields:
-        date_joined: 2009-07-10 08:11:55
+        date_joined: 2009-07-21 16:00:34
         email: pcicman@gmail.com
         first_name: ''
         groups: []
         is_active: 1
         is_staff: 1
         is_superuser: 1
-        last_login: 2009-07-10 08:12:37
+        last_login: 2009-07-21 16:08:59
         last_name: ''
-        password: sha1$19807$9746d0be87c2a4cba853f8c6e9d3b7bbadb4afe7
+        password: sha1$4603a$a978906c313ed98d72c3414826e304f6e1ebeaef
         user_permissions: []
         username: super
     model: auth.user
     pk: 1
 -   fields:
-        date_joined: 2009-07-10 08:13:33
+        date_joined: 2009-07-21 16:03:22
         email: ''
         first_name: ''
         groups: []
         is_active: 1
         is_staff: 1
         is_superuser: 0
-        last_login: 2009-07-10 08:14:37
+        last_login: 2009-07-21 16:11:35
         last_name: ''
-        password: sha1$13620$58c41f140dd48e28f45c9ff8becc261f546bcada
-        user_permissions: [46, 58, 61, 64, 47, 59, 62, 65, 48, 60, 63, 66]
+        password: sha1$947a0$757a15d7aa06e06a1a5cf29d3d5a878fee87435a
+        user_permissions: [25, 37, 40, 43, 26, 38, 41, 44, 27, 39, 42, 45]
         username: master
     model: auth.user
     pk: 2
 -   fields:
-        date_joined: 2009-07-10 08:15:31
+        date_joined: 2009-07-21 16:09:48
         email: ''
         first_name: ''
         groups: []
         is_active: 1
         is_staff: 1
         is_superuser: 0
-        last_login: 2009-07-10 08:15:31
+        last_login: 2009-07-21 16:09:48
         last_name: ''
-        password: sha1$aa3bc$4a5cde81f601811320173b4e6e64a15a01bb305e
-        user_permissions: [46, 47]
+        password: sha1$f642b$a75fe4a0ea48d129c1577c6e961a76f113722719
+        user_permissions: [25, 26, 27]
         username: slave
     model: auth.user
     pk: 3
--   fields: {expire_date: !!timestamp '2009-07-24 08:16:21', session_data: 'gAJ9cQEoVQ5jbXNfYWRtaW5fc2l0ZXECigEBVRJfYXV0aF91c2VyX2JhY2tlbmRxA1UpZGphbmdv
+-   fields: {expire_date: !!timestamp '2009-08-04 16:11:37', session_data: 'gAJ9cQEoVQ5jbXNfYWRtaW5fc2l0ZXECigEBVQ1fYXV0aF91c2VyX2lkcQOKAQJVD2RqYW5nb19s
 
-            LmNvbnRyaWIuYXV0aC5iYWNrZW5kcy5Nb2RlbEJhY2tlbmRxBFUPZGphbmdvX2xhbmd1YWdlcQVY
+            YW5ndWFnZXEEWAIAAABlbnEFVRJfYXV0aF91c2VyX2JhY2tlbmRxBlUpZGphbmdvLmNvbnRyaWIu
 
-            AgAAAGVucQZVDV9hdXRoX3VzZXJfaWRxB4oBAnUuOTA0NGZhNDgyMzllZWM4ZjUzZDNmMTkzYWU4
+            YXV0aC5iYWNrZW5kcy5Nb2RlbEJhY2tlbmRxB3UuZDFjZmZlOGE2M2MyMjFjYmZmMDhiOTcyMmY2
 
-            YTg0Njg=
+            ZDRmNmU=
 
             '}
     model: sessions.session
-    pk: c230fc8f421e5123109bd730dbbad603
--   fields: {action_flag: 2, action_time: !!timestamp '2009-07-10 08:16:03', change_message: 'Added
-            Page permission &quot;slave-home :: slave has: a&quot;.', content_type: 16, object_id: '3',
-        object_repr: slave-home, user: 2}
+    pk: 431f32490dbb0536c1b5158fa7311c29
+-   fields: {action_flag: 2, action_time: !!timestamp '2009-07-21 16:10:56', change_message: 'Added
+            Page permission &quot;master :: master has: a&quot;.', content_type: 9, object_id: '3',
+        object_repr: master, user: 1}
+    model: admin.logentry
+    pk: 11
+-   fields: {action_flag: 2, action_time: !!timestamp '2009-07-21 16:09:58', change_message: 'Added
+            Page permission &quot;slave-home :: slave has: a&quot;.', content_type: 9, object_id: '5',
+        object_repr: slave-home, user: 1}
+    model: admin.logentry
+    pk: 10
+-   fields: {action_flag: 1, action_time: !!timestamp '2009-07-21 16:09:48', change_message: '',
+        content_type: 14, object_id: '3', object_repr: slave, user: 1}
+    model: admin.logentry
+    pk: 9
+-   fields: {action_flag: 1, action_time: !!timestamp '2009-07-21 16:09:24', change_message: '',
+        content_type: 9, object_id: '5', object_repr: slave-home, user: 1}
     model: admin.logentry
     pk: 8
--   fields: {action_flag: 1, action_time: !!timestamp '2009-07-10 08:15:31', change_message: '',
-        content_type: 21, object_id: '3', object_repr: slave, user: 2}
+-   fields: {action_flag: 2, action_time: !!timestamp '2009-07-21 16:07:20', change_message: 'Added
+            Page permission &quot;pagea :: master has: a&quot;.', content_type: 9, object_id: '4',
+        object_repr: pagea, user: 1}
     model: admin.logentry
     pk: 7
--   fields: {action_flag: 1, action_time: !!timestamp '2009-07-10 08:15:00', change_message: '',
-        content_type: 16, object_id: '3', object_repr: slave-home, user: 2}
+-   fields: {action_flag: 1, action_time: !!timestamp '2009-07-21 16:07:05', change_message: '',
+        content_type: 9, object_id: '4', object_repr: pagea, user: 1}
     model: admin.logentry
     pk: 6
--   fields: {action_flag: 2, action_time: !!timestamp '2009-07-10 08:14:24', change_message: 'Added
-            Page permission &quot;home :: master has: a&quot;.', content_type: 16, object_id: '1',
-        object_repr: home, user: 1}
+-   fields: {action_flag: 1, action_time: !!timestamp '2009-07-21 16:06:06', change_message: '',
+        content_type: 9, object_id: '3', object_repr: master, user: 1}
     model: admin.logentry
     pk: 5
--   fields: {action_flag: 2, action_time: !!timestamp '2009-07-10 08:14:06', change_message: 'Added
-            Page permission &quot;master :: master has: a&quot;.', content_type: 16, object_id: '2',
-        object_repr: master, user: 1}
+-   fields: {action_flag: 2, action_time: !!timestamp '2009-07-21 16:05:30', change_message: 'Added
+            Page permission &quot;home :: master has: a&quot;.', content_type: 9, object_id: '1',
+        object_repr: home, user: 1}
     model: admin.logentry
     pk: 4
--   fields: {action_flag: 1, action_time: !!timestamp '2009-07-10 08:13:33', change_message: '',
-        content_type: 21, object_id: '2', object_repr: master, user: 1}
+-   fields: {action_flag: 2, action_time: !!timestamp '2009-07-21 16:05:14', change_message: No
+            fields changed., content_type: 9, object_id: '1', object_repr: home, user: 1}
     model: admin.logentry
     pk: 3
--   fields: {action_flag: 1, action_time: !!timestamp '2009-07-10 08:13:09', change_message: '',
-        content_type: 16, object_id: '2', object_repr: master, user: 1}
+-   fields: {action_flag: 1, action_time: !!timestamp '2009-07-21 16:03:22', change_message: '',
+        content_type: 14, object_id: '2', object_repr: master, user: 1}
     model: admin.logentry
     pk: 2
--   fields: {action_flag: 1, action_time: !!timestamp '2009-07-10 08:12:51', change_message: '',
-        content_type: 16, object_id: '1', object_repr: home, user: 1}
+-   fields: {action_flag: 1, action_time: !!timestamp '2009-07-21 16:02:30', change_message: '',
+        content_type: 9, object_id: '1', object_repr: home, user: 1}
     model: admin.logentry
     pk: 1
 -   fields: {domain: example.com, name: example.com}
     model: sites.site
     pk: 1
--   fields: {changed_by: super, created_by: super, creation_date: !!timestamp '2009-07-10
-            08:12:51', in_navigation: 1, level: 0, lft: 1, login_required: 0, moderator_state: 10,
-        navigation_extenders: null, parent: null, public: 1, publication_date: null,
-        publication_end_date: null, published: 1, reverse_id: null, rght: 2, site: 1,
-        soft_root: 0, template: index.html, tree_id: 1}
+-   fields: {changed_by: super, created_by: super, creation_date: !!timestamp '2009-07-21
+            16:02:30', in_navigation: 1, level: 0, lft: 1, login_required: 0, moderator_state: 10,
+        navigation_extenders: null, parent: null, publication_date: null, publication_end_date: null,
+        published: 1, publisher_is_draft: 1, publisher_public: 2, publisher_state: 1,
+        reverse_id: null, rght: 2, site: 1, soft_root: 0, template: index.html, tree_id: 1}
     model: cms.page
     pk: 1
--   fields: {changed_by: super, created_by: super, creation_date: !!timestamp '2009-07-10
-            08:13:09', in_navigation: 0, level: 0, lft: 1, login_required: 0, moderator_state: 0,
-        navigation_extenders: null, parent: null, public: null, publication_date: null,
-        publication_end_date: null, published: 0, reverse_id: null, rght: 4, site: 1,
-        soft_root: 0, template: index.html, tree_id: 2}
+-   fields: {changed_by: super, created_by: super, creation_date: !!timestamp '2009-07-21
+            16:02:30', in_navigation: 1, level: 0, lft: 1, login_required: 0, moderator_state: 1,
+        navigation_extenders: null, parent: null, publication_date: null, publication_end_date: null,
+        published: 1, publisher_is_draft: 0, publisher_public: null, publisher_state: 0,
+        reverse_id: null, rght: 2, site: 1, soft_root: 0, template: index.html, tree_id: 2}
     model: cms.page
     pk: 2
--   fields: {changed_by: master, created_by: master, creation_date: !!timestamp '2009-07-10
-            08:15:00', in_navigation: 0, level: 1, lft: 2, login_required: 0, moderator_state: 0,
-        navigation_extenders: null, parent: 2, public: null, publication_date: null,
-        publication_end_date: null, published: 0, reverse_id: null, rght: 3, site: 1,
-        soft_root: 0, template: index.html, tree_id: 2}
+-   fields: {changed_by: super, created_by: super, creation_date: !!timestamp '2009-07-21
+            16:06:06', in_navigation: 0, level: 0, lft: 1, login_required: 0, moderator_state: 1,
+        navigation_extenders: null, parent: null, publication_date: null, publication_end_date: null,
+        published: 0, publisher_is_draft: 1, publisher_public: null, publisher_state: 1,
+        reverse_id: null, rght: 4, site: 1, soft_root: 0, template: index.html, tree_id: 3}
     model: cms.page
     pk: 3
--   fields: {moderate_children: 1, moderate_descendants: 1, moderate_page: 0, page: 2,
+-   fields: {changed_by: super, created_by: super, creation_date: !!timestamp '2009-07-21
+            16:09:24', in_navigation: 0, level: 1, lft: 2, login_required: 0, moderator_state: 1,
+        navigation_extenders: null, parent: 3, publication_date: null, publication_end_date: null,
+        published: 0, publisher_is_draft: 1, publisher_public: null, publisher_state: 1,
+        reverse_id: null, rght: 3, site: 1, soft_root: 0, template: index.html, tree_id: 3}
+    model: cms.page
+    pk: 5
+-   fields: {changed_by: super, created_by: super, creation_date: !!timestamp '2009-07-21
+            16:07:05', in_navigation: 0, level: 0, lft: 1, login_required: 0, moderator_state: 1,
+        navigation_extenders: null, parent: null, publication_date: null, publication_end_date: null,
+        published: 0, publisher_is_draft: 1, publisher_public: null, publisher_state: 1,
+        reverse_id: null, rght: 2, site: 1, soft_root: 0, template: index.html, tree_id: 4}
+    model: cms.page
+    pk: 4
+-   fields: {moderate_children: 1, moderate_descendants: 1, moderate_page: 1, page: 5,
         user: 2}
     model: cms.pagemoderator
     pk: 1
--   fields: {action: ADD, created: !!timestamp '2009-07-10 08:13:09', message: '',
+-   fields: {action: ADD, created: !!timestamp '2009-07-21 16:02:41', message: '',
         page: 2, user: 1}
     model: cms.pagemoderatorstate
     pk: 3
--   fields: {action: ADD, created: !!timestamp '2009-07-10 08:15:00', message: '',
-        page: 3, user: 2}
+-   fields: {action: PUB, created: !!timestamp '2009-07-21 16:02:41', message: '',
+        page: 2, user: 1}
     model: cms.pagemoderatorstate
     pk: 4
+-   fields: {action: ADD, created: !!timestamp '2009-07-21 16:06:06', message: '',
+        page: 3, user: 1}
+    model: cms.pagemoderatorstate
+    pk: 5
+-   fields: {action: ADD, created: !!timestamp '2009-07-21 16:09:24', message: '',
+        page: 5, user: 1}
+    model: cms.pagemoderatorstate
+    pk: 7
+-   fields: {action: ADD, created: !!timestamp '2009-07-21 16:07:05', message: '',
+        page: 4, user: 1}
+    model: cms.pagemoderatorstate
+    pk: 6
 -   fields: {can_add: 1, can_change: 1, can_change_advanced_settings: 1, can_change_permissions: 1,
-        can_delete: 1, can_moderate: 1, can_move_page: 1, can_publish: 1, grant_on: 5,
-        group: null, page: 2, user: 2}
+        can_delete: 1, can_moderate: 1, can_move_page: 1, can_publish: 1, grant_on: 4,
+        group: null, page: 1, user: 2}
     model: cms.pagepermission
     pk: 1
 -   fields: {can_add: 1, can_change: 1, can_change_advanced_settings: 1, can_change_permissions: 1,
         can_delete: 1, can_moderate: 1, can_move_page: 1, can_publish: 1, grant_on: 4,
-        group: null, page: 1, user: 2}
+        group: null, page: 4, user: 2}
     model: cms.pagepermission
     pk: 2
--   fields: {can_add: 1, can_change: 1, can_change_advanced_settings: 1, can_change_permissions: 0,
+-   fields: {can_add: 1, can_change: 1, can_change_advanced_settings: 0, can_change_permissions: 0,
         can_delete: 1, can_moderate: 1, can_move_page: 1, can_publish: 1, grant_on: 5,
-        group: null, page: 3, user: 3}
+        group: null, page: 5, user: 3}
     model: cms.pagepermission
     pk: 3
+-   fields: {can_add: 1, can_change: 1, can_change_advanced_settings: 1, can_change_permissions: 1,
+        can_delete: 1, can_moderate: 1, can_move_page: 1, can_publish: 1, grant_on: 5,
+        group: null, page: 3, user: 2}
+    model: cms.pagepermission
+    pk: 4
 -   fields:
         created_by: 1
         groups: []
-        user_permissions: [46, 58, 61, 64, 47, 59, 62, 65, 48, 60, 63, 66]
+        user_permissions: [25, 37, 40, 43, 26, 38, 41, 44, 27, 39, 42, 45]
     model: cms.pageuser
     pk: 2
 -   fields:
-        created_by: 2
+        created_by: 1
         groups: []
-        user_permissions: [46, 47]
+        user_permissions: [25, 26, 27]
     model: cms.pageuser
     pk: 3
--   fields: {application_urls: '', creation_date: !!timestamp '2009-07-10 08:12:51',
+-   fields: {application_urls: '', creation_date: !!timestamp '2009-07-21 16:02:30',
         has_url_overwrite: 0, language: en, menu_title: '', meta_description: '',
-        meta_keywords: '', page: 1, page_title: '', path: home, public: 1, redirect: '',
-        slug: home, title: home}
+        meta_keywords: '', page: 1, page_title: '', path: home, publisher_is_draft: 1,
+        publisher_public: 2, publisher_state: 1, redirect: '', slug: home, title: home}
     model: cms.title
     pk: 1
--   fields: {application_urls: '', creation_date: !!timestamp '2009-07-10 08:13:09',
+-   fields: {application_urls: '', creation_date: !!timestamp '2009-07-21 16:02:30',
         has_url_overwrite: 0, language: en, menu_title: '', meta_description: '',
-        meta_keywords: '', page: 2, page_title: '', path: master, public: null, redirect: '',
-        slug: master, title: master}
+        meta_keywords: '', page: 2, page_title: '', path: home, publisher_is_draft: 0,
+        publisher_public: null, publisher_state: 0, redirect: '', slug: home, title: home}
     model: cms.title
     pk: 2
--   fields: {application_urls: '', creation_date: !!timestamp '2009-07-10 08:15:00',
+-   fields: {application_urls: '', creation_date: !!timestamp '2009-07-21 16:06:06',
         has_url_overwrite: 0, language: en, menu_title: '', meta_description: '',
-        meta_keywords: '', page: 3, page_title: '', path: master/slave-home, public: null,
-        redirect: '', slug: slave-home, title: slave-home}
+        meta_keywords: '', page: 3, page_title: '', path: master, publisher_is_draft: 1,
+        publisher_public: null, publisher_state: 1, redirect: '', slug: master, title: master}
     model: cms.title
     pk: 3
--   fields: {changed_by: super, created_by: super, creation_date: !!timestamp '2009-07-10
-            08:12:51', in_navigation: 1, level: 0, lft: 1, login_required: 0, mark_delete: 0,
-        moderator_state: 1, navigation_extenders: null, parent: null, publication_date: null,
-        publication_end_date: null, published: 1, reverse_id: null, rght: 2, site: 1,
-        soft_root: 0, template: index.html, tree_id: 1}
-    model: cms.pagepublic
-    pk: 1
--   fields: {application_urls: null, creation_date: !!timestamp '2009-07-10 08:12:51',
-        has_url_overwrite: 0, language: en, mark_delete: 0, menu_title: null, meta_description: null,
-        meta_keywords: null, page: 1, page_title: null, path: home, redirect: null,
-        slug: home, title: home}
-    model: cms.titlepublic
-    pk: 1
+-   fields: {application_urls: '', creation_date: !!timestamp '2009-07-21 16:07:05',
+        has_url_overwrite: 0, language: en, menu_title: '', meta_description: '',
+        meta_keywords: '', page: 4, page_title: '', path: pagea, publisher_is_draft: 1,
+        publisher_public: null, publisher_state: 1, redirect: '', slug: pagea, title: pageA}
+    model: cms.title
+    pk: 4
+-   fields: {application_urls: '', creation_date: !!timestamp '2009-07-21 16:09:24',
+        has_url_overwrite: 0, language: en, menu_title: '', meta_description: '',
+        meta_keywords: '', page: 5, page_title: '', path: master/slave-home, publisher_is_draft: 1,
+        publisher_public: null, publisher_state: 1, redirect: '', slug: slave-home,
+        title: slave-home}
+    model: cms.title
+    pk: 5
 </diff>
      <filename>cms/tests/fixtures/permission.yaml</filename>
    </modified>
    <modified>
      <diff>@@ -62,8 +62,8 @@ class PagesTestCase(PageBaseTestCase):
         assert(page.get_slug() == page_data['slug'])
         
         # were public instanes created?
-        title = Title.PublicModel.objects.get(slug=page_data['slug'])
-        assert(isinstance(title.page, Page.PublicModel))
+        title = Title.objects.drafts().get(slug=page_data['slug'])
+
         
     def test_03_slug_collision(self):
         &quot;&quot;&quot;
@@ -224,6 +224,11 @@ class PagesTestCase(PageBaseTestCase):
         &quot;&quot;&quot;
         Test that a page can be copied via the admin
         &quot;&quot;&quot;
+        raise &quot;must be reimplemented, because ids doesnt work with this system&quot;
+    
+        # this case is not written properly, it must always check what was the
+        # id of created page!!
+        
         self.client.login(username= 'test', password='test')
         setattr(settings, &quot;SITE_ID&quot;, 1)
         page_data = self.get_new_page_data()</diff>
      <filename>cms/tests/page.py</filename>
    </modified>
    <modified>
      <diff>@@ -13,7 +13,7 @@ class PermissionModeratorTestCase(PageBaseTestCase):
     
     Users:
         1. `super`: superuser
-        2. `master`: user with permissions to all aplications
+        2. `master`: user with permissions to all applications
         3. `slave`: user assigned to page `slave-home` can add/change/delete page
     
     Pages:
@@ -23,6 +23,7 @@ class PermissionModeratorTestCase(PageBaseTestCase):
             
         2. `master`:
             - crated by super
+            - `master` can do anything on it and its descendants
             - subpages:
         
         3.       `slave-home`: </diff>
      <filename>cms/tests/permmod.py</filename>
    </modified>
    <modified>
      <diff>@@ -8,9 +8,9 @@ def is_valid_page_slug(page, parent, lang, slug, site):
     &quot;&quot;&quot;
     from cms.models import Title
     if cms_settings.CMS_UNIQUE_SLUGS:
-        titles = Title.objects.filter(slug=slug)
+        titles = Title.objects.filter(slug=slug, publisher_is_draft=True)
     else:
-        titles = Title.objects.filter(slug=slug, language=lang)
+        titles = Title.objects.filter(slug=slug, language=lang, publisher_is_draft=True)
     if not cms_settings.CMS_FLAT_URLS:
         if parent and not parent.is_home(): 
             titles = titles.filter(page__parent=parent)</diff>
      <filename>cms/utils/page.py</filename>
    </modified>
    <modified>
      <diff>@@ -67,7 +67,6 @@ def _get_ordered_insertion_target(node, parent):
     return right_sibling
 
 def pre_save(instance, **kwargs):
-    print &quot;&gt;&gt;&gt; mptt pre_save signal&quot;
     &quot;&quot;&quot;
     If this is a new node, sets tree fields up before it is inserted
     into the database, making room in the tree structure as neccessary,
@@ -125,5 +124,4 @@ def pre_save(instance, **kwargs):
             finally:
                 # Make sure the instance's new parent is always
                 # restored on the way out in case of errors.
-                setattr(instance, opts.parent_attr, parent)
-    print &quot;&gt;&gt;&gt; mptt pre_save signal over&quot;
\ No newline at end of file
+                setattr(instance, opts.parent_attr, parent)
\ No newline at end of file</diff>
      <filename>mptt/signals.py</filename>
    </modified>
    <modified>
      <diff>@@ -5,16 +5,4 @@ from manager import PublisherManager
 
 __all__ = ('Publisher', 'PublisherManager', 'MpttPublisher', 'Mptt', 'VERSION')
 
-VERSION = (0, 3, 'sintab')
-
-
-'''
-if settings.DEBUG:
-    from django.core.exceptions import ImproperlyConfigured
-    # just check if Publisher is last application in INSTALLED_APPS
-    #if not settings.INSTALLED_APPS[0] == &quot;publisher.pre_publisher&quot;:
-    #    raise ImproperlyConfigured(&quot;publisher.pre_publisher must be first installed application&quot;)
-    if not settings.INSTALLED_APPS[-1] == &quot;publisher&quot;:
-        raise ImproperlyConfigured(&quot;publisher must be last installed application&quot;)
-    
-'''
\ No newline at end of file
+VERSION = (0, 3, 'sintab')
\ No newline at end of file</diff>
      <filename>publisher/__init__.py</filename>
    </modified>
    <modified>
      <diff>@@ -34,6 +34,9 @@ def install_publisher():
                                    &quot;so its 'objects' manager must be &quot; +
                                    &quot;a subclass of publisher.PublisherManager&quot;) % (name,)
             
+            if not 'objects' in attrs:
+                attrs['objects'] = PublisherManager()
+            
             attrs['_is_publisher_model'] = lambda self: True
             
             # build meta object</diff>
      <filename>publisher/base.py</filename>
    </modified>
    <modified>
      <diff>@@ -1,143 +1,24 @@
 from django.db import models
+from publisher.query import PublisherQuerySet
 
 class PublisherManager(models.Manager):
     &quot;&quot;&quot;Manager with some support handling publisher.
     &quot;&quot;&quot;
+    def get_query_set(self):
+        &quot;&quot;&quot;Change standard model queryset to our own.
+        &quot;&quot;&quot;
+        return PublisherQuerySet(self.model)
+    
     def drafts(self):
         return self.filter(publisher_is_draft=True)
     
     def public(self):
         return self.filter(publisher_is_draft=False)
-
-
-'''
-from django.db import models
-from django.db.models.base import ModelBase
-from django.db.models.loading import get_model
-from django.db.models.fields.related import RelatedField, add_lazy_relation,\
-    ManyToOneRel
-    
-class PublisherManager(object):
-    # common prefix for public class names
-    PUBLISHER_MODEL_NAME = &quot;%sPublic&quot;
-    #PUBLISHER_MODEL_NAME = &quot;Public%s&quot;
     
-    registry = []
-
-    # items from this will be pop-ed, so will be empty when we are done
-    creation_registry = []
-    inherited = []
-    
-    def register(self, cls, model_name, bases, attrs, origin_cls):
-        # already registered?
-        if origin_cls in self.registry:
-            return
-        
-        # just append the model to registry, the rest will be made after the
-        # publisher.post models are installed
-        self.registry.append(origin_cls)
-        self.creation_registry.append((cls, model_name, bases, attrs, origin_cls))
-        
-        for base in bases:
-            if base in self.registry:
-                self.inherited.append(base) # mark all inherited classes
-
-    def install(self):
-        &quot;&quot;&quot;This must be called after creation of all other models, thats why publisher
-        must be last application in installed apps.
-        
-        Installing of models must be processed in special order, because of the 
-        model inheritance. Models which are inherited must be installed first.
-        &quot;&quot;&quot;
-        i = 0
-        while i &lt; len(self.creation_registry):
-            item = self.creation_registry[i]
-            if self._create_public_model(*item):
-                # just take the model out of local registry if he was suceesfully
-                # installed
-                self.creation_registry.pop(i)
-            else:
-                i += 1
-        else:
-            if self.creation_registry:
-                self.install()
-            
-    def _create_public_model(self, cls, name, bases, attrs, origin_cls):
-        from publisher.base import Publisher, PublicPublisher
-        # because of model inheritance:
-        rebased = []
-        for base in bases:
-            if issubclass(base, Publisher) and base in self.registry:
-                # model inheritance ? rebases inherited model to his
-                # public version if there is a public version
-                base = base.PublicModel
-                if not base:
-                    # inherited model isnt't registered yet, escape, we will try
-                    # it again in next round
-                    return
-            rebased.append(base)
-        
-        if not rebased:
-            rebased = list(bases)
-        
-        if not PublicPublisher in rebased:
-            # append PublicPublisher to bases - we want to use some methods he
-            # contains
-            rebased.append(PublicPublisher)
-        for attr, value in attrs.items():
-            if isinstance(value, RelatedField):
-                self.other = value.rel.to
-                
-                # is this still required...?
-                if isinstance(self.other, basestring):
-                    def resolve_other(field, model, cls):
-                        self.other = model
-                    # all standards models are already created in this time, so it 
-                    # should'nt do any lazy operation
-                    add_lazy_relation(origin_cls, value, self.other, resolve_other)
-                
-                # get model to which points this relation
-                model = get_model(self.other._meta.app_label, self.other._meta.object_name.lower(), False)
-                if issubclass(model, Publisher):
-                    # it is a subclass of Publisher, change relation
-                    relation_public_name = PublisherManager.PUBLISHER_MODEL_NAME % self.other._meta.object_name
-                    to = model.PublicModel or relation_public_name
-                    attrs[attr].rel.to = to
-                    
-                    if isinstance(attrs[attr].rel, ManyToOneRel) and \
-                        attrs[attr].rel.field_name and attrs[attr].rel.field_name.endswith('_ptr'):
-                        attrs[attr].rel.field_name = &quot;%spublic_ptr&quot; % attrs[attr].rel.field_name.split('_ptr')[0]
-        
-        # mark it as public model, so we can recognize it when required 
-        attrs['_is_public_model'] = lambda self: True
-        
-        # construct class
-        public_name = PublisherManager.PUBLISHER_MODEL_NAME % name
-        table_name = &quot;%spublic&quot; % (origin_cls._meta.db_table)
-        if not &quot;Meta&quot; in attrs:
-            class Meta:
-                db_table = table_name
-            attrs[&quot;Meta&quot;] = Meta
-        else:
-            meta = attrs[&quot;Meta&quot;]
-            if not hasattr(meta, &quot;db_table&quot;):
-                setattr(meta, &quot;db_table&quot;, table_name)
-                
-        public_cls = ModelBase.__new__(cls, public_name, tuple(rebased), attrs)
-        # add mark_delete field to public models, maybe will be better to move this
-        # into PublicModel class, since it exists now
-        if not 'mark_delete' in [field.name for field in public_cls._meta.local_fields]:
-            field = models.BooleanField(default=False, editable=False)
-            public_cls.add_to_class('mark_delete', field)
-            
-        # create links between standard and public models
-        if not origin_cls in self.inherited:
-            origin_cls.add_to_class('public', models.OneToOneField(public_cls, related_name=&quot;origin&quot;, null=True, blank=True, editable=False))
-        else:
-            # this model gets inherited from some other - create link with special name here
-            # so, if model haves inherited_public relation, it is an inherited model
-            origin_cls.add_to_class('inherited_public', models.OneToOneField(public_cls, related_name=&quot;inherited_origin&quot;, null=True, blank=True, editable=False))
-        return True
-        
-publisher_manager = PublisherManager()
-'''
\ No newline at end of file
+    &quot;&quot;&quot;
+    def all(self):
+        raise NotImplementedError, (&quot;Calling all() on manager of publisher &quot;
+            &quot;object is not allowed. Please use drafts() or public() method &quot;
+            &quot;instead. If this isn't accident use get_query_set().all() for &quot; 
+            &quot;all instances.&quot;)
+    &quot;&quot;&quot;
\ No newline at end of file</diff>
      <filename>publisher/manager.py</filename>
    </modified>
    <modified>
      <diff>@@ -1,16 +1,3 @@
-'''
-import publisher
-if not getattr(publisher,'_ready', False):
-    &quot;&quot;&quot;
-    the first time this module is loaded by django it raises an
-    ImportError. this forces it into the postponed list and it will
-    be called again later (after the other postponed apps are loaded.)
-    &quot;&quot;&quot;
-    publisher._ready = True
-    raise ImportError(&quot;Not ready yet&quot;)
-from publisher.manager import publisher_manager
-publisher_manager.install()
-'''
 from django.db import models
 from django.core.exceptions import ObjectDoesNotExist
 from django.db.models.fields.related import RelatedField
@@ -280,7 +267,8 @@ class Publisher(models.Model):
             try:
                 self.delete()
             except AttributeError:
-                print &quot;- not deleted...&quot;
+                # this exception may happen because of the plugin relations
+                # to CMSPlugin and mppt way of _meta assignment
                 pass
         
     def delete(self):</diff>
      <filename>publisher/models.py</filename>
    </modified>
    <modified>
      <diff>@@ -124,8 +124,6 @@ def install_mptt(cls, name, bases, attrs):
     assert mptt_meta.parent_attr in attrs, (&quot;Mppt model must define parent &quot;
         &quot;field!&quot;)
     
-    print &quot;&gt;&gt;&gt; installing mptt for:&quot;, name
-    
     # add mptt fields
     fields = (mptt_meta.left_attr, mptt_meta.right_attr, 
         mptt_meta.tree_id_attr, mptt_meta.level_attr)</diff>
      <filename>publisher/mptt_support.py</filename>
    </modified>
    <modified>
      <diff>@@ -31,7 +31,7 @@ class PublisherOptions(object):
             for base in direct_base.mro():
                 if not base in all_bases:
                     all_bases.append(base)
-        print name, all_bases
+
         for base in reversed(all_bases):
         #for direct_base in bases:
             #for base in reversed(direct_base.mro()):
@@ -40,7 +40,6 @@ class PublisherOptions(object):
                 continue
             base_exclude_fields = getattr(pmeta, 'exclude_fields', None)
             base_exclude_fields_append = getattr(pmeta, 'exclude_fields_append', None)
-            print &quot;p&quot;, base, base_exclude_fields
              
             if base_exclude_fields and base_exclude_fields_append:
                 raise ValueError, (&quot;Model %s extends defines PublisherMeta, but &quot; +
@@ -52,8 +51,6 @@ class PublisherOptions(object):
                 exclude_fields = exclude_fields.union(base_exclude_fields_append)
         
         if publisher_meta and getattr(publisher_meta, 'exclude_fields_append', None):
-            print &quot;se:&quot;, publisher_meta.exclude_fields_append
             exclude_fields = exclude_fields.union(publisher_meta.exclude_fields_append)
         
         self.exclude_fields = list(exclude_fields)
-        print name, self.exclude_fields, &quot;\n&quot;
\ No newline at end of file</diff>
      <filename>publisher/options.py</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>f505e976b5136ac3412e90c247e2e3c07e89aa87</id>
    </parent>
  </parents>
  <author>
    <name>pcicman</name>
    <email>pcicman@gmail.com</email>
  </author>
  <url>http://github.com/digi604/django-cms-2.0/commit/eb89e764f6d6209c8ca874a7d6f887db36c45d01</url>
  <id>eb89e764f6d6209c8ca874a7d6f887db36c45d01</id>
  <committed-date>2009-07-21T14:55:05-07:00</committed-date>
  <authored-date>2009-07-21T14:55:05-07:00</authored-date>
  <message>Default manager on every publisher model now links to PublisherManager. Added PublisherQuerySet - defultly used by PuvlisherManager. Some tests fixed.</message>
  <tree>8eaccf4fe3537673490f8d1b4c9a8957fb9e46cc</tree>
  <committer>
    <name>pcicman</name>
    <email>pcicman@gmail.com</email>
  </committer>
</commit>
