Browse Source

Merge branch 'devel' of https://github.com/nerosketch/djing into devel

devel
www-data 8 years ago
parent
commit
a26b2bcc36
  1. 2
      docs/views.md
  2. 2
      install_debian.sh
  3. 3
      mapapp/templates/maps/dot.html
  4. 4
      mapapp/templates/maps/modal_add_dot.html
  5. 94
      migrate_to_0.2.py
  6. 3
      taskapp/templates/taskapp/add_edit_task.html

2
docs/views.md

@ -33,7 +33,7 @@ class PaysListView(ListView):
На примере *devapp/devices.html* можно рассмотреть такую сортировку. На примере *devapp/devices.html* можно рассмотреть такую сортировку.
Там указан url с параметрами Там указан url с параметрами
> {% url 'devapp:devs' group.pk %}?order_by=ip_address&dir={{ dir|default:'down' }}
> \{\% url 'devapp:devs' group.pk \%\}?order_by=ip_address&dir=\{\{ dir|default:'down' \}\}
Тут обратная сортировка по полю *ip_address*, со знаком -. То есть эквивалент будет выглядеть примерно так: Тут обратная сортировка по полю *ip_address*, со знаком -. То есть эквивалент будет выглядеть примерно так:
> Device.objects.all().order_by('-ip_address') > Device.objects.all().order_by('-ip_address')

2
install_debian.sh

@ -1,3 +1,3 @@
/usr/bin/bash - /usr/bin/bash -
apt-get install mariadb-server mariadb-client libmysqlclient-dev python3-dev python3-pip python3-pillow uwsgi nginx uwsgi-plugin-python3 libsnmp-dev git
apt-get install mariadb-server mariadb-client default-libmysqlclient-dev python3-dev python3-pip python3-pil uwsgi nginx uwsgi-plugin-python3 libsnmp-dev git gettext

3
mapapp/templates/maps/dot.html

@ -1,6 +1,7 @@
{% extends 'base.html' %} {% extends 'base.html' %}
{% load i18n %} {% load i18n %}
{% load bootstrap3 %} {% load bootstrap3 %}
{% load globaltags %}
{% block main %} {% block main %}
<ol class="breadcrumb"> <ol class="breadcrumb">
@ -20,7 +21,7 @@
<div class="row"> <div class="row">
<div class="{% if dot.id %}col-sm-6{% else %}col-sm-12{% endif %}"> <div class="{% if dot.id %}col-sm-6{% else %}col-sm-12{% endif %}">
<form role="form" action="{{ form_url }}" method="post" enctype="multipart/form-data">{% csrf_token %} <form role="form" action="{{ form_url }}" method="post" enctype="multipart/form-data">{% csrf_token %}
<input type="hidden" name="MAX_FILE_SIZE" value="{{ FILE_UPLOAD_MAX_MEMORY_SIZE }}"/>
<input type="hidden" name="MAX_FILE_SIZE" value="{% global_var 'FILE_UPLOAD_MAX_MEMORY_SIZE' %}"/>
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<h3 class="panel-title">{% trans 'Map point' %}</h3> <h3 class="panel-title">{% trans 'Map point' %}</h3>

4
mapapp/templates/maps/modal_add_dot.html

@ -1,6 +1,6 @@
{% load i18n %}{% load bootstrap3 %}
{% load i18n %}{% load bootstrap3 %}{% load globaltags %}
<form action="{% url 'mapapp:modal_add_dot' %}" class="form-ajax" method="post" enctype="multipart/form-data">{% csrf_token %} <form action="{% url 'mapapp:modal_add_dot' %}" class="form-ajax" method="post" enctype="multipart/form-data">{% csrf_token %}
<input type="hidden" name="MAX_FILE_SIZE" value="{{ FILE_UPLOAD_MAX_MEMORY_SIZE }}"/>
<input type="hidden" name="MAX_FILE_SIZE" value="{% global_var 'FILE_UPLOAD_MAX_MEMORY_SIZE' %}"/>
<div class="modal-header primary"> <div class="modal-header primary">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title"><span class="glyphicon glyphicon-warning-sign"></span>{% trans 'Add point' %}</h4> <h4 class="modal-title"><span class="glyphicon glyphicon-warning-sign"></span>{% trans 'Add point' %}</h4>

94
migrate_to_0.2.py

@ -6,6 +6,13 @@ import shutil
from json import dump from json import dump
import django import django
'''
Some permissions is not migrates, all admins is superuser
after migrate.
'''
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "djing.settings") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "djing.settings")
from django.db.models import fields as django_fields from django.db.models import fields as django_fields
@ -64,7 +71,6 @@ def dump_groups():
def dump_abonapp(): def dump_abonapp():
from abonapp import models from abonapp import models
# res += get_fixture_from_unchanget_model('abonapp.abonlog', models.AbonLog)
res = get_fixture_from_unchanget_model('abonapp.abontariff', models.AbonTariff) res = get_fixture_from_unchanget_model('abonapp.abontariff', models.AbonTariff)
@ -72,6 +78,8 @@ def dump_abonapp():
res += get_fixture_from_unchanget_model('abonapp.extrafieldsmodel', models.ExtraFieldsModel) res += get_fixture_from_unchanget_model('abonapp.extrafieldsmodel', models.ExtraFieldsModel)
# res += get_fixture_from_unchanget_model('abonapp.abonlog', models.AbonLog)
print('abonapp.abon') print('abonapp.abon')
res += [{ res += [{
'model': 'abonapp.abon', 'model': 'abonapp.abon',
@ -109,7 +117,22 @@ def dump_abonapp():
def dump_tariffs(): def dump_tariffs():
from tariff_app import models from tariff_app import models
res = get_fixture_from_unchanget_model('tariff_app.tariff', models.Tariff)
from abonapp.models import AbonGroup
print('tariff_app.tariff')
res = [{
'model': 'tariff_app.tariff',
'pk': trf.pk,
'fields': {
'title': trf.title,
'descr': trf.descr,
'speedIn': trf.speedIn,
'speedOut': trf.speedOut,
'amount': trf.amount,
'calc_type': trf.calc_type,
'is_admin': trf.is_admin,
'groups': [ag.pk for ag in AbonGroup.objects.filter(tariffs__in=[trf])]
}
} for trf in models.Tariff.objects.all()]
res += get_fixture_from_unchanget_model('tariff_app.periodicpay', models.PeriodicPay) res += get_fixture_from_unchanget_model('tariff_app.periodicpay', models.PeriodicPay)
@ -124,11 +147,15 @@ def dump_devs():
'pk': dv.pk, 'pk': dv.pk,
'fields': { 'fields': {
'ip_address': dv.ip_address, 'ip_address': dv.ip_address,
'mac_addr': dv.mac_addr,
'mac_addr': str(dv.mac_addr) if dv.mac_addr else None,
'comment': dv.comment,
'devtype': dv.devtype, 'devtype': dv.devtype,
'man_passw': dv.man_passw, 'man_passw': dv.man_passw,
'group': dv.user_group.pk if dv.user_group else None, 'group': dv.user_group.pk if dv.user_group else None,
'parent_dev': dv.parent_dev.pk if dv.parent_dev else None
'parent_dev': dv.parent_dev.pk if dv.parent_dev else None,
'snmp_item_num': dv.snmp_item_num,
'status': dv.status,
'is_noticeable': dv.is_noticeable
} }
} for dv in models.Device.objects.all()] } for dv in models.Device.objects.all()]
@ -157,7 +184,8 @@ def dump_accounts():
'is_admin': up.is_admin, 'is_admin': up.is_admin,
'telephone': up.telephone, 'telephone': up.telephone,
'password': up.password, 'password': up.password,
'last_login': up.last_login
'last_login': up.last_login,
'is_superuser': up.is_admin
} }
} for up in models.UserProfile.objects.all()] } for up in models.UserProfile.objects.all()]
@ -214,15 +242,38 @@ def dump_task_app():
def dump_auth(): def dump_auth():
from django.contrib.auth import models from django.contrib.auth import models
res = get_fixture_from_unchanget_model('auth.group', models.Group)
from django.contrib.contenttypes.models import ContentType
res = get_fixture_from_unchanget_model('contenttypes.contenttype', ContentType)
res += get_fixture_from_unchanget_model('auth.group', models.Group)
res += get_fixture_from_unchanget_model('auth.permission', models.Permission) res += get_fixture_from_unchanget_model('auth.permission', models.Permission)
return res return res
def dump_guardian(): def dump_guardian():
from guardian import models from guardian import models
res = get_fixture_from_unchanget_model('guardian.groupobjectpermission', models.GroupObjectPermission)
res += get_fixture_from_unchanget_model('guardian.userobjectpermission', models.UserObjectPermission)
print('guardian.groupobjectpermission')
res = [{
'model': 'guardian.groupobjectpermission',
'pk': gp.pk,
'fields': {
'group': gp.group.pk,
'permission': gp.permission.pk,
'content_type': gp.content_type.pk,
'object_pk': str(gp.object_pk),
'content_object': gp.content_object.pk
}
} for gp in models.GroupObjectPermission.objects.all()]
print('guardian.userobjectpermission')
res += [{
'model': 'guardian.userobjectpermission',
'pk': up.pk,
'fields': {
'permission': up.permission.pk,
'content_type': up.content_type.pk,
'object_pk': str(up.object_pk),
'user': up.user.pk
}
} for up in models.UserObjectPermission.objects.all()]
return res return res
@ -252,8 +303,8 @@ def make_migration():
appdump(['fixtures', 'chatbot', 'chatbot_fixture.json'], dump_chatbot) appdump(['fixtures', 'chatbot', 'chatbot_fixture.json'], dump_chatbot)
appdump(['fixtures', 'mapapp', 'map_fixture.json'], dump_map) appdump(['fixtures', 'mapapp', 'map_fixture.json'], dump_map)
appdump(['fixtures', 'taskapp', 'task_fixture.json'], dump_task_app) appdump(['fixtures', 'taskapp', 'task_fixture.json'], dump_task_app)
appdump(['fixtures', 'accounts_app', 'auth_fixture.json'], dump_auth)
appdump(['fixtures', 'accounts_app', 'guardian_fixture.json'], dump_guardian)
# appdump(['fixtures', 'accounts_app', 'auth_fixture.json'], dump_auth)
# appdump(['fixtures', 'accounts_app', 'guardian_fixture.json'], dump_guardian)
def move_to_fixtures_dirs(): def move_to_fixtures_dirs():
@ -273,21 +324,22 @@ def move_to_fixtures_dirs():
def apply_fixtures(): def apply_fixtures():
from django.core.management import execute_from_command_line from django.core.management import execute_from_command_line
from accounts_app.models import UserProfile from accounts_app.models import UserProfile
from django.contrib.auth import models
#from django.contrib.auth import models
UserProfile.objects.filter(username='AnonymousUser').delete() UserProfile.objects.filter(username='AnonymousUser').delete()
print('clearing auth.group')
models.Group.objects.all().delete()
print('clearing auth.permission')
models.Permission.objects.all().delete()
#print('clearing auth.group')
#models.Group.objects.all().delete()
#print('clearing auth.permission')
#models.Permission.objects.all().delete()
print('./manage.py loaddata -v2 ...')
execute_from_command_line([sys.argv[0], 'loaddata', '-v', '2',
fixtures_names = [
'groups_fixture.json', 'tariffs_fixture.json', 'photos_fixture.json', 'groups_fixture.json', 'tariffs_fixture.json', 'photos_fixture.json',
'devs_fixture.json', 'accounts_fixture.json', 'abon_fixture.json', 'devs_fixture.json', 'accounts_fixture.json', 'abon_fixture.json',
'chatbot_fixture.json', 'map_fixture.json', 'task_fixture.json',
'auth_fixture.json', 'guardian_fixture.json'
])
'chatbot_fixture.json', 'map_fixture.json', 'task_fixture.json'
]
# 'auth_fixture.json', 'guardian_fixture.json'
print('./manage.py loaddata ' + ', '.join(fixtures_names))
execute_from_command_line([sys.argv[0], 'loaddata'] + fixtures_names)
if __name__ == '__main__': if __name__ == '__main__':
@ -299,7 +351,7 @@ if __name__ == '__main__':
django.setup() django.setup()
move_to_fixtures_dirs() move_to_fixtures_dirs()
apply_fixtures() apply_fixtures()
os.remove('fixtures')
shutil.rmtree('fixtures')
elif choice == 'makedump': elif choice == 'makedump':
django.setup() django.setup()
make_migration() make_migration()

3
taskapp/templates/taskapp/add_edit_task.html

@ -1,6 +1,7 @@
{% extends request.is_ajax|yesno:'bajax.html,base.html' %} {% extends request.is_ajax|yesno:'bajax.html,base.html' %}
{% load i18n %} {% load i18n %}
{% load bootstrap3 %} {% load bootstrap3 %}
{% load globaltags %}
{% block main %} {% block main %}
<ol class="breadcrumb"> <ol class="breadcrumb">
@ -28,7 +29,7 @@
{% else %} {% else %}
<form role="form" action="{% url 'taskapp:add' %}" method="post" enctype="multipart/form-data"> <form role="form" action="{% url 'taskapp:add' %}" method="post" enctype="multipart/form-data">
{% endif %} {% endif %}
{% csrf_token %}<input type="hidden" name="MAX_FILE_SIZE" value="{{ FILE_UPLOAD_MAX_MEMORY_SIZE }}"/>
{% csrf_token %}<input type="hidden" name="MAX_FILE_SIZE" value="{% global_var 'FILE_UPLOAD_MAX_MEMORY_SIZE' %}"/>
{% bootstrap_icon 'tag' as ic %} {% bootstrap_icon 'tag' as ic %}
{% bootstrap_field form.descr addon_before=ic %} {% bootstrap_field form.descr addon_before=ic %}

Loading…
Cancel
Save