четÐnothing work

remotes/origin/1203
Ivan Kovalkovskyi 10 years ago
parent 1a3502be33
commit d738fccd86
  1. 29
      service/admin.py
  2. 5
      service/admin_urls.py
  3. 32
      service/forms.py
  4. 15
      service/models.py

@ -164,6 +164,31 @@ class ServiceAddView(FormView):
else:
pass
from django.shortcuts import get_object_or_404
from django.views.generic import UpdateView
from django.db.models import F
from django.db.models.query import EmptyQuerySet
from .forms import LinkedServiceForm
from .models import LinkedService
from exposition.models import Exposition
from conference.models import Conference
class ServiceUpdateView(UpdateView):
form_class = LinkedServiceForm
model = LinkedService
template_name = "admin/service/linked_service.html"
success_url = "/admin/service/all/"
def get_object(self, queryset=None):
url = self.kwargs['url']
service = get_object_or_404(Service, url=url)
obj = LinkedService.objects.get(service=service)
return obj
def get_initial(self):
initial = {
'expositions':','.join(["%s:%s"%(item.id, item.name) for item in object.expositions.all()]),
'conferences':','.join(["%s:%s"%(item.id, item.name) for item in self.object.conferences.all()])
}

@ -2,7 +2,7 @@
from django.conf.urls import patterns, include, url
from views import CallBackListView, VisitListView, TranslationListView, AdvertisingListView, \
ParticipationListView, RemoteListView,TicketsListView
from service.admin import ServiceControlList, ServiceControl, ServiceAddView
from service.admin import ServiceControlList, ServiceControl, ServiceAddView, ServiceUpdateView
urlpatterns = patterns('service.admin',
url(r'^control/list/$', ServiceControlList.as_view()),
@ -18,10 +18,11 @@ urlpatterns = patterns('service.admin',
url(r'order/participation/$', ParticipationListView.as_view()),
url(r'order/remote/$', RemoteListView.as_view()),
url(r'order/tickets/$', TicketsListView.as_view()),
url('^test/(?P<url>[a-z]*)/', ServiceUpdateView.as_view()),
url('^test/$', ServiceAddView.as_view()),
#ajax
url(r'^get_city/$', 'get_city'),
url('^get_expos/$', 'get_country'),
#url(r'^get_country/$', 'get_country'),

@ -147,7 +147,6 @@ class ServiceControlForm(forms.Form):
widget=forms.CheckboxSelectMultiple(),
choices=[(item['service_bit'], item['verbose'])
for item in self.event])
from bitfield import BitField
class _ServiceForm(forms.Form):
@ -155,4 +154,33 @@ class _ServiceForm(forms.Form):
countries = forms.MultipleChoiceField(choices=[(x.id,x.name) for x in Country.objects.language().all()])
all_counties = forms.BooleanField(widget=forms.CheckboxInput)
expos = forms.CharField(widget=forms.HiddenInput)
confs = forms.CharField(widget=forms.HiddenInput)
confs = forms.CharField(widget=forms.HiddenInput)
from .models import LinkedService
from django.db.models.query import EmptyQuerySet
class LinkedServiceForm(forms.ModelForm):
type = forms.MultipleChoiceField(choices = [(x, x) for x in list(Service.type)], widget = forms.CheckboxSelectMultiple)
class Meta:
model = LinkedService
fields = ['countries', 'all_countries', 'expositions', 'conferences']
widgets={
'expositions': forms.HiddenInput,
'conferences': forms.HiddenInput
}
def clean_expositions(self):
expositions = EmptyQuerySet()
if self.cleaned_data['expositions']:
expositions = Exposition.objects.language().filter(id__in=list(set(self.cleaned_data['expositions'])))
return expositions
def clean_conferences(self):
conferences = EmptyQuerySet()
if self.cleaned_data['conferences']:
conferences = Conference.objects.language().filter(id__in=list(set(self.cleaned_data['conferences'])))
return conferences

@ -198,4 +198,17 @@ class CallBack(models.Model):
viewed = models.DateTimeField(null=True, blank=True)
class Meta:
ordering = ['-created']
ordering = ['-created']
from country.models import Country
from exposition.models import Exposition
from conference.models import Conference
class LinkedService(models.Model):
service = models.ForeignKey(Service, blank=False)
countries = models.ManyToManyField(Country, blank=True)
all_countries = models.BooleanField(default=False)
expositions = models.ManyToManyField(Exposition, blank=True)
conferences = models.ManyToManyField(Conference, blank=True)

Loading…
Cancel
Save