1374: Этап №4 - Управление главной страницей

разделение експо и конф тем для главной
remotes/origin/mobile_from_stage4
Alexander Burdeiny 10 years ago
parent 3884abb4af
commit f2a791cdc4
  1. 11
      fabfile.py
  2. 4
      proj/views.py
  3. 4
      settings/admin.py
  4. 6
      settings/forms.py
  5. 83
      theme/migrations/0004_auto__del_field_theme_main_page__add_field_theme_main_page_conf__add_f.py
  6. 3
      theme/models.py

11
fabfile.py vendored

@ -131,14 +131,25 @@ def c_fix():
def stage4_firstrun():
with cd(REMOTE_HOME_DIR):
call_state('stop')
run('git fetch')
run('git checkout stage4')
run('git checkout -- proj/settings.py')
pull(with_configs=True)
run('python manage.py syncdb')
run('python manage.py migrate theme')
call_state('start')
def ticket1395():
# stage4
with cd(REMOTE_HOME_DIR):
run('python manage.py accounts_check_url')
def ticket1374():
with cd(REMOTE_HOME_DIR):
call_state('stop', only='apache2')
run('git pull')
run('python manage.py migrate theme')
call_state('start', only='apache2')

@ -86,8 +86,8 @@ class MainPageView(JitterCacheMixin, TemplateView):
# update main_page counter
for event in events:
event.main.link.log(self.request, 1)
exposition_themes = Theme.objects.language().filter(main_page=True, types=Theme.types.exposition)[:6]
conference_themes = Theme.objects.language().filter(main_page=True, types=Theme.types.conference)[:6]
exposition_themes = Theme.objects.language().filter(main_page_expo__gt=0, types=Theme.types.exposition)[:6]
conference_themes = Theme.objects.language().filter(main_page_conf__gt=0, types=Theme.types.conference)[:6]
args = {'events': events, 'exposition_themes': exposition_themes, 'conference_themes': conference_themes,
'search_form': ExpositionSearchForm, 'search_action': '/expo/search/',

@ -34,8 +34,8 @@ from article.models import Article
def main_page(request):
exposition_themes = Theme.objects.filter(main_page__gt=0, types=Theme.types.exposition)
confrence_themes = Theme.objects.filter(main_page__gt=0, types=Theme.types.conference)
exposition_themes = Theme.objects.filter(main_page_expo__gt=0, types=Theme.types.exposition)
confrence_themes = Theme.objects.filter(main_page_conf__gt=0, types=Theme.types.conference)
news = Article.objects.news().filter(main_page=1)
blogs = Article.objects.blogs().filter(main_page=1)

@ -40,10 +40,8 @@ class MainPageThemes(forms.Form):
data = self.cleaned_data
exposition_themes = data['exposition_themes']
conference_themes = data['conference_themes']
Theme.objects.filter().update(main_page=0)
exposition_themes.update(main_page=1)
conference_themes.update(main_page=1)
exposition_themes.update(main_page_expo=1)
conference_themes.update(main_page_conf=1)

@ -0,0 +1,83 @@
# -*- coding: utf-8 -*-
from south.utils import datetime_utils as datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
class Migration(SchemaMigration):
def forwards(self, orm):
# Deleting field 'Theme.main_page'
db.delete_column(u'theme_theme', 'main_page')
# Adding field 'Theme.main_page_conf'
db.add_column(u'theme_theme', 'main_page_conf',
self.gf('django.db.models.fields.PositiveIntegerField')(default=0, db_index=True),
keep_default=False)
# Adding field 'Theme.main_page_expo'
db.add_column(u'theme_theme', 'main_page_expo',
self.gf('django.db.models.fields.PositiveIntegerField')(default=0, db_index=True),
keep_default=False)
def backwards(self, orm):
# Adding field 'Theme.main_page'
db.add_column(u'theme_theme', 'main_page',
self.gf('django.db.models.fields.PositiveIntegerField')(default=0, db_index=True),
keep_default=False)
# Deleting field 'Theme.main_page_conf'
db.delete_column(u'theme_theme', 'main_page_conf')
# Deleting field 'Theme.main_page_expo'
db.delete_column(u'theme_theme', 'main_page_expo')
models = {
u'theme.tag': {
'Meta': {'unique_together': '()', 'object_name': 'Tag', 'index_together': '()'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inflect': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
'old_url': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '255'}),
'theme': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tags'", 'on_delete': 'models.PROTECT', 'to': u"orm['theme.Theme']"}),
'url': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '255'})
},
u'theme.tagtranslation': {
'Meta': {'unique_together': "[('language_code', 'master')]", 'object_name': 'TagTranslation', 'db_table': "u'theme_tag_translation'", 'index_together': '()'},
'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'descriptions': ('django.db.models.fields.CharField', [], {'max_length': '250', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'keywords': ('django.db.models.fields.CharField', [], {'max_length': '250', 'blank': 'True'}),
'language_code': ('django.db.models.fields.CharField', [], {'max_length': '15', 'db_index': 'True'}),
'main_title': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'master': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'translations'", 'null': 'True', 'to': u"orm['theme.Tag']"}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'title': ('django.db.models.fields.CharField', [], {'max_length': '250', 'blank': 'True'})
},
u'theme.theme': {
'Meta': {'unique_together': '()', 'object_name': 'Theme', 'index_together': '()'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inflect': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
'main_page_conf': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0', 'db_index': 'True'}),
'main_page_expo': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0', 'db_index': 'True'}),
'old_url': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '255'}),
'types': ('django.db.models.fields.BigIntegerField', [], {'default': 'None'}),
'url': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '255'})
},
u'theme.themetranslation': {
'Meta': {'unique_together': "[('language_code', 'master')]", 'object_name': 'ThemeTranslation', 'db_table': "u'theme_theme_translation'", 'index_together': '()'},
'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'descriptions': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'keywords': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
'language_code': ('django.db.models.fields.CharField', [], {'max_length': '15', 'db_index': 'True'}),
'main_title': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
'master': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'translations'", 'null': 'True', 'to': u"orm['theme.Theme']"}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'})
}
}
complete_apps = ['theme']

@ -54,7 +54,8 @@ class Theme(TranslatableModel):
keywords = models.CharField(max_length=255, blank=True),
)
main_page = models.PositiveIntegerField(default=0, db_index=True)
main_page_conf = models.PositiveIntegerField(default=0, db_index=True)
main_page_expo = models.PositiveIntegerField(default=0, db_index=True)
inflect = models.CharField(max_length=255, blank=True)
def __unicode__(self):

Loading…
Cancel
Save