Esempio n. 1
0
    def test_inlines(self):
        user = self._create_user("randomuser", is_staff=True, add_default_permissions=True)
        page = create_page("page_b", "nav_playground.html", "en",
                           created_by=self.get_superuser())
        data = {
            'page': page.pk,
            'grant_on': ACCESS_PAGE_AND_CHILDREN,
            'can_view': 'True',
            'user': '',
            'group': '',
        }
        set_current_user(self.get_superuser())
        form = ViewRestrictionInlineAdminForm(data=data, files=None)
        self.assertTrue(form.is_valid())
        data = {
            'page': page.pk,
            'grant_on': ACCESS_PAGE_AND_CHILDREN,
            'can_view': 'True',
            'user': '',
            'group': ''
        }
        form = GlobalPagePermissionAdminForm(data=data, files=None)
        self.assertFalse(form.is_valid())

        data = {
            'page': page.pk,
            'grant_on': ACCESS_PAGE_AND_CHILDREN,
            'can_view': 'True',
            'user': user.pk,

        }
        form = GlobalPagePermissionAdminForm(data=data, files=None)
        self.assertTrue(form.is_valid())
Esempio n. 2
0
    def handle(self, *args, **options):
        """
        Create published public version of selected drafts.
        """
        include_unpublished = options.get("include_unpublished")
        language = options.get("language")
        site = self.get_site(options.get("site"))

        # we need a super user to assign the publish action to
        try:
            user = get_user_model().objects.filter(is_active=True, is_staff=True, is_superuser=True)[0]
        except IndexError:
            raise CommandError("No super user found, create one using `manage.py createsuperuser`.")
        # set him as current user
        set_current_user(user)

        pages_published = 0
        pages_total = 0
        self.stdout.write("\nPublishing public drafts....\n")
        index = 0
        for page, add in publish_pages(include_unpublished, language, site):
            m = "*" if add else " "
            self.stdout.write("%d.\t%s  %s [%d]\n" % (index + 1, m, force_text(page), page.id))
            pages_total += 1
            if add:
                pages_published += 1
            index += 1

        self.stdout.write("\n")
        self.stdout.write("=" * 40)
        self.stdout.write("\nTotal:     %s\n" % pages_total)
        self.stdout.write("Published: %s\n" % pages_published)
Esempio n. 3
0
    def test_inlines(self):
        user = self._create_user("randomuser", is_staff=True, add_default_permissions=True)
        page = create_page("page_b", "nav_playground.html", "en",
                           created_by=self.get_superuser())
        data = {
            'page': page.pk,
            'grant_on': ACCESS_PAGE_AND_CHILDREN,
            'can_view': 'True',
            'user': '',
            'group': '',
        }
        set_current_user(self.get_superuser())
        form = ViewRestrictionInlineAdminForm(data=data, files=None)
        self.assertTrue(form.is_valid())
        data = {
            'page': page.pk,
            'grant_on': ACCESS_PAGE_AND_CHILDREN,
            'can_view': 'True',
            'user': '',
            'group': ''
        }
        form = GlobalPagePermissionAdminForm(data=data, files=None)
        self.assertFalse(form.is_valid())

        data = {
            'page': page.pk,
            'grant_on': ACCESS_PAGE_AND_CHILDREN,
            'can_view': 'True',
            'user': user.pk,

        }
        form = GlobalPagePermissionAdminForm(data=data, files=None)
        self.assertTrue(form.is_valid())
Esempio n. 4
0
    def publish_pages(self):
        from django.contrib.auth.models import User
        from cms.models import Page
        from cms.utils.permissions import set_current_user

        # thread locals middleware needs to know, who are we - login as a first
        # super user

        try:
            user = User.objects.filter(is_active=True,
                                       is_staff=True,
                                       is_superuser=True)[0]
        except IndexError:
            raise CommandError(
                "No super user found, create one using `manage.py createsuperuser`."
            )

        set_current_user(user)  # set him as current user

        qs = Page.objects.drafts().filter(published=True)
        pages_total, pages_published = qs.count(), 0

        print "\nPublishing public drafts....\n"

        for i, page in enumerate(qs):
            m = " "
            if page.publish():
                pages_published += 1
                m = "*"
            print "%d.\t%s  %s [%d]" % (i + 1, m, unicode(page), page.id)

        print "\n"
        print "=" * 40
        print "Total:    ", pages_total
        print "Published:", pages_published
Esempio n. 5
0
    def handle(self, *args, **options):
        """
        Create published public version of selected drafts.
        """
        include_unpublished = options.get('include_unpublished')
        language = options.get('language')
        site = self.get_site(options.get('site'))

        # we need a super user to assign the publish action to
        try:
            user = get_user_model().objects.filter(is_active=True, is_staff=True, is_superuser=True)[0]
        except IndexError:
            raise CommandError('No super user found, create one using `manage.py createsuperuser`.')
        # set him as current user
        set_current_user(user)

        pages_published = 0
        pages_total = 0
        self.stdout.write('\nPublishing public drafts....\n')
        index = 0
        for page, add in publish_pages(include_unpublished, language, site):
            m = '*' if add else ' '
            self.stdout.write('%d.\t%s  %s [%d]\n' % (index + 1, m, force_text(page), page.id))
            pages_total += 1
            if add:
                pages_published += 1
            index += 1

        self.stdout.write('\n')
        self.stdout.write('=' * 40)
        self.stdout.write('\nTotal:     %s\n' % pages_total)
        self.stdout.write('Published: %s\n' % pages_published)
 def publish_pages(self):
     from django.contrib.auth.models import User
     from cms.models import Page
     from cms.utils.permissions import set_current_user
     
     # thread locals middleware needs to know, who are we - login as a first
     # super user
     
     try:
         user = User.objects.filter(is_active=True, is_staff=True, is_superuser=True)[0]
     except IndexError:
         raise CommandError("No super user found, create one using `manage.py createsuperuser`.")
     
     set_current_user(user) # set him as current user
     
     qs = Page.objects.drafts().filter(published=True)
     pages_total, pages_published = qs.count(), 0
     
     print "\nPublishing public drafts....\n"
     
     for i, page in enumerate(qs):
         m = " "
         if page.publish():
             pages_published += 1
             m = "*"
         print "%d.\t%s  %s [%d]" % (i + 1, m, unicode(page), page.id) 
     
     print "\n"
     print "=" * 40
     print "Total:    ", pages_total
     print "Published:", pages_published
Esempio n. 7
0
 def process_request(self, request):
     from cms.utils.permissions import set_current_user
     try:
         user = request.user
         user.is_authenticated()
     except AttributeError:
         user = None
     set_current_user(user)
    def publish_pages(self, include_unpublished, language, site):
        from cms.models import Page
        from cms.utils.compat.dj import get_user_model
        from cms.utils.permissions import set_current_user

        # thread locals middleware needs to know, who are we - login as a first
        # super user

        try:
            user = get_user_model().objects.filter(is_active=True,
                                                   is_staff=True,
                                                   is_superuser=True)[0]
        except IndexError:
            raise CommandError(
                "No super user found, create one using `manage.py createsuperuser`."
            )

        set_current_user(user)  # set him as current user

        qs = Page.objects.drafts()
        if not include_unpublished:
            qs = qs.filter(title_set__published=True).distinct()
        if site:
            qs = qs.filter(site_id=site)

        pages_total, pages_published = qs.count(), 0

        self.stdout.write(u"\nPublishing public drafts....\n")
        output_language = None
        for i, page in enumerate(qs):
            m = " "
            add = True
            titles = page.title_set
            if not include_unpublished:
                titles = titles.filter(published=True)
            for lang in titles.values_list("language", flat=True):
                if language is None or lang == language:
                    if not output_language:
                        output_language = lang
                    if not page.publish(lang):
                        add = False
            # we may need to activate the first (main) language for proper page title rendering
            activate(output_language)
            if add:
                pages_published += 1
                m = "*"
            self.stdout.write(u"%d.\t%s  %s [%d]\n" %
                              (i + 1, m, force_unicode(page), page.id))

        self.stdout.write(u"\n")
        self.stdout.write(u"=" * 40)
        self.stdout.write(u"\nTotal:     %s\n" % pages_total)
        self.stdout.write(u"Published: %s\n" % pages_published)
Esempio n. 9
0
    def tearDown(self):
        super(MenuTestCase, self).tearDown()

        # This is needed to ensure that Django CMS does not blow a fuse
        # when we load fixtures for the next test.
        from cms.utils.permissions import set_current_user
        set_current_user(None)

        # This resets the menu pool to pre-expansion values.
        from menus.menu_pool import menu_pool
        menu_pool.menus = self.saved_menus
        menu_pool._expanded = False
        menu_pool.clear()
Esempio n. 10
0
    def publish_pages(self, include_unpublished, language, site):
        from cms.models import Page
        from cms.utils.compat.dj import get_user_model
        from cms.utils.permissions import set_current_user

        # thread locals middleware needs to know, who are we - login as a first
        # super user

        try:
            user = get_user_model().objects.filter(is_active=True, is_staff=True, is_superuser=True)[0]
        except IndexError:
            raise CommandError("No super user found, create one using `manage.py createsuperuser`.")

        set_current_user(user) # set him as current user

        qs = Page.objects.drafts()
        if not include_unpublished:
            qs = qs.filter(title_set__published=True).distinct()
        if site:
            qs = qs.filter(site_id=site)

        pages_total, pages_published = qs.count(), 0

        self.stdout.write(u"\nPublishing public drafts....\n")
        output_language = None
        for i, page in enumerate(qs):
            m = " "
            add = True
            titles = page.title_set
            if not include_unpublished:
                titles = titles.filter(published=True)
            for lang in titles.values_list("language", flat=True):
                if language is None or lang == language:
                    if not output_language:
                        output_language = lang
                    if not page.publish(lang):
                        add = False
            # we may need to activate the first (main) language for proper page title rendering
            activate(output_language)
            if add:
                pages_published += 1
                m = "*"
            self.stdout.write(u"%d.\t%s  %s [%d]\n" % (i + 1, m, force_unicode(page), page.id))

        self.stdout.write(u"\n")
        self.stdout.write(u"=" * 40)
        self.stdout.write(u"\nTotal:     %s\n" % pages_total)
        self.stdout.write(u"Published: %s\n" % pages_published)
Esempio n. 11
0
    def handle_noargs(self, **options):
        """Create published public version of selected drafts.
        """
        include_unpublished = options.get('include_unpublished')
        language = options.get('language')
        site = options.get('site')
        if site:
            try:
                site = int(site)
                site = Site.objects.get(pk=site)
            except (ValueError, Site.DoesNotExist):
                raise CommandError("There is no site with given site id.")
        else:
            site = None

        try:
            user = get_user_model().objects.filter(is_active=True,
                                                   is_staff=True,
                                                   is_superuser=True)[0]
        except IndexError:
            raise CommandError(
                "No super user found, create one using `manage.py createsuperuser`."
            )

        set_current_user(user)  # set him as current user

        pages_published = 0
        pages_total = 0
        self.stdout.write(u"\nPublishing public drafts....\n")
        index = 0
        for page, add in publish_pages(include_unpublished, language, site):
            m = '*' if add else ' '
            self.stdout.write(u"%d.\t%s  %s [%d]\n" %
                              (index + 1, m, force_text(page), page.id))
            pages_total += 1
            if add:
                pages_published += 1
            index += 1

        self.stdout.write(u"\n")
        self.stdout.write(u"=" * 40)
        self.stdout.write(u"\nTotal:     %s\n" % pages_total)
        self.stdout.write(u"Published: %s\n" % pages_published)
Esempio n. 12
0
    def test_user_forms(self):
        user = self.get_superuser()
        user2 = self._create_user("randomuser",
                                  is_staff=True,
                                  add_default_permissions=True)
        set_current_user(user)
        data = {
            'username': "******",
            'password': '******',
            'password1': 'hello',
            'password2': 'hello',
            'created_by': user.pk,
            'last_login': datetime.now(),
            'date_joined': datetime.now(),
            'email': '*****@*****.**',
        }

        form = PageUserForm(data=data, files=None)
        self.assertTrue(form.is_valid(), form.errors)
        form.save()
        data = {
            'username': "******",
            'password': '******',
            'password1': 'hello',
            'password2': 'hello',
            'email': '*****@*****.**',
            'created_by': user.pk,
            'last_login': datetime.now(),
            'date_joined': datetime.now(),
            'notify_user': '******',
        }
        form = PageUserForm(data=data, files=None, instance=user2)
        self.assertTrue(form.is_valid(), form.errors)
        form.save()
        data = {'name': 'test_group'}
        form = PageUserGroupForm(data=data, files=None)
        self.assertTrue(form.is_valid(), form.errors)
        instance = form.save()

        form = PageUserGroupForm(data=data, files=None, instance=instance)
        self.assertTrue(form.is_valid(), form.errors)
        form.save()
Esempio n. 13
0
    def test_user_forms(self):
        user = self.get_superuser()
        user2 = self._create_user("randomuser", is_staff=True, add_default_permissions=True)
        set_current_user(user)
        data = {'username': "******",
                'password': '******',
                'password1': 'hello',
                'password2': 'hello',
                'created_by': user.pk,
                'last_login': datetime.now(),
                'date_joined': datetime.now(),
                'email': '*****@*****.**',
        }

        form = PageUserForm(data=data, files=None)
        self.assertTrue(form.is_valid(), form.errors)
        form.save()
        data = {'username': "******",
                'password': '******',
                'password1': 'hello',
                'password2': 'hello',
                'email': '*****@*****.**',
                'created_by': user.pk,
                'last_login': datetime.now(),
                'date_joined': datetime.now(),
                'notify_user': '******',
        }
        form = PageUserForm(data=data, files=None, instance=user2)
        self.assertTrue(form.is_valid(), form.errors)
        form.save()
        data = {
            'name': 'test_group'
        }
        form = PageUserGroupForm(data=data, files=None)
        self.assertTrue(form.is_valid(), form.errors)
        instance = form.save()

        form = PageUserGroupForm(data=data, files=None, instance=instance)
        self.assertTrue(form.is_valid(), form.errors)
        form.save()
Esempio n. 14
0
    def test_user_forms(self):
        user = self.get_superuser()
        user2 = self._create_user("randomuser", is_staff=True, add_default_permissions=True)
        set_current_user(user)
        data = {
            "username": "******",
            "password": "******",
            "password1": "hello",
            "password2": "hello",
            "created_by": user.pk,
            "last_login": datetime.now(),
            "date_joined": datetime.now(),
            "email": "*****@*****.**",
        }

        form = PageUserForm(data=data, files=None)
        self.assertTrue(form.is_valid(), form.errors)
        form.save()
        data = {
            "username": "******",
            "password": "******",
            "password1": "hello",
            "password2": "hello",
            "email": "*****@*****.**",
            "created_by": user.pk,
            "last_login": datetime.now(),
            "date_joined": datetime.now(),
            "notify_user": "******",
        }
        form = PageUserForm(data=data, files=None, instance=user2)
        self.assertTrue(form.is_valid(), form.errors)
        form.save()
        data = {"name": "test_group"}
        form = PageUserGroupForm(data=data, files=None)
        self.assertTrue(form.is_valid(), form.errors)
        instance = form.save()

        form = PageUserGroupForm(data=data, files=None, instance=instance)
        self.assertTrue(form.is_valid(), form.errors)
        form.save()
Esempio n. 15
0
    def handle_noargs(self, **options):
        """Create published public version of selected drafts.
        """
        include_unpublished = options.get('include_unpublished')
        language = options.get('language')
        site = options.get('site')
        if site:
            try:
                site = int(site)
                site = Site.objects.get(pk=site)
            except (ValueError, Site.DoesNotExist):
                raise CommandError("There is no site with given site id.")
        else:
            site = None

        try:
            user = get_user_model().objects.filter(is_active=True, is_staff=True, is_superuser=True)[0]
        except IndexError:
            raise CommandError("No super user found, create one using `manage.py createsuperuser`.")

        set_current_user(user) # set him as current user

        pages_published = 0
        pages_total = 0
        self.stdout.write(u"\nPublishing public drafts....\n")
        index = 0
        for page, add in publish_pages(include_unpublished, language, site):
            m = '*' if add else ' '
            self.stdout.write(u"%d.\t%s  %s [%d]\n" % (index + 1, m, force_text(page), page.id))
            pages_total += 1
            if add:
                pages_published += 1
            index += 1

        self.stdout.write(u"\n")
        self.stdout.write(u"=" * 40)
        self.stdout.write(u"\nTotal:     %s\n" % pages_total)
        self.stdout.write(u"Published: %s\n" % pages_published)
Esempio n. 16
0
 def process_request(self, request):
     from cms.utils.permissions import set_current_user
     set_current_user(getattr(request, 'user', None))
Esempio n. 17
0
def setUpTestData(cls):
    set_current_user(None)
    if old_setUpTestData:
        old_setUpTestData()
Esempio n. 18
0
def setUp(self):
    set_current_user(None)
    if old_setUp:
        old_setUp(self)
Esempio n. 19
0
 def _post_teardown(self):
     # Needed to clean the menu keys cache, see menu.menu_pool.clear()
     menu_pool.clear()
     super(CMSTestCase, self)._post_teardown()
     set_current_user(None)
Esempio n. 20
0
def setUp(self):
    set_current_user(None)
    if old_setUp:
        old_setUp(self)
Esempio n. 21
0
 def _post_teardown(self):
     menu_pool.clear()
     cache.clear()
     super()._post_teardown()
     set_current_user(None)
Esempio n. 22
0
def setup():
    from django.contrib.auth.models import User
    from cms.utils.permissions import set_current_user
    set_current_user(User.objects.get(id=1))
Esempio n. 23
0
def setUpTestData(cls):
    set_current_user(None)
    if old_setUpTestData:
        old_setUpTestData()
Esempio n. 24
0
 def _post_teardown(self):
     menu_pool.clear()
     cache.clear()
     super(BaseCMSTestCase, self)._post_teardown()
     set_current_user(None)
Esempio n. 25
0
def setup():
    from django.contrib.auth.models import User
    from cms.utils.permissions import set_current_user
    set_current_user(User.objects.get(id=1))
Esempio n. 26
0
 def _post_teardown(self):
     menu_pool.clear()
     cache.clear()
     super(BaseCMSTestCase, self)._post_teardown()
     set_current_user(None)
Esempio n. 27
0
 def _post_teardown(self):
     # Needed to clean the menu keys cache, see menu.menu_pool.clear()
     menu_pool.clear()
     cache.clear()
     super(BaseCMSTestCase, self)._post_teardown()
     set_current_user(None)
Esempio n. 28
0
 def process_request(self, request):
     set_current_user(getattr(request, 'user', None))
Esempio n. 29
0
    def process_request(self, request):
        from cms.utils.permissions import set_current_user

        set_current_user(getattr(request, 'user', None))