remotes/origin/setup
ArturBaybulatov 10 years ago
commit 84905246b9
  1. 1
      projects/forms.py
  2. 8
      projects/templates/projects/test_form.html
  3. 5
      projects/urls.py
  4. 37
      projects/views.py
  5. 13
      specializations/templates/specializations/specialization.html
  6. 43
      specializations/templates/specializations/specialization_list.html
  7. 7
      specializations/views.py

@ -34,6 +34,7 @@ class RealtyForm(ModelForm):
'city',
)
class PortfolioForm(ModelForm):
class Meta:
model = Portfolio

@ -0,0 +1,8 @@
<h1>Test form</h1>
<form action="" method="post">{% csrf_token %}
{{ form.errors }}
{{ form.as_p }}
{{ second_form.errors }}
{{ second_form.as_p }}
<input type="submit" value="Send message" />
</form>

@ -3,7 +3,7 @@ from django.conf import urls
from .views import ProjectListView, ProjectDetailView, \
ProjectCreateView, PortfolioCreateView,\
TestProjectView, manage_articles
TestProjectView, manage_articles, TestView
app_name = 'projects'
@ -11,7 +11,8 @@ urlpatterns = [
urls.url(r'^$', ProjectListView.as_view(), name='list'),
urls.url(r'^porttest/$', manage_articles, name='portfolio'),
urls.url(r'^create/$', ProjectCreateView.as_view(), name='project-create'),
urls.url(r'^test/$', TestProjectView.as_view(), name='project-test'),
# urls.url(r'^test/$', TestProjectView.as_view(), name='project-test'),
urls.url(r'^test/$', TestView.as_view(), name='project-test'),
urls.url(r'^portfolio/create/$', PortfolioCreateView.as_view(), name='portfolio-create'),
urls.url(r'(?P<pk>\d+)$', ProjectDetailView.as_view(), name='detail'),
]

@ -1,7 +1,7 @@
from django.http import HttpResponseForbidden
from django.core.urlresolvers import reverse
from django.contrib.auth.mixins import PermissionRequiredMixin
from django.views.generic import ListView, DetailView, CreateView
from django.views.generic import ListView, DetailView, CreateView, View
from django.views.generic.edit import FormMixin
from .models import Project, Portfolio
@ -75,8 +75,38 @@ class PortfolioCreateView(PermissionRequiredMixin, CreateView):
# import code; code.interact(local=dict(globals(), **locals()))
from django.http import HttpResponseRedirect
class TestView(View):
template_name = 'projects/test_form.html'
form_class = RealtyForm
form_second = ProjectForm
class TestProjectView(CreateView):
def get(self, request, *args, **kwargs):
form = self.form_class()
second_form = self.form_second(prefix='form_2')
return render(request,self.template_name, {'form': form, 'second_form': second_form})
def post(self, request, *args, **kwargs):
form = self.form_class(request.POST)
second_form = self.form_second(request.POST,prefix='form_2')
if form.is_valid() and second_form.is_valid():
return self.form_valid(request, form, second_form)
return render(request, self.template_name, {'form': form, 'second_form': second_form})
def form_valid(self, request, form, second_form):
realty = second_form.save(commit=False)
realty.user = request.user
realty.save()
project = form.save(commit=False)
project.user = request.user
project.realty = realty
project.save()
def form_invalid(self, form, second_form):
pass
class TestProjectView(View):
model = Project
form_class = ProjectForm
template_name = 'projects/test.html'
@ -95,12 +125,11 @@ class TestProjectView(CreateView):
form_class = self.get_form_class()
form = self.get_form(form_class)
realty_form = RealtyForm(self.request.POST)
import code; code.interact(local=dict(globals(), **locals()))
# import code; code.interact(local=dict(globals(), **locals()))
if form.is_valid():
return self.form_valid(form, realty_form)
else:
return self.form_invalid(form, realty_form)
# import code; code.interact(local=dict(globals(), **locals()))
def form_valid(self, form, realty_form):

@ -0,0 +1,13 @@
{% load staticfiles %}
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Archilance</title>
</head>
<body>
</body>
</html>

@ -7,24 +7,28 @@
{# {% endfor %}#}
{##}
{% load mptt_tags %}
{# <ul>#}
{# {% recursetree object_list %}#}
{# <li>#}
{# {{ node.name }}#}
{# {% if not node.is_leaf_node %}#}
{# <ul class="children">#}
{# {{ children }}#}
{# </ul>#}
{# {% endif %}#}
{# </li>#}
{# {% endrecursetree %}#}
{# </ul>#}
{#<ul>#}
{# {% recursetree object_list %}#}
{# <li>#}
{# {{ node.name }}#}
{# {% if not node.is_leaf_node %}#}
{# <ul class="children">#}
{# {{ children }}#}
{# </ul>#}
{# {% endif %}#}
{# </li>#}
{# {% endrecursetree %}#}
{#</ul>#}
{% for ch in children %}
<p class="spec_list" data-id="{{ ch.id }}"> {{ ch }} </p>
{% for ch1 in ch.get_children %}
{# {{ ch1 }}#}
{% endfor %}
{% endfor %}
<div id="children" style="border:2px solid #000;">
</div>
{% block js_block %}
<script type="text/javascript">
@ -45,17 +49,22 @@
return cookieValue;
}
$('p.spec_list').on('click', function (e) {
$('body').on('click','p', function (e) {
e.preventDefault();
var csrftoken = getCookie('csrftoken');
var spec_id = $(this).attr('data-id');
var spec_id = $(this).attr('data-id')
$.ajax({
url:'/api/specializations/',
url:'/api/specializations?parent=' + spec_id,
type:'GET',
data:{csrfmiddlewaretoken : csrftoken, spec_id: spec_id},
data:{ csrfmiddlewaretoken : csrftoken, spec_id: spec_id},
dataType:'json',
success:function(json){
console.log(json);
console.log(json.results);
var out = ''
$.each(json.results, function(i,v){
out += '<p data-id="' + v.id + '">' + v.name + '</p>';
});
$('#children').html(out);
}
});
});

@ -7,6 +7,7 @@ from .models import Specialization
class SpecListView(ListView):
model = Specialization
template_name = 'specialization.html'
def get_context_data(self, **kwargs):
context = super(SpecListView, self).get_context_data(**kwargs)
@ -27,11 +28,11 @@ def test_page(request):
else:
return JsonResponse({"hello":"python"})
import json
def test_spec(request):
spec = Specialization.objects.get(pk=2)
# children = spec.get_children()
return HttpResponse(request, {'mm':'hello'})
children = spec.get_children()
return HttpResponse(json.dumps(children))
class SpecChildrenDetailView(DetailView):
model = Specialization

Loading…
Cancel
Save