Browse Source

Completly remove photo_app

devel
bashmak 8 years ago
parent
commit
cf1e8c336d
  1. 76
      accounts_app/migrations/0001_initial.py
  2. 26
      accounts_app/migrations/0002_auto_20180413_1839.py
  3. 21
      accounts_app/migrations/0003_auto_20180425_1135.py
  4. 1
      djing/settings.py
  5. 3
      docs/install.md
  6. 0
      photo_app/__init__.py
  7. 5
      photo_app/admin.py
  8. 24
      photo_app/migrations/0001_initial.py
  9. 0
      photo_app/migrations/__init__.py
  10. 71
      photo_app/models.py
  11. 10
      photo_app/urls.py
  12. 1
      photo_app/views.py

76
accounts_app/migrations/0001_initial.py

@ -1,76 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11 on 2018-02-26 00:20
from __future__ import unicode_literals
import django.core.validators
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
('auth', '0008_alter_user_username_max_length'),
('group_app', '0001_initial'),
('photo_app', '0001_initial'),
]
operations = [
migrations.CreateModel(
name='BaseAccount',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('password', models.CharField(max_length=128, verbose_name='password')),
('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')),
('is_superuser', models.BooleanField(default=False,
help_text='Designates that this user has all permissions without explicitly assigning them.',
verbose_name='superuser status')),
('username', models.CharField(max_length=127, unique=True, verbose_name='profile username')),
('fio', models.CharField(max_length=256, verbose_name='fio')),
('birth_day', models.DateField(auto_now_add=True, verbose_name='birth day')),
('is_active', models.BooleanField(default=True, verbose_name='Is active')),
('is_admin', models.BooleanField(default=False)),
('telephone', models.CharField(max_length=16, validators=[
django.core.validators.RegexValidator('^\\+[7,8,9,3]\\d{10,11}$')], verbose_name='Telephone')),
],
options={
'db_table': 'base_accounts',
},
),
migrations.CreateModel(
name='UserProfile',
fields=[
('baseaccount_ptr',
models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True,
primary_key=True, serialize=False, to='accounts_app.BaseAccount')),
('email', models.EmailField(default='admin@example.ru', max_length=254)),
('avatar', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL,
to='photo_app.Photo')),
('responsibility_groups',
models.ManyToManyField(blank=True, to='group_app.Group', verbose_name='Responsibility groups')),
],
options={
'verbose_name': 'Staff account profile',
'verbose_name_plural': 'Staff account profiles',
'ordering': ['fio'],
'permissions': (('can_view_userprofile', 'Can view staff profile'),),
},
bases=('accounts_app.baseaccount',),
),
migrations.AddField(
model_name='baseaccount',
name='groups',
field=models.ManyToManyField(blank=True,
help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.',
related_name='user_set', related_query_name='user', to='auth.Group',
verbose_name='groups'),
),
migrations.AddField(
model_name='baseaccount',
name='user_permissions',
field=models.ManyToManyField(blank=True, help_text='Specific permissions for this user.',
related_name='user_set', related_query_name='user', to='auth.Permission',
verbose_name='user permissions'),
),
]

26
accounts_app/migrations/0002_auto_20180413_1839.py

@ -1,26 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11 on 2018-04-13 18:39
from __future__ import unicode_literals
import django.core.validators
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('accounts_app', '0001_initial'),
]
operations = [
migrations.AlterField(
model_name='baseaccount',
name='username',
field=models.CharField(max_length=127, unique=True, validators=[django.core.validators.RegexValidator('^\\w{1,127}$')], verbose_name='profile username'),
),
migrations.AlterField(
model_name='userprofile',
name='avatar',
field=models.ImageField(default=None, null=True, upload_to='user/avatar', verbose_name='Avatar'),
),
]

21
accounts_app/migrations/0003_auto_20180425_1135.py

@ -1,21 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11 on 2018-04-25 11:35
from __future__ import unicode_literals
import django.core.validators
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('accounts_app', '0002_auto_20180413_1839'),
]
operations = [
migrations.AlterField(
model_name='baseaccount',
name='telephone',
field=models.CharField(blank=True, max_length=16, validators=[django.core.validators.RegexValidator('^(\\+[7,8,9,3]\\d{10,11})?$')], verbose_name='Telephone'),
),
]

1
djing/settings.py

@ -40,7 +40,6 @@ INSTALLED_APPS = [
'django.contrib.messages',
'django.contrib.staticfiles',
'accounts_app',
'photo_app',
'abonapp',
'tariff_app',
'searchapp',

3
docs/install.md

@ -240,14 +240,13 @@ __sha256__. то секретное слово должен знать билл
```
$ ./manage.py migrate
Operations to perform:
Apply all migrations: mapapp, contenttypes, dialing_app, msg_app, taskapp, photo_app, accounts_app, devapp, statistics, tariff_app, admin, sessions, chatbot, auth, abonapp
Apply all migrations: mapapp, contenttypes, dialing_app, msg_app, taskapp, accounts_app, devapp, statistics, tariff_app, admin, sessions, chatbot, auth, abonapp
Running migrations:
Rendering model states... DONE
Applying mapapp.0001_initial... OK
Applying devapp.0001_initial... OK
Applying devapp.0002_auto_20160909_1018... OK
Applying devapp.0003_device_map_dot... OK
Applying photo_app.0001_initial... OK
Applying contenttypes.0001_initial... OK
...
Applying taskapp.0012_auto_20170407_0124... OK

0
photo_app/__init__.py

5
photo_app/admin.py

@ -1,5 +0,0 @@
from django.contrib import admin
from . import models
admin.site.register(models.Photo)

24
photo_app/migrations/0001_initial.py

@ -1,24 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11 on 2018-02-26 00:20
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='Photo',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('image', models.ImageField(height_field='heigt', upload_to='', width_field='wdth')),
('wdth', models.PositiveSmallIntegerField(blank=True, default='759', editable=False, null=True)),
('heigt', models.PositiveSmallIntegerField(blank=True, editable=False, null=True)),
],
),
]

0
photo_app/migrations/__init__.py

71
photo_app/models.py

@ -1,71 +0,0 @@
# -*- coding:utf-8 -*-
import os
import time
import hashlib
from django.db import models
from PIL import Image
from django.conf import settings
BASE_DIR = getattr(settings, 'BASE_DIR', '.')
class Photo(models.Model):
image = models.ImageField(width_field='wdth', height_field='heigt')
wdth = models.PositiveSmallIntegerField(null=True, blank=True, editable=False, default="759")
heigt = models.PositiveSmallIntegerField(null=True, blank=True, editable=False)
def __str__(self):
return "{0}".format(self.image)
def big(self):
return self.image.url
def min(self):
pth = self.image.url.split('/')[-1:][0]
return "/media/min/%s" % pth
def save(self, *args, **kwargs):
if not self.image:
return
super(Photo, self).save(*args, **kwargs)
im = Image.open(self.image.path)
im.thumbnail((759, 759), Image.ANTIALIAS)
hs = hashlib.md5(str(time.time()).encode()).hexdigest()
ext = self.image.path.split('.')[1:][0]
path = "%s/media" % BASE_DIR
fname = "%s/%s.%s" % (path, hs, ext)
if not os.path.exists(path):
os.makedirs(path)
if not os.path.exists(path + '/min'):
os.makedirs(path + '/min')
im.save(fname)
os.remove(self.image.path)
self.image = "media/%s.%s" % (hs, ext)
super(Photo, self).save(*args, **kwargs)
# class Meta:
# unique_together = (('image',),)
def resize_image(sender, instance, **kwargs):
if not kwargs['created']:
im = Image.open(instance.image.path)
im.thumbnail((200, 121), Image.ANTIALIAS)
pth = instance.image.path.split('/')[-1:][0]
fullpath = "%s/media/min/%s" % (BASE_DIR, pth)
im.save(fullpath)
def post_delete_photo(sender, instance, **kwargs):
min_fname = instance.image.path.split('/')[-1:][0]
try:
os.remove('%s/media/min/%s' % (BASE_DIR, min_fname))
os.remove(instance.image.path)
except OSError:
pass
models.signals.post_save.connect(resize_image, sender=Photo)
models.signals.post_delete.connect(post_delete_photo, sender=Photo)

10
photo_app/urls.py

@ -1,10 +0,0 @@
# -*- coding:utf-8 -*-
urlpatterns = [
# url(r'^$', 'photo_albums', name='media_home_link'),
# url(r'^(?P<id>\d+)$', 'photo_albums', name='media_home_link_by_id'),
# url(r'^album(?P<id>\d+)$', 'photos', name='media_photos_link'),
# url(r'^newalbum/$', 'add_album', name='add_media_album_link'),
# url(r'^newphoto/$', 'add_photo_to_album', name='add_media_photo_link')
]

1
photo_app/views.py

@ -1 +0,0 @@
# -*- coding:utf-8 -*-
Loading…
Cancel
Save