def test_010_045_NextPagerUrlYearMonth(self): """Test Next Page for Year/Month argument when next_page doesn't exist""" template = Template('{% load blog_tags %}{% prev_page_url %}') text = template.render(Context({'args': {'year': 2015, 'month': 11}})) self.assertEqual('', text)
def setUp(self): date_time = jdatetime.date(1394, 11, 25) self.context = Context({'date_time': date_time})
def update_list(request): account = request.account auth_manager = request.auth_manager preferences = account.get_preferences() language = request.auth_manager.language form = QueryDatasetForm(request.POST) if form.is_valid(): query = form.cleaned_data.get('search') page = form.cleaned_data.get('page') order = form.cleaned_data.get('order') order_type = form.cleaned_data.get('order_type') resources = ['ds', 'db', 'vz', 'dt'] category_filters = form.cleaned_data.get('category_filters') if category_filters: category_filters=category_filters.split(",") builder = ThemeBuilder(preferences, False, language, account) data = builder.parse() if data['federated_accounts_ids']: entity = form.cleaned_data.get('entity_filters') if entity: accounts_ids = [int(entity)] else: accounts_ids = data['federated_accounts_ids'] + [account.id] typef = form.cleaned_data.get('type_filters') if typef: resources = [typef] queryset = FinderQuerySet(FinderManager(HomeFinder), query = query, max_results = 250, account_id = accounts_ids, resource = resources, category_filters=category_filters, order = order, order_type = order_type ) else: all_resources = form.cleaned_data.get('all') if not all_resources: resources_type = form.cleaned_data.get('type') resources = [] for resource_name in resources_type.split(','): resources.append(resource_name) queryset = FinderQuerySet(FinderManager(HomeFinder), category_filters= category_filters, query=query, resource=resources, max_results=250, order=order, order_type=order_type, account_id=account.id ) paginator = Paginator(queryset, 25) revisions = paginator.page(page and page or 1) if data['federated_accounts_ids']: add_domains_to_permalinks(revisions.object_list) error = '' results = revisions.object_list else: error = 'Invalid data' results=[] categories=[] t = loader.get_template('loadHome/table.json') c = Context(locals()) return HttpResponse(t.render(c), content_type="application/json")
def test_dir2_extend(self): engine = Engine(dirs=[RELATIVE]) template = engine.get_template('dir1/dir2/one.html') output = template.render(Context({})) self.assertEqual(output.strip(), 'three two one dir2 one')
def test_dir2_include(self): engine = Engine(dirs=[RELATIVE]) template = engine.get_template('dir1/dir2/inc1.html') output = template.render(Context({})) self.assertEqual(output.strip(), 'three')
def input(self, _in, out, source_path, output_path, **kw): t = Template(_in.read(), origin='django-assets', name=source_path) out.write(t.render(Context(self.context if self.context else {}) ).encode('utf-8'))
def index(request): t = loader.get_template('index.html') c = Context({}) # return HttpResponse('<h1>Hello Django</h1>') return HttpResponse(t.render(c))
def test_multiple_locale(self): with translation.override("de"): t = Template("{{ _('No') }}") with translation.override( self._old_language), translation.override("nl"): self.assertEqual(t.render(Context({})), "Nee")
def test_multiple_locale_deactivate(self): with translation.override("de", deactivate=True): t = Template("{{ _('No') }}") with translation.override("nl"): self.assertEqual(t.render(Context({})), "Nee")
def partial_view(request, *args, **kwargs): content = Template("{{ result }}").render( Context(dict(result=kwargs['x'] * 2))) return HttpResponse(content)
def test_multiple_locale_filter_direct_switch(self): with translation.override("de"): t = Template("{% load i18n %}{{ 0|yesno:_('yes,no,maybe') }}") with translation.override("nl"): self.assertEqual(t.render(Context({})), "nee")
def test_render_partial_tag(self): content = Template( '{% load render_partial %}' '{% render_partial "django_render_partial.tests.test_templatetags.partial_view" x=4 %}' ).render(Context(dict(request=HttpRequest()))) self.assertEqual('8', content)
def show_products(request): t = loader.get_template('client/product.html') c = Context({'request':request}) return HttpResponse(t.render(c))
def test_010_055_NextvPagerUrlSearch(self): """Test Next Page for Tag Search when next_page doesn't exist""" template = Template('{% load blog_tags %}{% next_page_url %}') text = template.render(Context({'args': {'tag_slug': 'Hello'}})) self.assertEqual('', text)
def test_render_filename_to_context(self): url = self.get_url(100, 100, 'jpg') t = Template(self.get_template('100x100.jpg as myvar')) c = Context({}) t.render(c) self.failUnlessEqual(url, c['myvar'])
def test_multiple_locale_loadi18n_direct_switch(self): with translation.override("de"): t = Template("{% load i18n %}{{ _('No') }}") with translation.override("nl"): self.assertEqual(t.render(Context({})), "Nee")
def test_render_width_height_format(self): url = self.get_url(100, 200, 'png') #@@@ default format jpg t = Template(self.get_template('100 200 png')) c = Context({}) self.failUnlessEqual(url, t.render(c))
def render(self, form, form_style, context, template_pack=TEMPLATE_PACK, **kwargs): return Template(str(self.html_template)).render(Context(self.context))
def render(template, context): return template.render(Context(context))
def root(request): frontPageTemplate = get_template("frontpage.html") html = frontPageTemplate.render(Context( {} )) return HttpResponse(html)
def update_ticket(request, ticket_id, public=False): if not (public or (request.user.is_authenticated() and request.user.is_active and request.user.is_staff)): return HttpResponseForbidden(_('Sorry, you need to login to do that.')) ticket = get_object_or_404(Ticket, id=ticket_id) comment = request.POST.get('comment', '') new_status = int(request.POST.get('new_status', ticket.status)) title = request.POST.get('title', '') public = request.POST.get('public', False) priority = int(request.POST.get('priority', ticket.priority)) tags = request.POST.get('tags', '') owner = request.POST.get('owner', None) if owner: owner = int(owner) # We need to allow the 'ticket' and 'queue' contexts to be applied to the # comment. from django.template import loader, Context context = safe_template_context(ticket) comment = loader.get_template_from_string(comment).render(Context(context)) if owner is None and ticket.assigned_to: owner = ticket.assigned_to.id f = FollowUp(ticket=ticket, user=request.user, date=datetime.now(), comment=comment) if request.user.is_staff: f.user = request.user f.public = public reassigned = False if owner is not None: if owner != 0 and ((ticket.assigned_to and owner != ticket.assigned_to.id) or not ticket.assigned_to): new_user = User.objects.get(id=owner) f.title = _('Assigned to %(username)s') % { 'username': new_user.username, } ticket.assigned_to = new_user reassigned = True elif owner == 0 and ticket.assigned_to is not None: f.title = _('Unassigned') ticket.assigned_to = None if new_status != ticket.status: ticket.status = new_status ticket.save() f.new_status = new_status if f.title: f.title += ' and %s' % ticket.get_status_display() else: f.title = '%s' % ticket.get_status_display() if not f.title: if f.comment: f.title = _('Comment') else: f.title = _('Updated') f.save() files = [] if request.FILES: import mimetypes, os for file in request.FILES.getlist('attachment'): filename = file.name.replace(' ', '_') a = Attachment( followup=f, filename=filename, mime_type=mimetypes.guess_type(filename)[0] or 'application/octet-stream', size=file.size, ) a.file.save(file.name, file, save=False) a.save() if file.size < getattr(settings, 'MAX_EMAIL_ATTACHMENT_SIZE', 512000): # Only files smaller than 512kb (or as defined in # settings.MAX_EMAIL_ATTACHMENT_SIZE) are sent via email. files.append(a.file.path) if title != ticket.title: c = TicketChange( followup=f, field=_('Title'), old_value=ticket.title, new_value=title, ) c.save() ticket.title = title if priority != ticket.priority: c = TicketChange( followup=f, field=_('Priority'), old_value=ticket.priority, new_value=priority, ) c.save() ticket.priority = priority if HAS_TAG_SUPPORT: if tags != ticket.tags: c = TicketChange( followup=f, field=_('Tags'), old_value=ticket.tags, new_value=tags, ) c.save() ticket.tags = tags if f.new_status == Ticket.RESOLVED_STATUS: ticket.resolution = comment messages_sent_to = [] # ticket might have changed above, so we re-instantiate context with the # (possibly) updated ticket. context = safe_template_context(ticket) context.update( resolution=ticket.resolution, comment=f.comment, request=request, site=Site.objects.get_current() ) if ticket.submitter_email and public and (f.comment or (f.new_status in (Ticket.RESOLVED_STATUS, Ticket.CLOSED_STATUS))): if f.new_status == Ticket.RESOLVED_STATUS: template = 'resolved_submitter' elif f.new_status == Ticket.CLOSED_STATUS: template = 'closed_submitter' else: template = 'updated_submitter' send_templated_mail( template, context, recipients=ticket.submitter_email, sender=ticket.queue.from_address, fail_silently=True, files=files, ) messages_sent_to.append(ticket.submitter_email) for cc in ticket.ticketcc_set.all(): if cc.email_address not in messages_sent_to: send_templated_mail( template, context, recipients=cc.email_address, sender=ticket.queue.from_address, fail_silently=True, ) messages_sent_to.append(cc.email_address) if ticket.assigned_to and request.user != ticket.assigned_to and ticket.assigned_to.email and ticket.assigned_to.email not in messages_sent_to: # We only send e-mails to staff members if the ticket is updated by # another user. The actual template varies, depending on what has been # changed. if reassigned: template_staff = 'assigned_owner' elif f.new_status == Ticket.RESOLVED_STATUS: template_staff = 'resolved_owner' elif f.new_status == Ticket.CLOSED_STATUS: template_staff = 'closed_owner' else: template_staff = 'updated_owner' if (not reassigned or ( reassigned and ticket.assigned_to.usersettings.settings.get('email_on_ticket_assign', False))) or (not reassigned and ticket.assigned_to.usersettings.settings.get('email_on_ticket_change', False)): send_templated_mail( template_staff, context, recipients=ticket.assigned_to.email, sender=ticket.queue.from_address, fail_silently=True, files=files, ) messages_sent_to.append(ticket.assigned_to.email) updated_ticket_cc = [] for e in [email.strip(' ') for email in ticket.queue.updated_ticket_cc.split(',')]: if e not in messages_sent_to: updated_ticket_cc.append(e) if updated_ticket_cc: if reassigned: template_cc = 'assigned_cc' elif f.new_status == Ticket.RESOLVED_STATUS: template_cc = 'resolved_cc' elif f.new_status == Ticket.CLOSED_STATUS: template_cc = 'closed_cc' else: template_cc = 'updated_cc' send_templated_mail( template_cc, context, recipients=updated_ticket_cc, sender=ticket.queue.from_address, fail_silently=True, files=files, ) ticket.save() return_url = request.POST.get('return_url', None) if return_url: return HttpResponseRedirect(return_url) if request.user.is_staff or public: return HttpResponseRedirect(ticket.get_absolute_url()) else: return HttpResponseRedirect(ticket.ticket_url)
def url_content(self): context = Context({'app': self.name, 'models': self.models}) return self.url_template.render(context)
def test_normal_include_variable(self): engine = Engine(dirs=[RELATIVE]) template = engine.get_template('dir1/dir2/inc3.html') output = template.render(Context({'tmpl': './include_content.html'})) self.assertEqual(output.strip(), 'dir2 include')
top10parser = Top10Parser(out) articleparser = BeautyArticleProcessor() for article in top10parser.getall(): feed = Feed() getContent(smth, articleparser, article['b'], article['gid'], feed, 0) getContent(smth, articleparser, article['b'], article['gid'], feed, 1) sumaryFeeds.append(feed) #write data f = open(archive + "/sm.data", "w") cPickle.dump(sumaryFeeds, f) f.close() #write to html t = Template(bookTemplate) c = Context({"sumaryFeeds": sumaryFeeds, "today": today}) renderdHtml = t.render(c) f = open(archive + "/sm.html", "w") f.write(renderdHtml.encode("utf8")) f.close() #write to datebases previousThread = Thread.objects.filter(date=today) if len(previousThread) == 0: p = Thread.objects.create(location=archive + "sm.html", mobiLocation=archive + "sm.mobi") p.save() else: p = previousThread[0] p.lastUpdate = datetime.now() p.save()
def test_mixing2(self): engine = Engine(dirs=[RELATIVE]) template = engine.get_template('dir1/three.html') output = template.render(Context({})) self.assertEqual(output.strip(), 'three dir1 three')
def test_unused_default(self): """ default_value not used """ tpl = Template( '{% load default_value %}{% default_value foo="baz" %}{{ foo }}') self.assertEqual(tpl.render(Context({'foo': 'bar'})), 'bar')
def render_template(self, template, **kwargs): if isinstance(template, six.string_types): template = loader.get_template_from_string(template) return template.render(Context(kwargs)).strip()
def test_render_filename(self): url = self.get_url(100, 100, 'jpg') t = Template(self.get_template('100x100.jpg')) c = Context({}) self.failUnlessEqual(url, t.render(c))
def send_invoice(self, to_email=None, subject=None, template='invoice_email', images=()): if self.recipient.email or to_email: pdf = StringIO() draw_pdf(pdf, self) pdf.seek(0) attachment = MIMEApplication(pdf.read()) attachment.add_header("Content-Disposition", "attachment", filename=self.file_name()) pdf.close() if not to_email: to_email = self.recipient.email if not subject: subject = app_settings.INV_EMAIL_SUBJECT %\ {"invoice_id": self.invoice_id} text_tmpl = get_template('invoice/email/%s.txt' % template) html_tmpl = get_template('invoice/email/%s.html' % template) email_context = Context({ 'invoice': self, 'date': date.today(), "SITE_NAME": settings.SITE_NAME, "INV_CURRENCY": app_settings.INV_CURRENCY, "INV_CURRENCY_SYMBOL": app_settings.INV_CURRENCY_SYMBOL, }) text_content = text_tmpl.render(email_context) html_content = html_tmpl.render(email_context) email = EmailMultiAlternatives(subject=subject, body=text_content, to=[to_email]) email.attach_alternative(html_content, "text/html") email.attach(attachment) for img in images: fp = open(join(settings.STATIC_ROOT, img[0]), 'rb') msgImage = MIMEImage(fp.read()) fp.close() msgImage.add_header('Content-ID', '<' + img[1] + '>') email.attach(msgImage) email.send() self.invoiced = True self.save() return True else: return False
def test_010_030_PrevPagerUrlYear(self): """Test Prev Page for Year argument when prev_page doesn't exist""" template = Template('{% load blog_tags %}{% prev_page_url %}') text = template.render(Context({'args': {'year': 2015}})) self.assertEqual('', text)