'place', 'text',
'text_color', 'background_color',
'priority', 'since', 'until',
- 'show_members', 'staff_preview']
+ 'show_members', 'staff_preview', 'only_authenticated']
admin.site.register(models.Banner, BannerAdmin)
--- /dev/null
+# Generated by Django 2.2.27 on 2022-04-14 12:10
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('annoy', '0011_auto_20210610_1437'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='banner',
+ name='only_authenticated',
+ field=models.BooleanField(default=False, verbose_name='only for authenticated users'),
+ ),
+ ]
until = models.DateTimeField(_('until'), null=True, blank=True)
show_members = models.BooleanField(_('show members'), default=False)
staff_preview = models.BooleanField(_('staff preview'), default=False)
+ only_authenticated = models.BooleanField(_('only for authenticated users'), default=False)
class Meta:
verbose_name = _('banner')
until__lt=n
).order_by('-priority', '?')
+ if not request.user.is_authenticated:
+ banners = banners.filter(only_authenticated=False)
+
if not request.user.is_staff:
banners = banners.filter(staff_preview=False)
- if request:
- if Membership.is_active_for(request.user):
- banners = banners.filter(show_members=True)
+ if Membership.is_active_for(request.user):
+ banners = banners.filter(show_members=True)
+
return banners