def login_user(request): if request.user.is_authenticated: messages.add_message(request, messages.SUCCESS, "You are already logged in!") return HttpResponseRedirect("/profiles/") username = password = '' context = RequestContext(request) if request.POST: username = request.POST['username'] password = request.POST['password'] print("TRying to login") user = authenticate(username=username, password=password) if user is not None: if user.is_active: print("Login done") login(request, user) messages.add_message(request, messages.SUCCESS, "Logged in successfully!") return HttpResponseRedirect('/profiles/') else: return HttpResponse("You're account is disabled.") else: print("unknown user") messages.error(request, "username or Password invalid. Please try again!") return render_to_response(request, 'login.html', {}, context.flatten()) print("POST method") print("default login page") return render(request, 'login.html', context=context.flatten())
def post(self, request, *args, **kwargs): actor = get_actor_for_request_if_login(request) if not request.session.get('actor_id'): return redirect('/') seller = actor.get_seller() phone_number = request.POST['customerPhoneInput'] title = request.POST['customerNameInput'] sex = request.POST['selector'] birthday = request.POST['customerBirthInput'] phone_number_referee = request.POST['customerRefPhoneInput'] answer = {} if not phone_number or \ not title or \ not sex or \ not birthday: template = loader.get_template( 'dcashier/static/customerAddPage.html') answer = {'error': 'Не коеректно заполнены поля'} context = RequestContext(request, answer) return HttpResponse(template.render(context.flatten())) if seller.has_customer_with_phone_number(phone_number): template = loader.get_template( 'dcashier/static/customerAddPage.html') answer = {'error': 'Клиент с таким номером уже существует'} context = RequestContext(request, answer) return HttpResponse(template.render(context.flatten())) if request.POST['registration'] == 'zero': if seller.get_executor().is_size_xs() or \ seller.get_executor().is_size_s(): seller.create_customer(phone_number, title, sex, birthday, phone_number_referee) else: assert False elif request.POST['registration'] == '100': if seller.get_executor().is_size_xs() or \ seller.get_executor().is_size_s(): seller.create_customer_100(phone_number, title, sex, birthday, phone_number_referee) answer['registration_ball'] = 100 else: assert False else: assert False client = seller.get_client_with_phone_number(phone_number) request.session['client_id'] = client.id template = loader.get_template( 'dcashier/static/customerAddedPage.html') answer['client'] = client context = RequestContext(request, answer) return HttpResponse(template.render(context.flatten()))
def display(self, request, correlated=False, json=False): context = RequestContext(request) template = get_template(self.__class__.template) context['artifact_name'] = self.__class__.display_name if correlated: context['artifact_values'] = self._correlated else: context['artifact_values'] = self._artifacts context['event'] = self._event if not json: return template.render(context.flatten(), request) else: return context.flatten()
def index(request): ctx = RequestContext(request) ctx['landing_pages'] = [] mask = ['project', 'title', 'authors'] client = load_client() provenances = client.projects.get_entries(mask=mask).response().result for provenance in provenances: entry = {'project': provenance['project']} try: entry['url'] = reverse(provenance['project'] + ':index') except: entry['contribs'] = client.contributions.get_entries( projects=[provenance['project']], mask=['identifier'], per_page=2).response().result entry['title'] = provenance['title'] authors = provenance['authors'].split(',', 1) style = 'font-size: 13px;' if '/' in authors[0]: style += 'margin-top: -7px;' prov_display = f'<span class="pull-right" style="{style}">{authors[0].replace("/", "/<br>")}' if len(authors) > 1: prov_display += '''<button class="btn btn-sm btn-link" data-html="true" data-toggle="tooltip" data-placement="bottom" data-container="body" title="{}" style="padding: 0px 0px 2px 5px;">et al.</a>'''.format( authors[1].strip().replace(', ', '<br/>')) prov_display += '</span>' entry['provenance'] = prov_display ctx['landing_pages'].append( entry) # consider everything in DB released return render(request, "mpcontribs_portal_index.html", ctx.flatten())
def index(request): answer = {} if request.session.get('actor_id'): auth_system = AuthSystem() actor = auth_system.get_actor_by_id(request.session.get('actor_id')) answer['actor'] = actor answer['is_login'] = True if request.session.get('shop_id'): shop_id = request.session.get('shop_id') actor = get_actor_for_request_if_login(request) #shops = actor.shops() seller = actor.get_seller() shops = seller.list_shop() for shop in shops: if str(shop.id) == str(shop_id): answer['shop'] = shop break if request.session.get('order_id'): answer['is_order'] = True else: answer['is_login'] = False if request.session.get('price_last_order') and \ request.session.get('reward_ball_last_order'): answer['price_last_order'] = int(request.session['price_last_order']) answer['reward_ball_last_order'] = int( request.session['reward_ball_last_order']) del request.session['price_last_order'] del request.session['reward_ball_last_order'] template = loader.get_template('dcashier/static/index.html') context = RequestContext(request, answer) #return HttpResponse(template.render(context)) return HttpResponse(template.render(context.flatten()))
def dynamic_get_cards(request): path_to_cards_file = get_the_most_recent_result() # path_to_cards_file = './static/ebdjango/resources/res__ults.txt' with open(path_to_cards_file) as json_file: json_data = json.load(json_file) with_cena = [] without_cena = [] total_money = 0.0 for singlekarta in json_data: if 'cena' in singlekarta: singlekarta['cena'] = float(singlekarta['cena'].replace(",", ".")) if singlekarta['cena'] < 0.5: singlekarta['cena'] = 0.5 with_cena.append(singlekarta) total_money += singlekarta['cena'] * singlekarta['ilosc'] else: singlekarta['cena'] = "NO PRICE YET!" without_cena.append(singlekarta) with_cena = sorted(with_cena, key=lambda k: k['cena'])[::-1] template = loader.get_template("ebdjango/all_cards.html") context = RequestContext( request, { 'json_cards_with_price': with_cena, # 'json_cards_tojs': json.dumps(with_cena), 'cards_no_price': without_cena, 'total_money': total_money, 'path_to_cards_file': path_to_cards_file }) return HttpResponse(template.render(context.flatten()))
def contribution(request, cid): ctx = RequestContext(request) client = load_client() nb = client.notebooks.get_entry(cid=cid).response().result ctx['nb'], ctx['js'] = export_notebook(nb, cid) return render(request, "mpcontribs_explorer_contribution.html", ctx.flatten())
def coming_soon(request): template = loader.get_template("ebdjango/coming_soon.html") title_string = "This is a title" context = RequestContext(request, { 'title': title_string, }) return HttpResponse(template.render(context.flatten()))
def inner(request, *args, **kwargs): v = func(request, *args, **kwargs) c = RequestContext(request, v) return render_to_response_ext(request, template_name, c.flatten(), doc_type="pdf")
def index(request): ctx = RequestContext(request) try: ctx.update(get_context(project)) except Exception as ex: ctx['alert'] = str(ex) return render(request, "explorer_index.html", ctx.flatten())
def index(request): latest_question_list = Question.objects.order_by('-pub_date')[:5] template = loader.get_template('polls/index.html') context = RequestContext(request, { 'latest_question_list': latest_question_list, }) return HttpResponse(template.render(context.flatten()))
def page_not_found(request, exception=None, template_name='perfect404.html'): """ Perfect 404 handler. Templates: `perfect404.html` Context: request_path The path of the requested URL (e.g., '/app/pages/bad_page/') """ referer = request.META.get('HTTP_REFERER', '') log.warning('missing %r, referer %r' % (request.path, referer)) internal = False iam = 'http://%s' % Site.objects.get_current().domain if referer[:len(iam)] == iam: internal = True if settings.ADMINS: contact = dict(zip(('name', 'email'), settings.ADMINS[0])) else: contact = None t = loader.get_template(template_name) context = RequestContext( request, { 'request': request, 'request_path': request.path, 'referer': referer, 'internal': internal, 'contact': contact, }) content = t.render(context.flatten()) return http.HttpResponseNotFound(content)
def detail(request, guestbook_id): guestbook = get_object_or_404(Guestbook, pk=guestbook_id) template = loader.get_template('guestbook/detail.html') context = RequestContext(request, { 'guestbook': guestbook, }) return HttpResponse(template.render(context.flatten()))
def get(self, request, *args, **kwargs): answer = {} answer['is_error_login'] = request.session.get('is_error_login') template = loader.get_template('dcashier/static/authPage.html') context = RequestContext(request, answer) #return HttpResponse(template.render(context)) return HttpResponse(template.render(context.flatten()))
def stopq(request): u = who_auth(request) if u != 'prof': return HttpResponse('Incorrect login!') sys = get_sys_state() if sys.mode == 'INACTIVE': return redirect(reverse('index')) sys.mode = 'INACTIVE' sys.save() # choose three random students that have answered student_list = StudentInfo.objects.exclude(curr_status='ABSENT').all() s1 = None s2 = None s3 = None if len(student_list) > 3: #todo: remove this loop s_list = [] for s in student_list: s_list.append(s) s1, s2, s3 = random.sample(s_list, 3) else: if len(student_list) > 2: s3 = student_list[2] if len(student_list) > 1: s2 = student_list[1] if len(student_list) > 0: s1 = student_list[0] context = RequestContext(request) context.push({'s1': s1, 's2': s2, 's3': s3}) logq.info('Quiz for Question ' + str(sys.activeq1) + str(sys.activeq2) + str(sys.activeq3) + str(sys.activeq4) + ' is stopped.') return render(request, 'studenthome/results.html', context.flatten())
def viewq(request, qid): u = who_auth(request) if u != 'prof': return HttpResponse('Incorrect login!') q = get_or_none(Question, pk=int(qid)) ops = dict() corrects = dict() wrongs = dict() for i in range(1, 21): ops['op' + str(i)] = get_q_op(q, i) corrects['c_num_' + str(i)] = 0 wrongs['w_num_' + str(i)] = 0 sas = StudentAnswers.objects.filter(q=q.pk).exclude(answer_time=None).all() for sa in sas: for idx in range(1, 5): is_correct, op_num = is_ith_option_correct(sa, idx, q) if is_correct: corrects['c_num_' + str(op_num)] += 1 else: wrongs['w_num_' + str(op_num)] += 1 context = RequestContext(request) context.push({'q': q}) context.push(ops) context.push(corrects) context.push(wrongs) return render(request, 'studenthome/viewq.html', context.flatten())
def _get_contentitem_formset_html(self, request, obj, FormSet, inline, placeholder_slots): # Passing serialized object fields to the client doesn't work, # as some form fields (e.g. picture field or MultiValueField) have a different representation. # The only way to pass a form copy to the client is by actually rendering it. # Hence, emulating change_view code here: queryset = inline.get_queryset(request) formset = FormSet(instance=obj, prefix="", queryset=queryset) fieldsets = list(inline.get_fieldsets(request, obj)) readonly = list(inline.get_readonly_fields(request, obj)) prepopulated = dict(inline.get_prepopulated_fields(request, obj)) inline.extra = 0 inline_admin_formset = InlineAdminFormSet(inline, formset, fieldsets, prepopulated, readonly, model_admin=self) form_data = [] for i, inline_admin_form in enumerate(inline_admin_formset): if inline_admin_form.original is None: # The extra forms continue # exactly what admin/fluent_contents/contentitem/inline_container.html does: template_name = inline_admin_formset.opts.cp_admin_form_template context = { "inline_admin_form": inline_admin_form, "inline_admin_formset": inline_admin_formset, "original": obj, "object_id": obj.pk, "add": False, "change": True, "has_change_permission": True, } context = RequestContext(request, context) form_html = render_to_string(template_name, context.flatten()) # Append to list with metadata included contentitem = inline_admin_form.original form_data.append({ "contentitem_id": contentitem.pk, "sort_order": contentitem.sort_order, "placeholder_id": contentitem.placeholder_id, "placeholder_slot": placeholder_slots[contentitem.placeholder_id], "html": form_html, "plugin": inline.plugin.__class__.__name__, "model": inline.model.__name__, "prefix": formset.add_prefix(i), }) return form_data
def get_form_template(self, request, template=None, context=None): """ :Returns: Rendered form template with the given context, if any. """ if not context: context = RequestContext(request) with update_context(context, {'form': self.get_form(request, prefix=self.get_form_prefix())}): return render_to_string(template or self.edit_templates, context.flatten())
def get(self, request, *args, **kwargs): actor = get_actor_for_request_if_login(request) if not request.session.get('actor_id'): return redirect('/') template = loader.get_template('dcashier/static/customerAddPage.html') answer = {} context = RequestContext(request, answer) return HttpResponse(template.render(context.flatten()))
def index(request): ctx = RequestContext(request) try: columns = ['phase', 'ΔH', 'ΔH|hyd', 'GS?', 'CIF'] ctx.update(get_context(project, columns)) except Exception as ex: ctx['alert'] = str(ex) return render(request, "explorer_index.html", ctx.flatten())
def index(request): ctx = RequestContext(request) try: columns = ['Co', 'Fe', 'V', 'thickness', 'BH|max', 'Hc|MOKE', 'Hc|VSM'] ctx.update(get_context(project, columns=columns)) except Exception as ex: ctx['alert'] = str(ex) return render(request, "explorer_index.html", ctx.flatten())
def index(request): ctx = RequestContext(request) try: resp = client.projects.get_entries(mask=['project']).response() ctx['projects'] = [r['project'] for r in resp.result] except Exception as ex: ctx['alert'] = f'{ex}' return render(request, "mpcontribs_explorer_index.html", ctx.flatten())
def pingpong_results(request): template = loader.get_template("ebdjango/all_results.html") context = RequestContext( request, { 'match_results': MatchResult.objects.filter(game_type=models.MatchResult.PING_PONG) }) return HttpResponse(template.render(context.flatten()))
def snooker_results(request): template = loader.get_template("ebdjango/snooker_results.html") context = RequestContext( request, { 'match_results': MatchResult.objects.filter(game_type=models.MatchResult.SNOOKER), }) return HttpResponse(template.render(context.flatten()))
def index(request): countries = Country.objects.all()[:4] food_list = Food.objects.all()[:4] context = RequestContext(request, { 'countries': countries, 'food_list': food_list }) return render(request, 'food/index.html', context=context.flatten())
def documentation(request): ctx = RequestContext(request) if request.user.is_authenticated: user = RegisteredUser.objects.get(username=request.user.username) if not user.groups.filter(name='redox_thermo_csp').exists(): ctx.update({'alert': access_msg}) else: return redirect('{}?next={}'.format(reverse('webtzite:cas_ng_login'), request.path)) return render_to_response("redox_thermo_csp_explorer_documentation.html", ctx.flatten())
def get(self, request, *args, **kwargs): actor = get_actor_for_request_if_login(request) shop = get_shop_for_request_if_login(request) answer = {} answer['shop'] = shop template = loader.get_template('dcashier/static/shopPage.html') context = RequestContext(request, answer) #return HttpResponse(template.render(context)) return HttpResponse(template.render(context.flatten()))
def tmpl(request, template): try: t = loader.get_template('uds/admin/tmpl/' + template + ".html") c = RequestContext(request) resp = t.render(c.flatten()) except Exception as e: logger.debug('Exception getting template: {0}'.format(e)) resp = _('requested a template that do not exist') return HttpResponse(resp, content_type="text/plain")
def index(request): ctx = RequestContext(request) try: keys, subkeys = ['mₑᶜᵒⁿᵈ', 'S', 'σ', 'S²σ'], ['n.<ε>', 'p.<ε>'] columns = ['.'.join([k, sk]) for k in keys for sk in subkeys] ctx.update(get_context(project, columns=columns)) except Exception as ex: ctx['alert'] = str(ex) return render(request, "explorer_index.html", ctx.flatten())
def html_response(template_name, context, request, processors=[]): rc = RequestContext(request, processors=processors) rc.update(context) # render no longer runs the processors so we do it here # ourselves if processors is not None: for p in processors: rc.update(p(request)) return render(request, template_name, context=rc.flatten())
def tolerance_factors(request): ctx = RequestContext(request) if request.user.is_authenticated: user = RegisteredUser.objects.get(username=request.user.username) from ..rest.rester import RedoxThermoCspRester with RedoxThermoCspRester(user.api_key, endpoint=get_endpoint(request)) as mpr: try: ionic_radii = render_dataframe(mpr.get_ionic_radii(), webapp=True) except Exception as ex: ctx.update({'alert': str(ex)}) else: return redirect('{}?next={}'.format(reverse('webtzite:cas_ng_login'), request.path)) return render_to_response("redox_thermo_csp_explorer_tolerance_factors.html", ctx.flatten())
def render_to_string(template_name, context=None, request=None, using=None): """Render a template with a given name to a string. This will invoke the original :py:func:`~django.template.loader.render_to_string` with the correct arguments for the active version of Django. It differs a bit from the modern version of the function in that it allows a :py:class:`~django.template.Context` argument, which it will convert to the correct type. Args: template_name (unicode): The name of the template to render. context (object, optional): The context data as a dictionary or as a :py:class:`~django.template.Context`. request (django.http.HttpRequest, optional): The HTTP request for the render. If specified, a :py:class:`~django.template.RequestContext` will be used. using (unicode, optional): The optional name of a template engine to use for the render. This is only supported on Django 1.8 and higher. Returns: django.utils.safestring.SafeText: The resulting rendered content. """ if template_engines is None: if not isinstance(context, Context): if request: context = RequestContext(request, context) else: context = Context(context) return _render_to_string(template_name, context) else: if isinstance(context, Context): context = context.flatten() return _render_to_string(template_name=template_name, context=context, request=request, using=using)
def _get_contentitem_formset_html(self, request, obj, FormSet, inline, placeholder_slots): # Passing serialized object fields to the client doesn't work, # as some form fields (e.g. picture field or MultiValueField) have a different representation. # The only way to pass a form copy to the client is by actually rendering it. # Hence, emulating change_view code here: queryset = inline.get_queryset(request) formset = FormSet(instance=obj, prefix='', queryset=queryset) fieldsets = list(inline.get_fieldsets(request, obj)) readonly = list(inline.get_readonly_fields(request, obj)) prepopulated = dict(inline.get_prepopulated_fields(request, obj)) inline.extra = 0 inline_admin_formset = InlineAdminFormSet(inline, formset, fieldsets, prepopulated, readonly, model_admin=self) form_data = [] for i, inline_admin_form in enumerate(inline_admin_formset): if inline_admin_form.original is None: # The extra forms continue # exactly what admin/fluent_contents/contentitem/inline_container.html does: template_name = inline_admin_formset.opts.cp_admin_form_template context = { 'inline_admin_form': inline_admin_form, 'inline_admin_formset': inline_admin_formset, 'original': obj, 'object_id': obj.pk, 'add': False, 'change': True, 'has_change_permission': True, } context = RequestContext(request, context) form_html = render_to_string(template_name, context.flatten()) # Append to list with metadata included contentitem = inline_admin_form.original form_data.append({ 'contentitem_id': contentitem.pk, 'sort_order': contentitem.sort_order, 'placeholder_id': contentitem.placeholder_id, 'placeholder_slot': placeholder_slots[contentitem.placeholder_id], 'html': form_html, 'plugin': inline.plugin.__class__.__name__, 'model': inline.model.__name__, 'prefix': formset.add_prefix(i), }) return form_data
def index(request): ctx = RequestContext(request) try: ctx['project'] = project prov = client.projects.get_entry(project=project).response().result prov.pop('id') ctx['title'] = prov.pop('title') ctx['provenance'] = RecursiveDict(prov).render() columns = ['phase', 'ΔH', 'ΔH|hyd', 'GS?', 'CIF'] data = client.contributions.get_table( project=project, columns=columns, per_page=3 ).response().result columns = list(data['items'][0].keys()) table = Table(data['items'], columns=columns) ctx['table'] = table.render(project=project) except Exception as ex: ctx['alert'] = str(ex) return render(request, "explorer_index.html", ctx.flatten())
def index(request): ctx = RequestContext(request) try: ctx['project'] = project prov = client.projects.get_entry(project=project).response().result prov.pop('id') ctx['title'] = prov.pop('title') ctx['provenance'] = RecursiveDict(prov).render() keys, subkeys = ['NUS', 'JARVIS'], ['id', 'Eₓ', 'CIF'] columns = ['##'.join([k, sk]) for k in keys for sk in subkeys] # columns_jarvis = ['id', 'E', 'ΔE|optB88vdW', 'ΔE|mbj', 'CIF'] data = client.contributions.get_table( project=project, columns=columns, per_page=3 ).response().result columns = list(data['items'][0].keys()) table = Table(data['items'], columns=columns) ctx['table'] = table.render(project=project) except Exception as ex: ctx['alert'] = str(ex) return render(request, "explorer_index.html", ctx.flatten())
def index(request): ctx = RequestContext(request) ctx['landing_pages'] = [] mask = ['project', 'title', 'authors'] provenances = client.projects.get_entries(mask=mask).response().result for provenance in provenances: try: url = reverse(provenance['project'] + ':index') except: url = '#' entry = {'project': provenance['project'], 'url': url} entry['title'] = provenance['title'] authors = provenance['authors'].split(',', 1) prov_display = f'<span class="pull-right" style="font-size: 13px;">{authors[0]}' if len(authors) > 1: prov_display += '''<button class="btn btn-sm btn-link" data-html="true" data-toggle="tooltip" data-placement="bottom" data-container="body" title="{}" style="padding: 0px 0px 2px 5px;">et al.</a>'''.format( authors[1].strip().replace(', ', '<br/>')) prov_display += '</span>' entry['provenance'] = prov_display ctx['landing_pages'].append(entry) # consider everything in DB released return render(request, "mpcontribs_portal_index.html", ctx.flatten())
def isographs(request): ctx = RequestContext(request) if request.user.is_authenticated: user = RegisteredUser.objects.get(username=request.user.username) if user.groups.filter(name='redox_thermo_csp').exists(): from ..rest.rester import RedoxThermoCspRester with RedoxThermoCspRester(user.api_key, endpoint=get_endpoint(request)) as mpr: try: prov = mpr.get_provenance() ctx['title'] = prov.pop('title') ctx['provenance'] = render_dict(prov, webapp=True) df = mpr.get_contributions() url = request.build_absolute_uri(request.path) + 'rest/table' ctx['table'] = render_dataframe( df, webapp=True, #url=url, total_records=mpr.count() ) except Exception as ex: ctx.update({'alert': str(ex)}) else: ctx.update({'alert': access_msg}) else: return redirect('{}?next={}'.format(reverse('webtzite:cas_ng_login'), request.path)) return render_to_response("redox_thermo_csp_explorer_isographs.html", ctx.flatten())
def global_render_template(name, **kwargs): request = get_request() context = RequestContext(request, kwargs or None) context['request'] = request template = loader.get_template(name, using='wagtail-env') return mark_safe(template.render(context.flatten()))
def contribution(request, cid): ctx = RequestContext(request) nb = client.notebooks.get_entry(cid=cid).response().result ctx['nb'], ctx['js'] = export_notebook(nb, cid) return render(request, "mpcontribs_explorer_contribution.html", ctx.flatten())