def get(self, request, *args, **kwargs): context = {} menu = Menu.objects.filter(kind=Menu.Kind.NEWS_LIST).first() page = kwargs['page'] if 'page' in kwargs else 1 on_page = Setting.get('on_page') context['header'] = 'Новости' context['sitename'] = Setting.get('sitename') context['theme'] = css_theme(request) context['breadcrumbs'] = menu.get_breadcrumbs_dict() context['menus'] = Menu.get_dict() context['news'] = News.objects.filter().order_by( '-datetime')[(page - 1) * on_page:page * on_page] news_count = News.objects.all().count() pages_count = news_count // on_page + 1 context['pager'] = { 'prev': (page - 1) if page != 1 else None, 'next': (page + 1) if page != pages_count else None, 'page': page, 'pages': list(range(1, pages_count + 1)) } print(context['pager']) return render(request, self.template_name, context)
def get(self, request, *args, **kwargs): page = Page.objects.get(slug=kwargs['slug']) page_images = PageImage.objects.filter(page=page) html = page.html.format( block_directions_p=Blocks.block_directions_p(), block_directions_table=Blocks.block_directions_table(), block_staff_table_deanery=Blocks.block_staff_table( [Staff.Category.DEANERY]), block_staff_table_council=Blocks.block_staff_table( [Staff.Category.COUNCIL]), **{ 'image_url_%s' % (page_image.slug): page_image.image.url for page_image in page_images }) context = {} context['header'] = page.name context['breadcrumbs'] = page.menu.get_breadcrumbs_dict() context['sitename'] = Setting.get('sitename') context['theme'] = css_theme(request) context['menus'] = Menu.get_dict() context['page'] = page context['html'] = html if page.is_sidebar: context['sidebar'] = { 'header': page.sidebar_name if page.sidebar_name else None, 'objects': page.menu.childs } return render(request, self.template_name, context)
def get(self, request, *args, **kwargs): translation.activate('ru') context = {} groups = ScheduleGroup.objects.all() context['groups'] = groups menu = Menu.objects.filter(kind=Menu.Kind.SCHEDULE).first() if 'slug' not in kwargs: context['is_list'] = True context['header'] = 'Расписание' context['breadcrumbs'] = menu.get_breadcrumbs_dict() else: context['is_list'] = False group = ScheduleGroup.objects.get(slug=kwargs['slug']) context['header'] = 'Расписание ' + group.name context['breadcrumbs'] = group.get_breadcrumbs_dict(menu) context['group'] = group context['webpush'] = {'group': 'all'} context['schedule'] = group.get_schedule_dict() menu = Menu.objects.filter(kind=Menu.Kind.CATHEDRA_ITEM).first() context['sitename'] = Setting.get('sitename') context['theme'] = css_theme(request) context['menus'] = Menu.get_dict() return render(request, self.template_name, context)
def get(self, request): context = {} menu = Menu.objects.filter(kind=Menu.Kind.CATHEDRA_LIST).first() context['header'] = 'Кафедры' context['sitename'] = Setting.get('sitename') context['theme'] = css_theme(request) context['breadcrumbs'] = menu.get_breadcrumbs_dict() context['menus'] = Menu.get_dict() context['cathedras'] = Cathedra.objects.all() return render(request, self.template_name, context)
def _get_context(self, request, *args, **kwargs): context = {} context['header'] = 'Заказ справок' context['breadcrumbs'] = Menu.objects.filter( kind=Menu.Kind.CERTIFICATES).first().get_breadcrumbs_dict() context['sitename'] = Setting.get('sitename') context['theme'] = css_theme(request) context['menus'] = Menu.get_dict() return context
def get(self, request, *args, **kwargs): context = {} announcement = Announcement.objects.get(slug=kwargs['slug']) menu = Menu.objects.filter(kind=Menu.Kind.ANNOUNCEMENT_ITEM).first() context['header'] = announcement.name context['sitename'] = Setting.get('sitename') context['theme'] = css_theme(request) context['breadcrumbs'] = menu.get_breadcrumbs_dict() context['menus'] = Menu.get_dict() context['announcement'] = announcement return render(request, self.template_name, context)
def get(self, request, *args, **kwargs): context = {} news_item = News.objects.get(slug=kwargs['slug']) menu = Menu.objects.filter(kind=Menu.Kind.NEWS_ITEM).first() context['header'] = news_item.name context['sitename'] = Setting.get('sitename') context['theme'] = css_theme(request) context['breadcrumbs'] = menu.get_breadcrumbs_dict() context['menus'] = Menu.get_dict() context['news_item'] = news_item return render(request, self.template_name, context)
def get(self, request, *args, **kwargs): context = {} direction = Direction.objects.get(slug=kwargs['slug']) menu = Menu.objects.filter(kind=Menu.Kind.DIRECTION_ITEM).first() context['header'] = direction.name context['sitename'] = Setting.get('sitename') context['theme'] = css_theme(request) context['breadcrumbs'] = direction.get_breadcrumbs_dict(menu) context['menus'] = Menu.get_dict() context['direction'] = direction context['html'] = direction.html return render(request, self.template_name, context)
def get(self, request, *args, **kwargs): context = {} staff = Staff.objects.get(slug=kwargs['slug']) menu = Menu.objects.filter(kind=Menu.Kind.CATHEDRA_ITEM).first() context['header'] = staff.name context['sitename'] = Setting.get('sitename') context['theme'] = css_theme(request) context['breadcrumbs'] = staff.get_breadcrumbs_dict(menu) context['menus'] = Menu.get_dict() context['person'] = staff context['html'] = staff.html return render(request, self.template_name, context)
def _mail(to, subject, body): # smtp_host = 'smtp.live.com' # microsoft # smtp_host = 'smtp.gmail.com' # google # smtp_host = 'smtp.mail.yahoo.com' # yahoo # smtp_host = 'smtp.yandex.ru' # yandex smtp_host = Setting.get('sender_email_smtp') login, password = Setting.get('sender_email'), Setting.get( 'sender_email_password') recipients_emails = [to] msg = MIMEText(body, 'html', 'utf-8') msg['Subject'] = Header(subject, 'utf-8') msg['From'] = login msg['To'] = ", ".join(recipients_emails) smtp = smtplib.SMTP(smtp_host, 587, timeout=10) smtp.set_debuglevel(1) try: smtp.starttls() smtp.login(login, password) smtp.sendmail(msg['From'], recipients_emails, msg.as_string()) finally: smtp.quit()
def get(self, request): context = {} # page = Page.objects.get(slug='index') # context['header'] = page.name # context['breadcrumbs'] = page.menu.get_breadcrumbs_dict() # context['page'] = page context['sitename'] = Setting.get('sitename') context['theme'] = css_theme(request) context['menus'] = Menu.get_dict() context['slider'] = News.objects.filter(is_slider=True).order_by('-datetime')[:3] context['news'] = News.objects.filter().order_by('-datetime')[:3] announcements = Announcement.objects.all().order_by('-datetime')[:4] context['announcement'] = announcements[0] context['announcements'] = announcements[1:4] return render(request, self.template_name, context)
def post(self, request, *args, **kwargs): context = self._get_context(request, *args, **kwargs) context['form'] = CertificateOrderForm(request.POST) if context['form'].is_valid(): # Отправка почты to = Setting.get('reciever_email') subject = 'Заказ справки от {name} ({group})'.format( name=context['form'].cleaned_data['name'], group=context['form'].cleaned_data['group']) body = '<p>Фамилия и имя: {name}</p><p>Email: {email}</p><p>Группа: {group}</p><p>Необходимая справка: {certificate}</p>'.format( name=context['form'].cleaned_data['name'], email=context['form'].cleaned_data['email'], group=context['form'].cleaned_data['group'], certificate=context['form'].cleaned_data['certificate'].name) _mail(to, subject, body) context['success'] = True return render(request, self.template_name, context)