parent
fd1e88573a
commit
eba72f8f82
39 changed files with 388 additions and 338 deletions
@ -0,0 +1 @@ |
|||||||
|
__author__ = 'root' |
||||||
@ -0,0 +1 @@ |
|||||||
|
__author__ = 'root' |
||||||
@ -0,0 +1,82 @@ |
|||||||
|
import os |
||||||
|
import MySQLdb |
||||||
|
from MySQLdb.cursors import DictCursor |
||||||
|
from django.core.management.base import BaseCommand |
||||||
|
from accounts.models import User |
||||||
|
|
||||||
|
def create_new_user(data): |
||||||
|
email = data['email'] |
||||||
|
firstname = data['firstname'] |
||||||
|
lastname = data['lastname'] |
||||||
|
position = data['position'] |
||||||
|
web_page = data['web_page'] |
||||||
|
fb = data['fb'] |
||||||
|
li = data['li'] |
||||||
|
sk = data['sk'] |
||||||
|
about = data['about'] |
||||||
|
password = data['password'] |
||||||
|
url = data['url'] |
||||||
|
if not url: |
||||||
|
url = str(data['id']) |
||||||
|
|
||||||
|
user = User(username=email, first_name=firstname, last_name=lastname, email=email, |
||||||
|
is_staff=False, is_active=True, is_superuser=False, password=password, position=position, url=url) |
||||||
|
|
||||||
|
try: |
||||||
|
user.save() |
||||||
|
except: |
||||||
|
return |
||||||
|
profile = user.profile |
||||||
|
|
||||||
|
profile.web_page = web_page |
||||||
|
profile.facebook = fb |
||||||
|
profile.linkedin = li |
||||||
|
profile.skype = sk |
||||||
|
profile.about = about |
||||||
|
try: |
||||||
|
profile.save() |
||||||
|
except: |
||||||
|
pass |
||||||
|
|
||||||
|
return |
||||||
|
|
||||||
|
|
||||||
|
class Command(BaseCommand): |
||||||
|
def handle(self, *args, **options): |
||||||
|
db = MySQLdb.connect(host="localhost", |
||||||
|
user="expomap", |
||||||
|
passwd="7FbLtAGjse", |
||||||
|
db="old_db", |
||||||
|
charset='utf8', |
||||||
|
cursorclass=DictCursor) |
||||||
|
cursor = db.cursor() |
||||||
|
sql = """ |
||||||
|
SELECT customers_id as id, customers_email_address as email, customers_password as password, customers_firstname as firstname , |
||||||
|
customers_lastname as lastname , customers_telephone as phone, customers_job as `position`, customers_web as web_page, |
||||||
|
customers_facebook as fb, customers_linkedin as li, customers_skype as sk, customers_about as about, |
||||||
|
url |
||||||
|
FROM `customers` |
||||||
|
where customers_email_address!='' |
||||||
|
|
||||||
|
""" |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
cursor.execute(sql) |
||||||
|
result = cursor.fetchall() |
||||||
|
|
||||||
|
#user.password = result[0]['customers_password'] |
||||||
|
|
||||||
|
for res in result: |
||||||
|
email = res['email'] |
||||||
|
print(email) |
||||||
|
try: |
||||||
|
user = User.objects.get(username=email) |
||||||
|
except User.DoesNotExist: |
||||||
|
user = None |
||||||
|
create_new_user(res) |
||||||
|
if user: |
||||||
|
password = res['password'] |
||||||
|
user.password = password |
||||||
|
user.save() |
||||||
@ -0,0 +1,10 @@ |
|||||||
|
from django.db import models |
||||||
|
|
||||||
|
# Create your models here. |
||||||
|
|
||||||
|
class Redirect(models.Model): |
||||||
|
redirect = models.URLField() |
||||||
|
count = models.PositiveIntegerField(default=0) |
||||||
|
|
||||||
|
def __unicode__(self): |
||||||
|
return self.redirect |
||||||
@ -0,0 +1,16 @@ |
|||||||
|
""" |
||||||
|
This file demonstrates writing tests using the unittest module. These will pass |
||||||
|
when you run "manage.py test". |
||||||
|
|
||||||
|
Replace this with more appropriate tests for your application. |
||||||
|
""" |
||||||
|
|
||||||
|
from django.test import TestCase |
||||||
|
|
||||||
|
|
||||||
|
class SimpleTest(TestCase): |
||||||
|
def test_basic_addition(self): |
||||||
|
""" |
||||||
|
Tests that 1 + 1 always equals 2. |
||||||
|
""" |
||||||
|
self.assertEqual(1 + 1, 2) |
||||||
@ -0,0 +1,7 @@ |
|||||||
|
# -*- coding: utf-8 -*- |
||||||
|
from django.conf.urls import patterns, url |
||||||
|
|
||||||
|
urlpatterns = patterns('', |
||||||
|
url(r'redirect/(?P<id>.*)/$', 'banners.views.redirect'), |
||||||
|
) |
||||||
|
|
||||||
@ -0,0 +1,10 @@ |
|||||||
|
from django.http import HttpResponseRedirect |
||||||
|
from django.shortcuts import get_object_or_404 |
||||||
|
from banners.models import Redirect |
||||||
|
from django.db.models import F |
||||||
|
|
||||||
|
def redirect(request, id): |
||||||
|
redirect = get_object_or_404(Redirect, id=id) |
||||||
|
Redirect.objects.filter(id=id).update(count=F('count')+1) |
||||||
|
return HttpResponseRedirect(redirect.redirect) |
||||||
|
|
||||||
@ -0,0 +1,119 @@ |
|||||||
|
import datetime |
||||||
|
from django.contrib.sitemaps import Sitemap |
||||||
|
from exposition.models import Exposition |
||||||
|
from conference.models import Conference |
||||||
|
from city.models import City |
||||||
|
from country.models import Country |
||||||
|
from theme.models import Theme, Tag |
||||||
|
from article.models import Article |
||||||
|
from django.core.paginator import Paginator |
||||||
|
|
||||||
|
|
||||||
|
class Abstract(Sitemap): |
||||||
|
changefreq = 'weekly' |
||||||
|
priority = 0.8 |
||||||
|
|
||||||
|
def lastmod(self, obj): |
||||||
|
return datetime.date.today() |
||||||
|
|
||||||
|
|
||||||
|
class ExpoCard(Abstract): |
||||||
|
changefreq = 'weekly' |
||||||
|
priority = 0.8 |
||||||
|
|
||||||
|
def items(self): |
||||||
|
return Exposition.enable.upcoming() |
||||||
|
|
||||||
|
def lastmod(self, obj): |
||||||
|
return obj.modified |
||||||
|
|
||||||
|
class ExpoCity(Abstract): |
||||||
|
|
||||||
|
def items(self): |
||||||
|
return City.used.expo_cities() |
||||||
|
|
||||||
|
def location(self, obj): |
||||||
|
return "/expo/city/%s/" % obj.url |
||||||
|
|
||||||
|
class ExpoCountry(Abstract): |
||||||
|
def items(self): |
||||||
|
return Country.objects.expo_countries() |
||||||
|
|
||||||
|
def location(self, obj): |
||||||
|
return "/expo/country/%s/" % obj.url |
||||||
|
|
||||||
|
class ExpoTheme(Abstract): |
||||||
|
def items(self): |
||||||
|
return Theme.active.expo_themes() |
||||||
|
|
||||||
|
def location(self, obj): |
||||||
|
return "/expo/theme/%s/" % obj.url |
||||||
|
|
||||||
|
class ExpoTag(Abstract): |
||||||
|
def items(self): |
||||||
|
return Tag.active.expo_tag() |
||||||
|
|
||||||
|
def location(self, obj): |
||||||
|
return "/expo/tag/%s/" % obj.url |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class ConfCard(Sitemap): |
||||||
|
changefreq = 'weekly' |
||||||
|
priority = 0.8 |
||||||
|
|
||||||
|
def items(self): |
||||||
|
return Conference.enable.upcoming() |
||||||
|
|
||||||
|
def lastmod(self, obj): |
||||||
|
return obj.modified |
||||||
|
|
||||||
|
def location(self, obj): |
||||||
|
return "/conference/%s/" % obj.url |
||||||
|
|
||||||
|
|
||||||
|
class ConfCity(Abstract): |
||||||
|
|
||||||
|
def items(self): |
||||||
|
return City.used.conference_cities() |
||||||
|
|
||||||
|
def location(self, obj): |
||||||
|
return "/conference/city/%s/" % obj.url |
||||||
|
|
||||||
|
class ConfCountry(Abstract): |
||||||
|
def items(self): |
||||||
|
return Country.objects.conference_countries() |
||||||
|
|
||||||
|
def location(self, obj): |
||||||
|
return "/conference/country/%s/" % obj.url |
||||||
|
|
||||||
|
class ConfTheme(Abstract): |
||||||
|
def items(self): |
||||||
|
return Theme.active.conference_themes_with_count() |
||||||
|
|
||||||
|
def location(self, obj): |
||||||
|
return "/conference/theme/%s/" % obj.url |
||||||
|
|
||||||
|
class ConfTag(Abstract): |
||||||
|
def items(self): |
||||||
|
return Tag.active.conference_tags() |
||||||
|
|
||||||
|
def location(self, obj): |
||||||
|
return "/conference/tag/%s/" % obj.url |
||||||
|
|
||||||
|
|
||||||
|
class NewsSiteMap(Abstract): |
||||||
|
priority = 0.5 |
||||||
|
def items(self): |
||||||
|
return Article.objects.news().filter(publish_date__isnull=False) |
||||||
|
|
||||||
|
def location(self, obj): |
||||||
|
return "/news/%s/" % obj.slug |
||||||
|
|
||||||
|
class BlogsSiteMap(Abstract): |
||||||
|
priority = 0.5 |
||||||
|
def items(self): |
||||||
|
return Article.objects.blogs().filter(publish_date__isnull=False) |
||||||
|
|
||||||
|
def location(self, obj): |
||||||
|
return "/blogs/%s/" % obj.slug |
||||||
@ -1,264 +0,0 @@ |
|||||||
{% extends "blank.html" %} |
|
||||||
{% load static %} |
|
||||||
{% load i18n %} |
|
||||||
{% load thumbnail %} |
|
||||||
|
|
||||||
{% block body_class %} class="main-page" {% endblock %} |
|
||||||
|
|
||||||
{% block top %} |
|
||||||
|
|
||||||
<section class="layout mp-top"> |
|
||||||
<div class="layout-wrap"> |
|
||||||
|
|
||||||
<aside> |
|
||||||
{% include 'menu.html' %} |
|
||||||
</aside> |
|
||||||
|
|
||||||
<div class="mcl"> |
|
||||||
<div id="mp-recent-expo" class="recent-expo swiper-container"> |
|
||||||
<ul class="swiper-wrapper"> |
|
||||||
{% for event in events %} |
|
||||||
<li class="swiper-slide"> |
|
||||||
<div class="re-pict"> |
|
||||||
{% if event.logo %} |
|
||||||
<a href="{{ event.get_permanent_url }}"> |
|
||||||
<img src="{{ event.logo.url }}"> |
|
||||||
{% comment %} |
|
||||||
{% thumbnail event.logo "220x220" crop="center" as im %} |
|
||||||
<img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}"> |
|
||||||
{% endthumbnail %} |
|
||||||
{% endcomment %} |
|
||||||
</a> |
|
||||||
{% endif %} |
|
||||||
</div> |
|
||||||
<div class="re-body"> |
|
||||||
<div class="re-info"> |
|
||||||
<a href="{{ event.get_permanent_url }}"> |
|
||||||
<div class="re-title">{{ event.name|safe }}</div> |
|
||||||
<div class="re-date"> |
|
||||||
{% with obj=event %} |
|
||||||
{% include 'client/includes/show_date_block.html' %} |
|
||||||
{% endwith %} |
|
||||||
</div> |
|
||||||
<div class="re-descr" title="{{ event.main_title|safe }}">{{ event.main_title|safe }}</div> |
|
||||||
</a> |
|
||||||
</div> |
|
||||||
<footer> |
|
||||||
<div class="re-buttons"> |
|
||||||
<a class="button blue icon-calendar addcalendar" href="{{ event.get_calendar_url }}">{% trans 'добавить в календарь' %}</a> |
|
||||||
<a class="button green icon-note" href="#">{% trans 'заметка' %}</a> |
|
||||||
</div> |
|
||||||
<div class="re-tags"> |
|
||||||
{% for tag in event.tag.all %} |
|
||||||
<a href="{{ event.get_catalog_url }}tag-{{ tag.url }}">{{ tag }}</a>, |
|
||||||
{% endfor %} |
|
||||||
</div> |
|
||||||
</footer> |
|
||||||
</div> |
|
||||||
</li> |
|
||||||
{% endfor %} |
|
||||||
</ul> |
|
||||||
<div class="re-controls"> |
|
||||||
<a class="prev" href="#"><</a> |
|
||||||
<a class="next" href="#">></a> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
|
|
||||||
</div> |
|
||||||
</section> |
|
||||||
{% endblock %} |
|
||||||
|
|
||||||
{% block search %} |
|
||||||
{% include 'includes/catalog_search_main.html' with search_form=search_form %} |
|
||||||
{% endblock %} |
|
||||||
|
|
||||||
{% block catalog %} |
|
||||||
<section class="layout mp-catalog"> |
|
||||||
<div class="layout-wrap"> |
|
||||||
|
|
||||||
<aside> |
|
||||||
|
|
||||||
{% include 'client/includes/feedback.html' %} |
|
||||||
|
|
||||||
{% include 'client/includes/online_consult.html' %} |
|
||||||
{% comment %} |
|
||||||
<!-- task EXPO-145--> |
|
||||||
{% include 'client/includes/announces.html' %} |
|
||||||
{% endcomment %} |
|
||||||
</aside> |
|
||||||
|
|
||||||
<div class="mcl"> |
|
||||||
<div class="mp-catalog-lists"> |
|
||||||
|
|
||||||
<div class="mpc-list"> |
|
||||||
<header>{% trans 'Выставки' %}</header> |
|
||||||
<ul> |
|
||||||
{% for theme in exposition_themes %} |
|
||||||
<li><a href="/expositions/theme-{{ theme.url }}"><span>{{ theme.name }}</span> <i>({{ theme.expositions_number }})</i></a></li> |
|
||||||
{% endfor %} |
|
||||||
</ul> |
|
||||||
<footer><a class="more" href="/expositions/">{% trans 'Все выставки' %}</a></footer> |
|
||||||
</div> |
|
||||||
|
|
||||||
<div class="mpc-list"> |
|
||||||
<header>{% trans 'конференции' %}</header> |
|
||||||
<ul> |
|
||||||
{% for theme in conference_themes %} |
|
||||||
<li><a href="/conferences/theme-{{ theme.url }}"><span>{{ theme.name }}</span> <i>({{ theme.conferences_number }})</i></a></li> |
|
||||||
{% endfor %} |
|
||||||
</ul> |
|
||||||
<footer><a class="more" href="/conferences/">{% trans 'Все конференции' %}</a></footer> |
|
||||||
</div> |
|
||||||
{% comment %} |
|
||||||
|
|
||||||
<div class="mpc-list"> |
|
||||||
<header>{% trans 'семинары' %}</header> |
|
||||||
<ul> |
|
||||||
{% for theme in seminar_themes %} |
|
||||||
<li><a href="/seminars/theme-{{ theme.url }}"><span>{{ theme.name }}</span> <i>({{ theme.seminars_number }})</i></a></li> |
|
||||||
{% endfor %} |
|
||||||
</ul> |
|
||||||
<footer><a class="more" href="/seminars/">{% trans 'Все семинары' %}</a></footer> |
|
||||||
</div> |
|
||||||
{% endcomment %} |
|
||||||
|
|
||||||
</div> |
|
||||||
|
|
||||||
<div class="abn"> |
|
||||||
{% block menu_banner %} |
|
||||||
<a href="#"> |
|
||||||
<img src="{% static 'client/img/_del-temp/banner-2.gif' %}" alt="" /> |
|
||||||
</a> |
|
||||||
{% endblock %} |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
|
|
||||||
</div> |
|
||||||
</section> |
|
||||||
{% endblock %} |
|
||||||
|
|
||||||
{% block announces %} |
|
||||||
<section class="layout mp-announces"> |
|
||||||
<div class="layout-wrap"> |
|
||||||
<aside> |
|
||||||
<div class="mp-news-list"> |
|
||||||
<header> |
|
||||||
<a href="#">{% trans 'Новости событий' %}</a> |
|
||||||
</header> |
|
||||||
<ul> |
|
||||||
{% for news in news_list %} |
|
||||||
<li> |
|
||||||
<a href="{{ news.get_permanent_url }}"> |
|
||||||
<span class="nl-pict"> |
|
||||||
{# add logo #} |
|
||||||
<img src="{% static 'client/img/_del-temp/expo-bn-2-s.jpg' %}" alt="" /> |
|
||||||
</span> |
|
||||||
<span class="nl-body"> |
|
||||||
<span class="nl-text">{{ news.main_title %}</span> |
|
||||||
<span class="nl-date">{{ news.date }}</span> |
|
||||||
</span> |
|
||||||
</a> |
|
||||||
</li> |
|
||||||
{% endfor %} |
|
||||||
</ul> |
|
||||||
<footer><a class="more" href="#">{% trans 'Все новости' %}</a></footer> |
|
||||||
</div> |
|
||||||
</aside> |
|
||||||
|
|
||||||
<div class="mcl"> |
|
||||||
<div class="mp-photo-gallery"> |
|
||||||
<header class="clearfix"> |
|
||||||
<div class="pg-title"><a href="#">{% trans 'Фоторепортажи:' %}</a></div> |
|
||||||
<h2><a href="#">Edinburgh International Festival 2013</a></h2> |
|
||||||
</header> |
|
||||||
<div id="mp-photo-gallery" class="photo-gallery swiper-container"> |
|
||||||
<ul class="swiper-wrapper"> |
|
||||||
|
|
||||||
<li class="swiper-slide"> |
|
||||||
<div class="pg-item"> |
|
||||||
<div class="pgi-pict"><img src="{% static 'client/img/_del-temp/mp-phg-1.jpg' %}" alt="" /></div> |
|
||||||
<div class="pgi-descr clearfix"> |
|
||||||
<div class="pgi-date"><b>с 1 по 8 августа</b> 2013 года</div> |
|
||||||
<div class="pgi-text">Международный фестиваль оперы, музыки, драматических и танцевальных постановок Edinburgh International Festival 2013</div> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
</li> |
|
||||||
|
|
||||||
<li class="swiper-slide"> |
|
||||||
<div class="pg-item"> |
|
||||||
<div class="pgi-pict"><img src="{% static 'client/img/_del-temp/mp-phg-1.jpg' %}" alt="" /></div> |
|
||||||
<div class="pgi-descr clearfix"> |
|
||||||
<div class="pgi-date"><b>с 1 по 8 августа</b> 2013 года</div> |
|
||||||
<div class="pgi-text">Международный фестиваль оперы, музыки, драматических и танцевальных постановок Edinburgh International Festival 2013</div> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
</li> |
|
||||||
|
|
||||||
</ul> |
|
||||||
<div class="re-controls"> |
|
||||||
<a class="prev" href="#"><</a> |
|
||||||
<a class="next" href="#">></a> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
|
|
||||||
</div> |
|
||||||
</section> |
|
||||||
{% endblock %} |
|
||||||
|
|
||||||
{% block partners %} |
|
||||||
<section class="layout mp-partners"> |
|
||||||
<div class="mpp-wrap"> |
|
||||||
<header>{% trans 'Наши партнеры:' %}</header> |
|
||||||
<ul class="mp-partners-list"> |
|
||||||
<li><img src="{% static 'client/img/partners/deutsche-messe-2.png' %}" /></li> |
|
||||||
<li><img src="{% static 'client/img/partners/ite.png' %}"/></li> |
|
||||||
<li><img src="{% static 'client/img/partners/nurnberg-messe.png' %}"/></li> |
|
||||||
<li><img src="{% static 'client/img/partners/reed-exhibitions.png' %}"/></li> |
|
||||||
<li><img src="{% static 'client/img/partners/messe-dusseldorf.png' %}"/></li> |
|
||||||
</ul> |
|
||||||
</div> |
|
||||||
</section> |
|
||||||
{% endblock %} |
|
||||||
|
|
||||||
{% block services %} |
|
||||||
<section class="layout mp-services"> |
|
||||||
<div class="layout-wrap"> |
|
||||||
|
|
||||||
<aside> |
|
||||||
|
|
||||||
{% include 'client/includes/services.html' %} |
|
||||||
|
|
||||||
</aside> |
|
||||||
|
|
||||||
<div class="mcl"> |
|
||||||
<div class="mp-reviews-wrap clearfix"> |
|
||||||
<div class="mp-reviews"> |
|
||||||
<header> |
|
||||||
<div class="mpr-title"><a href="#">{% trans 'Обзоры и аналитика' %}</a></div> |
|
||||||
<div class="more-link"><a class="more" href="/articles/">{% trans 'Все обзоры' %}</a></div> |
|
||||||
</header> |
|
||||||
|
|
||||||
<ul> |
|
||||||
{% for article in articles %} |
|
||||||
<li> |
|
||||||
<a href="{{ article.get_permanent_url }}"> |
|
||||||
<span class="mpr-pict"><img src="{% static 'client/img/_del-temp/review-1.jpg' %}" alt="" /></span> |
|
||||||
<span class="mpr-text">{{ article.main_title }}</span> |
|
||||||
</a> |
|
||||||
</li> |
|
||||||
{% endfor %} |
|
||||||
</ul> |
|
||||||
</div> |
|
||||||
|
|
||||||
<div class="sbnr"> |
|
||||||
<div class="sbnr-wrap"><a href="#"><img src="{% static 'client/img/_del-temp/bnrs.jpg' %}" alt="" /></a></div> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
|
|
||||||
</div> |
|
||||||
</section> |
|
||||||
{% endblock %} |
|
||||||
Loading…
Reference in new issue