Bugliste von Darius abgearbeitet, außer Bug Profilbild (neu-Erstellung) und Agentur-Default-Bild

This commit is contained in:
holger.trampe 2020-02-23 11:23:58 +01:00
parent d0aa0290d1
commit d422d4c5b9
18 changed files with 71 additions and 37 deletions

6
.gitignore vendored
View File

@ -3,6 +3,8 @@ media/agencymain/*
!media/agencymain/default.jpg !media/agencymain/default.jpg
!media/agencymain/linkdefault.png !media/agencymain/linkdefault.png
digitaleagentur/__pycache__/*
media/userprofilepics/* media/userprofilepics/*
!media/userprofilepics/default.jpg !media/userprofilepics/default.jpg
media/uploadsCK/* media/uploadsCK/*
@ -40,5 +42,9 @@ notificsys/migrations/*
!notificsys/migrations/__init__.py !notificsys/migrations/__init__.py
notificsys/__pycache__/* notificsys/__pycache__/*
dasettings/migrations/*
!dasettings/migrations/__init__.py
dasettings/__pycache__/*
orga/__pycache__/* orga/__pycache__/*

View File

@ -3,9 +3,6 @@
{% load counter_tag %} {% load counter_tag %}
{% load static %} {% load static %}
{% block content %} {% block content %}
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script src="{% static 'users/js/jsLists.js' %}"></script>
<link href="{% static 'users/css/jsLists.css' %}" rel="stylesheet">
<style> <style>
.icon-hover:hover{ .icon-hover:hover{
color: gray; color: gray;
@ -15,7 +12,6 @@ a.disabled {
cursor: default; cursor: default;
} }
</style> </style>
<div aria-live="polite" aria-atomic="true" class="d-flex justify-content-center align-items-center" style="min-height: 200px; max-width: 250px; position: fixed; margin-top: -3%; margin-left: 70.5%; z-index: 10"> <div aria-live="polite" aria-atomic="true" class="d-flex justify-content-center align-items-center" style="min-height: 200px; max-width: 250px; position: fixed; margin-top: -3%; margin-left: 70.5%; z-index: 10">
<!-- Then put toasts within --> <!-- Then put toasts within -->
<div id="fileerr" class="toast alert-danger" role="alert" aria-live="assertive" aria-atomic="true"> <div id="fileerr" class="toast alert-danger" role="alert" aria-live="assertive" aria-atomic="true">
@ -31,7 +27,7 @@ a.disabled {
<h3>Dateien&nbsp;<small><i data-toggle="tooltip" data-placement="top" title="Hier können Sie Dateien und Ordner für ihre Agentur verwalten." class="far fa-question-circle"></i></small></h3> <h3>Dateien&nbsp;<small><i data-toggle="tooltip" data-placement="top" title="Hier können Sie Dateien und Ordner für ihre Agentur verwalten." class="far fa-question-circle"></i></small></h3>
<hr> <hr>
</div> </div>
<div class="content-section col-12">
<nav aria-label="breadcrumb"> <nav aria-label="breadcrumb">
<ol class="breadcrumb"> <ol class="breadcrumb">
<li class="breadcrumb-item" aria-current="page"><a href="{% url 'cloud-main' 'first' %}"><i class="fas fa-home"></i></a></li> <li class="breadcrumb-item" aria-current="page"><a href="{% url 'cloud-main' 'first' %}"><i class="fas fa-home"></i></a></li>
@ -153,6 +149,7 @@ a.disabled {
gespeichert. gespeichert.
</small></p> </small></p>
</div> </div>
</div>
{% endif %} {% endif %}
<!-- MODAL CHANGE DIRNAME --> <!-- MODAL CHANGE DIRNAME -->
<div class="modal fade" id="changeName" tabindex="-1" role="dialog" data-backdrop="static" aria-labelledby="" aria-hidden="true"> <div class="modal fade" id="changeName" tabindex="-1" role="dialog" data-backdrop="static" aria-labelledby="" aria-hidden="true">

View File

@ -1,7 +1,5 @@
{% load crispy_forms_tags %} {% load crispy_forms_tags %}
{% load static %} {% load static %}
{% load mathfilters %}
{% load humanize %}
<button type="button" class="btn btn-primary" onclick="javascript:showAgencyJob()" data-toggle="tooltip" data-placement="top" title="Fügen Sie hier weitere Standard-Agenturfunktionen zu oder bearbeiten bestehende.">Agenturfunktionen verwalten</button> <button type="button" class="btn btn-primary" onclick="javascript:showAgencyJob()" data-toggle="tooltip" data-placement="top" title="Fügen Sie hier weitere Standard-Agenturfunktionen zu oder bearbeiten bestehende.">Agenturfunktionen verwalten</button>
<hr> <hr>
<script src="{% static 'users/js/cropper.min.js' %}"></script> <script src="{% static 'users/js/cropper.min.js' %}"></script>
@ -26,14 +24,7 @@
{% endif %} {% endif %}
{% endfor %} {% endfor %}
</div> </div>
<div class="col-3">
<h5 class="mt-3">Abrechnung</h5>
<p>Kontostand:&nbsp;<b>{{request.user.profile.agency.balance|floatformat:0}} €</b></p>
<p>Nächste Abbuchung am&nbsp;<b>{{request.user.profile.agency.nextdebiting|date:"d.m.Y"}}</b></p>
<p>Max. Nutzungszeit:&nbsp; <b>{{request.user.profile.agency.balance|div:30|floatformat:0}} Monate</b></p>
<p>IBAN: DE4412345678912345</p>
<p><small>Laden Sie das Konto mit einem beliebigen Geldbetrag auf. Die Kosten belaufen sich auf 40 € pro Monat.</small></p>
</div>
</div> </div>
</fieldset> </fieldset>
<hr> <hr>

View File

@ -0,0 +1,7 @@
{% load mathfilters %}
{% load humanize %}
<p>Kontostand:&nbsp;<b>{{request.user.profile.agency.balance|floatformat:0}} €</b></p>
<p>Nächste Abbuchung am&nbsp;<b>{{request.user.profile.agency.nextdebiting|date:"d.m.Y"}}</b></p>
<p>Max. Nutzungszeit:&nbsp; <b>{{request.user.profile.agency.balance|div:30|floatformat:0}} Monate</b></p>
<p>IBAN: DE4412345678912345</p>
<p><small>Laden Sie das Konto mit einem beliebigen Geldbetrag auf. Die Kosten belaufen sich auf 30 € pro Monat zzgl. gebuchter Module.</small></p>

View File

@ -3,8 +3,6 @@
<button type="button" class="btn btn-primary" onclick="javascript:addGroup()" data-toggle="tooltip" data-placement="top" title="Neue Gruppe erstellen, Namen und Rechte vergeben und anschließend Mitglieder hinzufügen."><i class="fas fa-plus"></i>&nbsp;Gruppe</button> <button type="button" class="btn btn-primary" onclick="javascript:addGroup()" data-toggle="tooltip" data-placement="top" title="Neue Gruppe erstellen, Namen und Rechte vergeben und anschließend Mitglieder hinzufügen."><i class="fas fa-plus"></i>&nbsp;Gruppe</button>
<!-- GROUPS --> <!-- GROUPS -->
<!-- COUNTER USER IN GROUPS --> <!-- COUNTER USER IN GROUPS -->
<div id="allGroups"> <div id="allGroups">
<div id="groupAccordion" class="mt-3"> <div id="groupAccordion" class="mt-3">
@ -24,14 +22,15 @@
<button class="btn btn-link" data-toggle="collapse" data-target="#agroup_{{aggroup.pk}}_card" aria-expanded="false" aria-controls="agroup_{{aggroup.pk}}_card"><small><i class="fas fa-chevron-down"></i></small></button>&nbsp;&nbsp;&nbsp; <button class="btn btn-link" data-toggle="collapse" data-target="#agroup_{{aggroup.pk}}_card" aria-expanded="false" aria-controls="agroup_{{aggroup.pk}}_card"><small><i class="fas fa-chevron-down"></i></small></button>&nbsp;&nbsp;&nbsp;
<button class="btn btn-link" data-toggle="collapse" data-target="#agroup_{{aggroup.pk}}_card" aria-expanded="false" aria-controls="agroup_{{aggroup.pk}}_card"> <button class="btn btn-link" data-toggle="collapse" data-target="#agroup_{{aggroup.pk}}_card" aria-expanded="false" aria-controls="agroup_{{aggroup.pk}}_card">
<span id="groupname_{{aggroup.pk}}" >Gruppe <b>{{aggroup.agencygroupname}}&nbsp;</b></span><small>(<span id="groupcounter_{{aggroup.pk}}">{{varcounter}}</span>)</small> <span id="groupname_{{aggroup.pk}}" >Gruppe <b>{{aggroup.agencygroupname}}&nbsp;</b></span><small>(<span id="groupcounter_{{aggroup.pk}}">{{varcounter}}</span>)</small>
</button> </button>
{% if not aggroup.savefordel %}
<button type="button" style="float: right" class="btn btn-primary btn-sm" onclick="javascript:changeGroupName({{aggroup.pk}})" data-toggle="tooltip" data-placement="top" title="Gruppennamen andern"><small><i class="fas fa-pen"></i></small></button> <button type="button" style="float: right" class="btn btn-primary btn-sm" onclick="javascript:changeGroupName({{aggroup.pk}})" data-toggle="tooltip" data-placement="top" title="Gruppennamen andern"><small><i class="fas fa-pen"></i></small></button>
{% endif %}
{% if not aggroup.savefordel %} {% if not aggroup.savefordel %}
<button style="float: right" type="button" class="btn btn-danger btn-sm mr-1" onclick="javascript:delGroup({{aggroup.pk}})" data-toggle="tooltip" data-placement="top" title="Gruppe löschen. Nur möglich, bei selbst erstellten Gruppen."><i class="fas fa-trash-alt"></i></button> <button style="float: right" type="button" class="btn btn-danger btn-sm mr-1" onclick="javascript:delGroup({{aggroup.pk}})" data-toggle="tooltip" data-placement="top" title="Gruppe löschen. Nur möglich, bei selbst erstellten Gruppen."><i class="fas fa-trash-alt"></i></button>
{% endif %} {% endif %}
{% if aggroup.savefordel %}
<button style="float: right" type="button" class="btn btn-danger btn-sm mr-1" onclick="javascript:delGroup({{aggroup.pk}})" data-toggle="tooltip" data-placement="top" title="Gruppe löschen. Nur möglich, bei selbst erstellten Gruppen." disabled><i class="fas fa-trash-alt" ></i></button>
{% endif %}
</h5> </h5>
</div> </div>

View File

@ -87,7 +87,8 @@
type: "GET", type: "GET",
url: "/dasettings/ajax", url: "/dasettings/ajax",
data:{ data:{
action : "change_showtooltips" action : "change_showtooltips",
newtoolvalue : $("#showtooltips").prop("checked")
}, },
success: function( data ) success: function( data )
{ {
@ -97,10 +98,10 @@
$("#toast_savecontent").html("Tooltipseinstellung erfolgreich gespeichert!"); $("#toast_savecontent").html("Tooltipseinstellung erfolgreich gespeichert!");
if(data['data']['newttvalue']){ if(data['data']['newttvalue']){
$('*').tooltip("enable"); $('*').tooltip("enable");
} }
else{ else{
$('*').tooltip("disable"); $('*').tooltip("disable");
} }
} }
else{ else{

View File

@ -48,6 +48,11 @@
<a class="nav-link" id="agency-tab" data-toggle="tab" href="#agency" role="tab" aria-controls="agency" aria-selected="false">Agentur</a> <a class="nav-link" id="agency-tab" data-toggle="tab" href="#agency" role="tab" aria-controls="agency" aria-selected="false">Agentur</a>
</li> </li>
{% endif %} {% endif %}
{% if user|usergperm:"agencyinfo" %}
<li class="nav-item">
<a class="nav-link" id="calc-tab" data-toggle="tab" href="#calc" role="tab" aria-controls="calc" aria-selected="false">Abrechnung</a>
</li>
{% endif %}
{% if user|usergperm:"structuremanager" %} {% if user|usergperm:"structuremanager" %}
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" id="structure-tab" data-toggle="tab" href="#structure" role="tab" aria-controls="structure" aria-selected="false">Struktur</a> <a class="nav-link" id="structure-tab" data-toggle="tab" href="#structure" role="tab" aria-controls="structure" aria-selected="false">Struktur</a>
@ -92,6 +97,15 @@
{% include "dasettings/agency_content.html" %} {% include "dasettings/agency_content.html" %}
{% endblock %} {% endblock %}
</div> </div>
{% endif %}
{% if user|usergperm:"agencyinfo" %}
<div class="tab-pane fade" id="calc" role="tabpanel" aria-labelledby="calc-tab">
<h5 class="mt-3">Abrechnung&nbsp;<small><i data-toggle="tooltip" data-placement="top" title="Hier können Sie die aktuellen Abrechnungsinfos einsehen." class="far fa-question-circle"></i></small></h5>
<hr>
{% block calc_content %}
{% include "dasettings/calc_content.html" %}
{% endblock %}
</div>
{% endif %} {% endif %}
{% if user|usergperm:"structuremanager" %} {% if user|usergperm:"structuremanager" %}
<div class="tab-pane fade" id="structure" role="tabpanel" aria-labelledby="structure-tab"> <div class="tab-pane fade" id="structure" role="tabpanel" aria-labelledby="structure-tab">

View File

@ -226,11 +226,11 @@ def SettingsAjaxRouter(request):
elif request.method == 'GET' and request.GET['action'] == "change_showtooltips" : elif request.method == 'GET' and request.GET['action'] == "change_showtooltips" :
newtooltipvalue = False newtooltipvalue = False
user = User.objects.get(pk=request.user.pk, profile__agency=request.user.profile.agency) user = User.objects.get(pk=request.user.pk, profile__agency=request.user.profile.agency)
if user.profile.showtooltips: if(request.GET['newtoolvalue'] == "true"):
user.profile.showtooltips = False
else:
user.profile.showtooltips = True user.profile.showtooltips = True
newtooltipvalue = True newtooltipvalue = True
else:
user.profile.showtooltips = False
user.save() user.save()
success = True success = True
data = {'newttvalue' : newtooltipvalue} data = {'newttvalue' : newtooltipvalue}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

View File

@ -345,7 +345,7 @@ def updatesbyajax(request, pk):
success = True success = True
workingstandard = Standards.objects.get(pk=pk, agency=request.user.profile.agency) workingstandard = Standards.objects.get(pk=pk, agency=request.user.profile.agency)
# Check for correct user and userrights # Check for correct user and userrights
if(request.user.profile.agency == workingstandard.agency and request.user.has_perm("standardmanager")): if(request.user.profile.agency == workingstandard.agency and request.user.has_perm("users.standardmanager")):
# CHANGE GROUP # CHANGE GROUP
# ADD # ADD
if(request.GET["action"] == "s_addgroup"): if(request.GET["action"] == "s_addgroup"):

View File

@ -1,10 +1,10 @@
from django.db import models from django.db import models
from django.contrib.auth.models import User, AbstractUser from django.contrib.auth.models import User
from django.conf import settings from django.conf import settings
from PIL import Image from PIL import Image
from django.utils import timezone from django.utils import timezone
# MAKE EMAIL UNIQUE # MAKE EMAIL UNIQUE
from django.contrib.auth.models import AbstractUser, User, Group, Permission from django.contrib.auth.models import User, Group, Permission
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType

View File

@ -10,6 +10,7 @@ from django.template.loader import render_to_string
from tasks.models import Tasks from tasks.models import Tasks
from cloud.models import DataFile from cloud.models import DataFile
import os import os
# Deletes all Notifications added to to delete news # Deletes all Notifications added to to delete news
@receiver(pre_delete, sender=News) @receiver(pre_delete, sender=News)
def del_news_notifications(sender, instance, **kwargs): def del_news_notifications(sender, instance, **kwargs):

View File

@ -36,7 +36,9 @@
<link href="https://cdn.jsdelivr.net/npm/summernote@0.8.15/dist/summernote.min.css" rel="stylesheet"> <link href="https://cdn.jsdelivr.net/npm/summernote@0.8.15/dist/summernote.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/summernote@0.8.15/dist/summernote.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/summernote@0.8.15/dist/summernote.min.js"></script>
{% endif %} {% endif %}
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script src="{% static 'users/js/jsLists.js' %}"></script>
<link href="{% static 'users/css/jsLists.css' %}" rel="stylesheet">
<!-- CROPPER --> <!-- CROPPER -->
<link href="{% static 'users/css/cropper.min.css' %}" rel="stylesheet"> <link href="{% static 'users/css/cropper.min.css' %}" rel="stylesheet">

View File

@ -20,13 +20,23 @@
{% endif %} {% endif %}
<hr> <hr>
<h4>Aufgaben</h4> <h4>Tätigkeiten</h4>
{% if res_tasks|length > 0 %} {% if res_tasks|length > 0 %}
{% for s in res_tasks %} {% for s in res_tasks %}
<i class="fas fa-fw fa-tasks"></i>&nbsp;&nbsp;<a href="{% url 'standard-task' s.pk %}"><b>{{s.name|striptags}}</b></a><br /><br /> <i class="fas fa-fw fa-tasks"></i>&nbsp;&nbsp;<a href="{% url 'standard-task' s.pk %}"><b>{{s.name|striptags}}</b></a><br /><br />
{% endfor %} {% endfor %}
{% else %} {% else %}
<p>Keine Ergebnisse in Aufgaben</p> <p>Keine Ergebnisse in Tätigkeiten</p>
{% endif %}
<hr>
<h4>News</h4>
{% if res_news|length > 0 %}
{% for s in res_news %}
<i class="fas fa-external-link-alt"></i>&nbsp;&nbsp;<a href="{% url 'news-single' s.pk%}"><b>{{s.name}}</b></a><br /><br />
{% endfor %}
{% else %}
<p>Keine Ergebnisse in News</p>
{% endif %} {% endif %}
<hr> <hr>

View File

@ -149,7 +149,7 @@ class SupportForm(forms.Form):
def __init__(self, user, *args, **kwargs): def __init__(self, user, *args, **kwargs):
super().__init__(*args, **kwargs) super().__init__(*args, **kwargs)
user_name = user.first_name + " " + user.last_name user_name = user.first_name + " " + user.last_name
self.fields['name'] = forms.CharField(required=True, label="Ihr Name", initial=user_name) self.fields['name'] = forms.CharField(required=True, label="Name", initial=user_name)
self.fields['mail'] = forms.EmailField(required=True, label="E-Mail", initial=user.email) self.fields['mail'] = forms.EmailField(required=True, label="E-Mail", initial=user.email)
self.fields['problemconc'] = forms.CharField(required=True, label="Problemzusammenfassung") self.fields['problemconc'] = forms.CharField(required=True, label="Problemzusammenfassung")
self.fields['problem'] = forms.CharField(required=True, widget=forms.Textarea, label="Ausführliche Beschreibung") self.fields['problem'] = forms.CharField(required=True, widget=forms.Textarea, label="Ausführliche Beschreibung")

View File

@ -68,7 +68,7 @@ def toUpdate(request):
# VERWALTUNG # VERWALTUNG
temgroup_verwaltung = Group(name=str(request.user.profile.agency.pk) + "_" + randomString(8)) temgroup_verwaltung = Group(name=str(request.user.profile.agency.pk) + "_" + randomString(8))
temgroup_verwaltung.save() temgroup_verwaltung.save()
temgroup_verwaltung_ag = AgencyGroup(savefordel=True, is_admin=True, group=temgroup_verwaltung, agency=request.user.profile.agency, agencygroupname="Verwaltung") temgroup_verwaltung_ag = AgencyGroup(savefordel=True, is_admin=True, group=temgroup_verwaltung, agency=request.user.profile.agency, agencygroupname="Administratoren")
temgroup_verwaltung_ag.save() temgroup_verwaltung_ag.save()
print("default groups created...adding users...") print("default groups created...adding users...")
users_of_agency = User.objects.filter(profile__agency__pk=request.user.profile.agency.pk) users_of_agency = User.objects.filter(profile__agency__pk=request.user.profile.agency.pk)
@ -273,7 +273,7 @@ class UsersPermUpdateView(LoginRequiredMixin, View):
user_tochange.user_permissions.add(tempperm) user_tochange.user_permissions.add(tempperm)
else: else:
# Eingeloggter User darf sich nicht selbst die Userverwaltungsrechte entziehen # Eingeloggter User darf sich nicht selbst die Userverwaltungsrechte entziehen
if user_tochange == request.user and ele[0]=='users_usermanagement': if user_tochange == request.user and ele[0]=='usermanager':
messages.warning(request, f'Benutzerverwaltungsrechte für {user_tochange.first_name} {user_tochange.last_name} kann nicht entfernt werden.') messages.warning(request, f'Benutzerverwaltungsrechte für {user_tochange.first_name} {user_tochange.last_name} kann nicht entfernt werden.')
else: else:
user_tochange.user_permissions.remove(tempperm) user_tochange.user_permissions.remove(tempperm)
@ -475,11 +475,17 @@ def GlobalSearch(request):
searchfor = request.GET['searchstring'] searchfor = request.GET['searchstring']
ag = request.user.profile.agency.pk ag = request.user.profile.agency.pk
res_standard = Standards.objects.filter(agency__pk=ag, public=True).filter(name__icontains=searchfor) | Standards.objects.filter(agency__pk=ag, public=True).filter(content__icontains=searchfor) | Standards.objects.filter(agency__pk=ag, public=True).filter(area__name__icontains=searchfor) | Standards.objects.filter(agency__pk=ag, public=True).filter(task__name__icontains=searchfor) | Standards.objects.filter(agency__pk=ag, public=True).filter(created_standard_by__last_name__icontains=searchfor)|Standards.objects.filter(agency__pk=ag, public=True).filter(created_standard_by__first_name__icontains=searchfor) res_standard = Standards.objects.filter(agency__pk=ag, public=True).filter(name__icontains=searchfor) | Standards.objects.filter(agency__pk=ag, public=True).filter(content__icontains=searchfor) | Standards.objects.filter(agency__pk=ag, public=True).filter(area__name__icontains=searchfor) | Standards.objects.filter(agency__pk=ag, public=True).filter(task__name__icontains=searchfor) | Standards.objects.filter(agency__pk=ag, public=True).filter(created_standard_by__last_name__icontains=searchfor)|Standards.objects.filter(agency__pk=ag, public=True).filter(created_standard_by__first_name__icontains=searchfor)
res_news = News.objects.filter(agency__pk=ag).filter(name__icontains=searchfor) | News.objects.filter(agency__pk=ag).filter(content__icontains=searchfor) | News.objects.filter(agency__pk=ag).filter(created_by__last_name__icontains=searchfor)|News.objects.filter(agency__pk=ag).filter(created_by__first_name__icontains=searchfor)
res_areas = Areas.objects.filter(agency__pk=ag).filter(name__icontains=searchfor) res_areas = Areas.objects.filter(agency__pk=ag).filter(name__icontains=searchfor)
res_tasks = Tasks.objects.filter(agency__pk=ag).filter(name__icontains=searchfor) |Tasks.objects.filter(agency__pk=ag).filter(area__name__icontains=searchfor) res_tasks = Tasks.objects.filter(agency__pk=ag).filter(name__icontains=searchfor) |Tasks.objects.filter(agency__pk=ag).filter(area__name__icontains=searchfor)
res_pers = User.objects.filter(profile__agency__pk=ag).filter(first_name__icontains=searchfor) | User.objects.filter(profile__agency__pk=ag).filter(last_name__icontains=searchfor) res_pers = User.objects.filter(profile__agency__pk=ag).filter(first_name__icontains=searchfor) | User.objects.filter(profile__agency__pk=ag).filter(last_name__icontains=searchfor)
links = QuickLinks.objects.filter(agency__pk=ag).filter(name__icontains=searchfor) | QuickLinks.objects.filter(agency__pk=ag).filter(link__icontains=searchfor) links = QuickLinks.objects.filter(agency__pk=ag).filter(name__icontains=searchfor) | QuickLinks.objects.filter(agency__pk=ag).filter(link__icontains=searchfor)
html = render_to_string('users/searchres.html', {'links': links, 'res_standard': res_standard, 'res_areas': res_areas, 'res_tasks': res_tasks, 'res_pers': res_pers})
html = render_to_string('users/searchres.html', {'links': links, 'res_standard': res_standard, 'res_areas': res_areas, 'res_tasks': res_tasks, 'res_pers': res_pers, 'res_news' : res_news})
return HttpResponse(html) return HttpResponse(html)
else: else:
return HttpResponse("Request method is not a GET") return HttpResponse("Request method is not a GET")