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())
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
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
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)
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()
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)
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)
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()
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()
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()
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)
def process_request(self, request): from cms.utils.permissions import set_current_user set_current_user(getattr(request, 'user', None))
def setUpTestData(cls): set_current_user(None) if old_setUpTestData: old_setUpTestData()
def setUp(self): set_current_user(None) if old_setUp: old_setUp(self)
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)
def _post_teardown(self): menu_pool.clear() cache.clear() super()._post_teardown() set_current_user(None)
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))
def _post_teardown(self): menu_pool.clear() cache.clear() super(BaseCMSTestCase, self)._post_teardown() set_current_user(None)
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)
def process_request(self, request): set_current_user(getattr(request, 'user', None))