You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
2.0 KiB
75 lines
2.0 KiB
import json
|
|
from django.shortcuts import render
|
|
from django.core.urlresolvers import reverse
|
|
from django.http import JsonResponse, HttpResponse
|
|
from django.views.generic import ListView, DetailView, CreateView, UpdateView, DeleteView, TemplateView
|
|
|
|
from .models import WorkSell
|
|
from .forms import WorkSellForm
|
|
|
|
|
|
class WorkSellsView(ListView):
|
|
model = WorkSell
|
|
template_name = 'worksells_list.html'
|
|
paginate_by = 20
|
|
|
|
|
|
class WorkSellDetail(DetailView):
|
|
model = WorkSell
|
|
template_name = 'worksell_detail.html'
|
|
|
|
def get_context_data(self, **kwargs):
|
|
context = super().get_context_data(**kwargs)
|
|
context['worksell_related'] = WorkSell.objects.all()[:5]
|
|
return context
|
|
|
|
|
|
def work_sell_create(request):
|
|
if request.is_ajax():
|
|
form = WorkSellForm(data=request.POST)
|
|
if form.is_valid():
|
|
instance = form.save(commit=False)
|
|
instance.save()
|
|
data = {'status': 'ok'}
|
|
else:
|
|
data = {'status': 'no', 'form_errors': form.errors}
|
|
return HttpResponse(json.dumps(data), content_type='application/json')
|
|
return HttpResponse("HEllo")
|
|
|
|
|
|
class WorkSellCreateView(CreateView):
|
|
model = WorkSell
|
|
form_class = WorkSellForm
|
|
template_name = 'worksell_create.html'
|
|
|
|
|
|
class WorkSellUpdateView(UpdateView):
|
|
model = WorkSell
|
|
form_class = WorkSellForm
|
|
template_name = 'worksell_edit.html'
|
|
|
|
def get_success_url(self):
|
|
return reverse('work_sell:list')
|
|
|
|
|
|
class WorkSellDeleteView(CreateView):
|
|
model = WorkSell
|
|
|
|
|
|
class JSONResponseMixin(object):
|
|
def render_to_json_response(self, context, **response_kwargs):
|
|
return JsonResponse(
|
|
self.get_data(context),
|
|
**response_kwargs
|
|
)
|
|
|
|
def get_data(self, context):
|
|
context = {'test': 'data'}
|
|
return context
|
|
|
|
|
|
class JSONView(JSONResponseMixin, TemplateView):
|
|
def render_to_response(self, context, **response_kwargs):
|
|
return self.render_to_json_response(context, **response_kwargs)
|
|
|
|
|
|
|