Merge branch 'develop' of git.general-servers.com:expomap/expomap into develop

remotes/origin/1203
Nazar Kotjuk 10 years ago
commit 5e74873155
  1. 4
      article/forms.py
  2. 2
      article/models.py
  3. 3
      core/utils.py
  4. 2
      core/views.py
  5. 2
      templates/client/article/blog_list.html
  6. 1
      theme/urls.py
  7. 34
      theme/views.py

@ -258,7 +258,7 @@ class BlogForm(forms.ModelForm):
class ArticleFilterForm(forms.Form):
theme = forms.MultipleChoiceField(label=_(u'Тематика:'), required=False,
choices=[(item.id, item.name) for item in Theme.objects.language().exclude(article__id=None)])
choices=[(item.id, item.name) for item in Theme.objects.language().filter(article__type=1).exclude(article__id=None).distinct()])
tag = forms.CharField(label=_(u'Теги:'), widget=forms.HiddenInput(), required=False)
'''
@ -273,6 +273,7 @@ class ArticleFilterForm(forms.Form):
choices=[(item.id, item.name) for item in Theme.objects.language().filter(id__in=ids)])
'''
class BlogFilterForm(forms.Form):
tag = forms.CharField(label=_(u'Теги:'), widget=forms.HiddenInput(), required=False)
@ -285,6 +286,7 @@ class BlogFilterForm(forms.Form):
self.fields['theme'] = forms.MultipleChoiceField(label=_(u'Тематика:'), required=False,
choices=[(item.id, item.name) for item in Theme.objects.language().filter(id__in=ids)])
class NewsFilterForm(forms.Form):
tag = forms.CharField(label=_(u'Теги:'), widget=forms.HiddenInput(), required=False)

@ -81,7 +81,7 @@ class Article(TranslatableModel):
old_id = models.IntegerField(blank=True, null=True)
logo = ImageField(upload_to='articles_preview', blank=True)
theme = models.ManyToManyField('theme.Theme')
tag = models.ManyToManyField('theme.Tag', related_name='tags',blank=True, null=True)
tag = models.ManyToManyField('theme.Tag', blank=True, null=True)
author = models.ForeignKey('accounts.User', verbose_name='Автор',
on_delete=models.PROTECT, related_name='articles')
exposition = models.ForeignKey('exposition.Exposition', blank=True, null=True)

@ -9,6 +9,7 @@ import datetime
from django.core.exceptions import ObjectDoesNotExist
from django.conf import settings
from django.utils.translation import get_language
import os
current_lang = get_language()[:2]
if current_lang == 'ru':
@ -105,7 +106,7 @@ def queryset_to_workbook(queryset, columns, report_date = None):
month = month_name,year = report_date.strftime("%Y")), main_style)
for i in range(7):
sheet.row(i).set_style(xlwt.Style.easyxf('font:height 300;'))
sheet.insert_bitmap('/home/www/proj/static/logo.bmp', row=0, col=5, x=0, y=0, scale_x=0.3, scale_y=2)
sheet.insert_bitmap(os.path.join(settings.MEDIA_ROOT, 'logo.bmp'), row=0, col=5, x=0, y=0, scale_x=0.3, scale_y=2)
# drawing headers
for i, column in enumerate(columns):

@ -297,7 +297,7 @@ def download_workbook(request):
workbook = queryset_to_workbook(qs, columns, earliest_event)
response = HttpResponse(content_type='application/vnd.ms-excel')
response['Content-Disposition'] = 'attachment; filename="My calendar.xls"'
response['Content-Disposition'] = 'attachment; filename="My calendar for %s.xls"' % earliest_event.strftime("%B %Y")
workbook.save(response)
return response
else:

@ -50,7 +50,7 @@
},
tags:{
placeholder:"{% trans 'Выберите ключевые теги' %}",
url:'http://{{ request.get_host }}/theme/get-tag/'
url:'http://{{ request.get_host }}/theme/get-article-tags/'
}
});
</script>

@ -3,4 +3,5 @@ from django.conf.urls import patterns, url
urlpatterns = patterns('',
url(r'^get-tag/$', 'theme.views.get_tag'),
url(r'^get-article-tags/$', 'theme.views.get_article_tags'),
)

@ -5,16 +5,30 @@ from theme.models import Tag
def get_tag(request):
#if request.is_ajax():
themes = request.GET.getlist('themes[]')
term = request.GET['term'].capitalize()
qs = Tag.objects.language().exclude(theme__article__id=None).distinct()
if term:
qs = qs.filter(translations__name__contains=term)
if themes:
qs = qs.filter(theme__id__in=themes).order_by('translations__name')
result = [{'id': tag.id, 'label': '%s (%s)'%(tag.name, tag.theme.name)} for tag in qs]
result = sorted(result, key=lambda x:x['label'])
themes = request.GET.getlist('themes[]')
term = request.GET['term'].capitalize()
qs = Tag.objects.language().exclude(theme__article__id=None).distinct()
if term:
qs = qs.filter(translations__name__contains=term)
if themes:
qs = qs.filter(theme__id__in=themes).order_by('translations__name')
result = [{'id': tag.id, 'label': '%s (%s)'%(tag.name, tag.theme.name)} for tag in qs]
result = sorted(result, key=lambda x:x['label'])
return HttpResponse(json.dumps(result), content_type='application/json')
return HttpResponse(json.dumps(result), content_type='application/json')
#else:
# return HttpResponse('not ajax')
def get_article_tags(request):
themes = request.GET.getlist('themes[]')
term = request.GET['term'].capitalize()
qs = Tag.objects.language().exclude(article=None).filter(article__type=1).distinct()
if themes:
qs = qs.filter(theme__id__in=themes).order_by('translations__name')
if term:
qs = qs.filter(translations__name__contains=term)
result = [{'id': tag.id, 'label': '%s (%s)'%(tag.name, tag.theme.name)} for tag in qs]
result = sorted(result, key=lambda x:x['label'])
return HttpResponse(json.dumps(result), content_type='application/json')
Loading…
Cancel
Save