+ Fortune account written prepare invited no passage. Garrets use ten you the
+ weather ferrars.
+
+
Support Chat
+
+
+
+
+
+
+
+
+
+ Offending delivered questions met. Acceptance she interested new boisterous
+ discretion celebrated.
+
+
System Analysis
+
+
+
+
+ Jennings dashwood to quitting marriage bachelor in. On as conviction in of
+ appearance.
+
+
First Run
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Our Story
+
We're knowledgeable about making benefits higher
+
+ Change wholly say why eldest period. Are projection put celebrated particular
+ unreserved joy unsatiable its. In then dare good am rose bred or. On am in nearer
+ square wanted.
+
+ Fully begin on by wound an. Girl rich in do up or both. At declared in as rejoiced
+ of together. He impression collecting delightful unpleasant by prosperous as on. End
+ too talent she object mrs wanted remove giving.
+
+
+ In on announcing if of comparison pianoforte projection. Maids hoped gay yet bed
+ asked blind dried point. On abroad danger likely regret twenty edward do. Too
+ horrible consider followed may differed age. An rest if more five mr of. Age just
+ her rank met down way. unaffected partiality indulgence dispatched to of celebrated
+ remarkably. Unfeeling are had allowance own perceived abilities.
+
+ Described questions for recommend advantage belonging estimable had. Pianoforte reasonable as so
+ am inhabiting. Chatty design remark and his abroad figure but its.
+
+
+
+
+
+
+
+
+
+
Project creation
+
+
+
+
+ Intention defective at convinced. Led income months itself and houses you. After nor you
+ leave might share court balls.
+
+ Celebrated conviction stimulated principles day. Sure fail or in said west. Right my
+ front it wound cause fully am sorry if. She jointure goodness interest debating did
+ outweigh. Is time from them.
+
+ Outward general passage another as it. Very his are come man walk one next.
+ Delighted prevailed supported
+
+
+
+
+
+
+
+
+
+
+ Consulted or acuteness dejection an smallness if. Outward general passage another as it.
+ Very his are come man walk one next. partiality affronting unpleasant why add. Esteem
+ garden men yet shy course Consulted.
+
+ Outward general passage another as it. Very his are come man walk one next.
+ Delighted prevailed supported
+
+
+
+
+
+
+
+
+
+
+ Celebrated conviction stimulated principles day. Sure fail or in said west. Right my
+ front it wound cause fully am sorry if. She jointure goodness interest debating did
+ outweigh. Is time from them.
+
+ Outward general passage another as it. Very his are come man walk one next.
+ Delighted prevailed supported
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Pricing Plan
+
Our Pricing
+
+ Described questions for recommend advantage belonging estimable had. Pianoforte reasonable as so
+ am inhabiting. Chatty design remark and his abroad figure but its.
+
+ Described questions for recommend advantage belonging estimable had. Pianoforte reasonable as so
+ am inhabiting. Chatty design remark and his abroad figure but its.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Jessica Jones
+ Sales & Marketing
+
+ Required honoured trifling eat pleasure man relation. Assurance yet bed was improving
+ furniture Distrusts delighted
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Amir Bubhan
+ Data Scientist
+
+ Required honoured trifling eat pleasure man relation. Assurance yet bed was improving
+ furniture Distrusts delighted
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Ahel Natasha
+ Chairman
+
+ Required honoured trifling eat pleasure man relation. Assurance yet bed was improving
+ furniture Distrusts delighted
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
What people says
+
Customer Review
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Jessica Jones
+ Market researcher
+
+ Music leave say doors him. Tore bred form if sigh case as do. Staying he no looking if
+ do opinion. Sentiments way understood end partiality and his.
+
+
+
+
+
+
+
+
+
+
+
+
Jessica Jones
+ Market researcher
+
+ Music leave say doors him. Tore bred form if sigh case as do. Staying he no looking if
+ do opinion. Sentiments way understood end partiality and his.
+
+ Removing welcomed civility or hastened is. Justice elderly but perhaps
+ expense six her are another passage. Full her ten open fond walk not
+ down.For request general express unknown are. Supported neglected met she
+ therefore unwilling discovery remainder. Way sentiments two indulgence
+ uncommonly own.
+
+ Removing welcomed civility or hastened is. Justice elderly but perhaps
+ expense six her are another passage. Full her ten open fond walk not
+ down.For request general express unknown are. Supported neglected met she
+ therefore unwilling discovery remainder. Way sentiments two indulgence
+ uncommonly own.
+
+ Removing welcomed civility or hastened is. Justice elderly but perhaps
+ expense six her are another passage. Full her ten open fond walk not
+ down.For request general express unknown are. Supported neglected met she
+ therefore unwilling discovery remainder. Way sentiments two indulgence
+ uncommonly own.
+
+ Perceive screened throwing met not eat distance. Viewing hastily or written dearest elderly
+ up weather it as. So direction so sweetness or extremity at daughters. Provided put unpacked
+ now but bringing.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{% include 'home/base/footer.html' %}
+
+
+
+{% include 'home/jquery/jguery.html' %}
+
+{% endblock content %}
\ No newline at end of file
diff --git a/app/home/templates/home/jquery/jguery.html b/app/home/templates/home/jquery/jguery.html
new file mode 100644
index 0000000..6090e9e
--- /dev/null
+++ b/app/home/templates/home/jquery/jguery.html
@@ -0,0 +1,18 @@
+{% load static %}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/api/tests.py b/app/home/tests.py
similarity index 100%
rename from api/tests.py
rename to app/home/tests.py
diff --git a/home/urls.py b/app/home/urls.py
similarity index 100%
rename from home/urls.py
rename to app/home/urls.py
diff --git a/home/views.py b/app/home/views.py
similarity index 100%
rename from home/views.py
rename to app/home/views.py
diff --git a/app/manage.py b/app/manage.py
new file mode 100644
index 0000000..bbbe8e5
--- /dev/null
+++ b/app/manage.py
@@ -0,0 +1,22 @@
+#!/usr/bin/env python
+"""Django's command-line utility for administrative tasks."""
+import os
+import sys
+
+
+def main():
+ """Run administrative tasks."""
+ os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'miroca.settings')
+ try:
+ from django.core.management import execute_from_command_line
+ except ImportError as exc:
+ raise ImportError(
+ "Couldn't import Django. Are you sure it's installed and "
+ "available on your PYTHONPATH environment variable? Did you "
+ "forget to activate a virtual environment?"
+ ) from exc
+ execute_from_command_line(sys.argv)
+
+
+if __name__ == '__main__':
+ main()
diff --git a/auth_miroca/__init__.py b/app/miroca/__init__.py
similarity index 100%
rename from auth_miroca/__init__.py
rename to app/miroca/__init__.py
diff --git a/app/miroca/asgi.py b/app/miroca/asgi.py
new file mode 100644
index 0000000..2cb8b2d
--- /dev/null
+++ b/app/miroca/asgi.py
@@ -0,0 +1,16 @@
+"""
+ASGI config for miroca project.
+
+It exposes the ASGI callable as a module-level variable named ``application``.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/6.0/howto/deployment/asgi/
+"""
+
+import os
+
+from django.core.asgi import get_asgi_application
+
+os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'miroca.settings')
+
+application = get_asgi_application()
diff --git a/app/miroca/settings.py b/app/miroca/settings.py
new file mode 100644
index 0000000..23c54e0
--- /dev/null
+++ b/app/miroca/settings.py
@@ -0,0 +1,135 @@
+"""
+Django settings for miroca project.
+
+Generated by 'django-admin startproject' using Django 6.0.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/6.0/topics/settings/
+
+For the full list of settings and their values, see
+https://docs.djangoproject.com/en/6.0/ref/settings/
+"""
+
+from pathlib import Path
+
+# Build paths inside the project like this: BASE_DIR / 'subdir'.
+BASE_DIR = Path(__file__).resolve().parent.parent
+
+
+# Quick-start development settings - unsuitable for production
+# See https://docs.djangoproject.com/en/6.0/howto/deployment/checklist/
+
+# SECURITY WARNING: keep the secret key used in production secret!
+SECRET_KEY = 'django-insecure-wk$33v@xp^n&mg1^#=h+_1ekmoeewyub5cyk_w62ocpp8-7rj@'
+
+# SECURITY WARNING: don't run with debug turned on in production!
+DEBUG = True
+
+ALLOWED_HOSTS = ['miroca.ru']
+
+
+# Application definition
+
+INSTALLED_APPS = [
+ 'django.contrib.admin',
+ 'django.contrib.auth',
+ 'django.contrib.contenttypes',
+ 'django.contrib.sessions',
+ 'django.contrib.messages',
+ 'django.contrib.staticfiles',
+ 'upanel.apps.UpanelConfig',
+ 'home.apps.HomeConfig',
+]
+
+MIDDLEWARE = [
+ 'django.middleware.security.SecurityMiddleware',
+ 'django.contrib.sessions.middleware.SessionMiddleware',
+ 'django.middleware.common.CommonMiddleware',
+ 'django.middleware.csrf.CsrfViewMiddleware',
+ 'django.contrib.auth.middleware.AuthenticationMiddleware',
+ 'django.contrib.messages.middleware.MessageMiddleware',
+ 'django.middleware.clickjacking.XFrameOptionsMiddleware',
+]
+
+ROOT_URLCONF = 'miroca.urls'
+
+TEMPLATES = [
+ {
+ 'BACKEND': 'django.template.backends.django.DjangoTemplates',
+ 'DIRS': [],
+ 'APP_DIRS': True,
+ 'OPTIONS': {
+ 'context_processors': [
+ 'django.template.context_processors.request',
+ 'django.contrib.auth.context_processors.auth',
+ 'django.contrib.messages.context_processors.messages',
+ ],
+ },
+ },
+]
+
+WSGI_APPLICATION = 'miroca.wsgi.application'
+
+
+# Database
+# https://docs.djangoproject.com/en/6.0/ref/settings/#databases
+
+# DATABASES = {
+# 'default': {
+# 'ENGINE': 'django.db.backends.sqlite3',
+# 'NAME': BASE_DIR / 'db.sqlite3',
+# }
+# }
+
+
+# Password validation
+# https://docs.djangoproject.com/en/6.0/ref/settings/#auth-password-validators
+
+AUTH_PASSWORD_VALIDATORS = [
+ {
+ 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
+ },
+]
+
+
+# Internationalization
+# https://docs.djangoproject.com/en/6.0/topics/i18n/
+
+LANGUAGE_CODE = 'en-us'
+
+TIME_ZONE = 'UTC'
+
+USE_I18N = True
+
+USE_TZ = True
+
+
+# Static files (CSS, JavaScript, Images)
+# https://docs.djangoproject.com/en/6.0/howto/static-files/
+
+STATIC_URL = 'static/'
+STATIC_ROOT = '/home/c76533/miroca.ru/www/static'
+
+MEDIA_URL = '/media/'
+MEDIA_ROOT = '/home/c76533/miroca.ru/www/media'
+
+# database settings
+DATABASES = {
+ 'default': {
+ 'ENGINE': 'django.db.backends.postgresql_psycopg2',
+ 'HOST': 'postgres.c76533.h2',
+ 'PORT': '5432',
+ 'NAME': 'c76533_miroca_ru',
+ 'USER': 'c76533_miroca_ru',
+ 'PASSWORD': 'FeJhiKotdinuv65',
+ },
+}
diff --git a/app/miroca/urls.py b/app/miroca/urls.py
new file mode 100644
index 0000000..d80a37a
--- /dev/null
+++ b/app/miroca/urls.py
@@ -0,0 +1,23 @@
+"""
+URL configuration for miroca project.
+
+The `urlpatterns` list routes URLs to views. For more information please see:
+ https://docs.djangoproject.com/en/6.0/topics/http/urls/
+Examples:
+Function views
+ 1. Add an import: from my_app import views
+ 2. Add a URL to urlpatterns: path('', views.home, name='home')
+Class-based views
+ 1. Add an import: from other_app.views import Home
+ 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
+Including another URLconf
+ 1. Import the include() function: from django.urls import include, path
+ 2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
+"""
+from django.contrib import admin
+from django.urls import path, include
+
+urlpatterns = [
+ path('admin/', admin.site.urls),
+ path('', include('home.urls')),
+]
diff --git a/app/miroca/wsgi.py b/app/miroca/wsgi.py
new file mode 100644
index 0000000..5d6969e
--- /dev/null
+++ b/app/miroca/wsgi.py
@@ -0,0 +1,16 @@
+"""
+WSGI config for miroca project.
+
+It exposes the WSGI callable as a module-level variable named ``application``.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/6.0/howto/deployment/wsgi/
+"""
+
+import os
+
+from django.core.wsgi import get_wsgi_application
+
+os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'miroca.settings')
+
+application = get_wsgi_application()
diff --git a/auth_miroca/migrations/__init__.py b/app/upanel/__init__.py
similarity index 100%
rename from auth_miroca/migrations/__init__.py
rename to app/upanel/__init__.py
diff --git a/upanel/admin.py b/app/upanel/admin.py
similarity index 100%
rename from upanel/admin.py
rename to app/upanel/admin.py
diff --git a/upanel/apps.py b/app/upanel/apps.py
similarity index 100%
rename from upanel/apps.py
rename to app/upanel/apps.py
diff --git a/auth_miroca/logout.py b/app/upanel/logout.py
similarity index 100%
rename from auth_miroca/logout.py
rename to app/upanel/logout.py
diff --git a/upanel/migrations/0001_initial.py b/app/upanel/migrations/0001_initial.py
similarity index 100%
rename from upanel/migrations/0001_initial.py
rename to app/upanel/migrations/0001_initial.py
diff --git a/upanel/migrations/0002_device_customuser.py b/app/upanel/migrations/0002_device_customuser.py
similarity index 100%
rename from upanel/migrations/0002_device_customuser.py
rename to app/upanel/migrations/0002_device_customuser.py
diff --git a/upanel/migrations/0003_hostname_customuser.py b/app/upanel/migrations/0003_hostname_customuser.py
similarity index 100%
rename from upanel/migrations/0003_hostname_customuser.py
rename to app/upanel/migrations/0003_hostname_customuser.py
diff --git a/home/__init__.py b/app/upanel/migrations/__init__.py
similarity index 100%
rename from home/__init__.py
rename to app/upanel/migrations/__init__.py
diff --git a/upanel/models.py b/app/upanel/models.py
similarity index 100%
rename from upanel/models.py
rename to app/upanel/models.py
diff --git a/upanel/templates/upanel/login.html b/app/upanel/templates/upanel/login.html
similarity index 100%
rename from upanel/templates/upanel/login.html
rename to app/upanel/templates/upanel/login.html
diff --git a/upanel/templates/upanel/upanel/base/base.html b/app/upanel/templates/upanel/upanel/base/base.html
similarity index 100%
rename from upanel/templates/upanel/upanel/base/base.html
rename to app/upanel/templates/upanel/upanel/base/base.html
diff --git a/upanel/templates/upanel/upanel/base/button.html b/app/upanel/templates/upanel/upanel/base/button.html
similarity index 100%
rename from upanel/templates/upanel/upanel/base/button.html
rename to app/upanel/templates/upanel/upanel/base/button.html
diff --git a/upanel/templates/upanel/upanel/base/label.html b/app/upanel/templates/upanel/upanel/base/label.html
similarity index 100%
rename from upanel/templates/upanel/upanel/base/label.html
rename to app/upanel/templates/upanel/upanel/base/label.html
diff --git a/upanel/templates/upanel/upanel/base/status.html b/app/upanel/templates/upanel/upanel/base/status.html
similarity index 100%
rename from upanel/templates/upanel/upanel/base/status.html
rename to app/upanel/templates/upanel/upanel/base/status.html
diff --git a/upanel/templates/upanel/upanel/base/temperature.html b/app/upanel/templates/upanel/upanel/base/temperature.html
similarity index 100%
rename from upanel/templates/upanel/upanel/base/temperature.html
rename to app/upanel/templates/upanel/upanel/base/temperature.html
diff --git a/upanel/templates/upanel/upanel/base/user.html b/app/upanel/templates/upanel/upanel/base/user.html
similarity index 100%
rename from upanel/templates/upanel/upanel/base/user.html
rename to app/upanel/templates/upanel/upanel/base/user.html
diff --git a/upanel/templates/upanel/upanel/content/content_wrapper.html b/app/upanel/templates/upanel/upanel/content/content_wrapper.html
similarity index 100%
rename from upanel/templates/upanel/upanel/content/content_wrapper.html
rename to app/upanel/templates/upanel/upanel/content/content_wrapper.html
diff --git a/upanel/templates/upanel/upanel/content/footer.html b/app/upanel/templates/upanel/upanel/content/footer.html
similarity index 100%
rename from upanel/templates/upanel/upanel/content/footer.html
rename to app/upanel/templates/upanel/upanel/content/footer.html
diff --git a/upanel/templates/upanel/upanel/content/greenhouse.html b/app/upanel/templates/upanel/upanel/content/greenhouse.html
similarity index 100%
rename from upanel/templates/upanel/upanel/content/greenhouse.html
rename to app/upanel/templates/upanel/upanel/content/greenhouse.html
diff --git a/kiosk/templates/kiosk/include/orderstatic.html b/app/upanel/templates/upanel/upanel/content/orderstatic.html
similarity index 100%
rename from kiosk/templates/kiosk/include/orderstatic.html
rename to app/upanel/templates/upanel/upanel/content/orderstatic.html
diff --git a/upanel/templates/upanel/upanel/content/ping_server.html b/app/upanel/templates/upanel/upanel/content/ping_server.html
similarity index 100%
rename from upanel/templates/upanel/upanel/content/ping_server.html
rename to app/upanel/templates/upanel/upanel/content/ping_server.html
diff --git a/upanel/templates/upanel/upanel/content/profile.html b/app/upanel/templates/upanel/upanel/content/profile.html
similarity index 100%
rename from upanel/templates/upanel/upanel/content/profile.html
rename to app/upanel/templates/upanel/upanel/content/profile.html
diff --git a/upanel/templates/upanel/upanel/content/top.html b/app/upanel/templates/upanel/upanel/content/top.html
similarity index 100%
rename from upanel/templates/upanel/upanel/content/top.html
rename to app/upanel/templates/upanel/upanel/content/top.html
diff --git a/upanel/templates/upanel/upanel/content/total.html b/app/upanel/templates/upanel/upanel/content/total.html
similarity index 100%
rename from upanel/templates/upanel/upanel/content/total.html
rename to app/upanel/templates/upanel/upanel/content/total.html
diff --git a/upanel/templates/upanel/upanel/content/transaction.html b/app/upanel/templates/upanel/upanel/content/transaction.html
similarity index 100%
rename from upanel/templates/upanel/upanel/content/transaction.html
rename to app/upanel/templates/upanel/upanel/content/transaction.html
diff --git a/upanel/templates/upanel/upanel/index.html b/app/upanel/templates/upanel/upanel/index.html
similarity index 100%
rename from upanel/templates/upanel/upanel/index.html
rename to app/upanel/templates/upanel/upanel/index.html
diff --git a/upanel/templates/upanel/upanel/login.html b/app/upanel/templates/upanel/upanel/login.html
similarity index 100%
rename from upanel/templates/upanel/upanel/login.html
rename to app/upanel/templates/upanel/upanel/login.html
diff --git a/upanel/templates/upanel/upanel/menu.html b/app/upanel/templates/upanel/upanel/menu.html
similarity index 100%
rename from upanel/templates/upanel/upanel/menu.html
rename to app/upanel/templates/upanel/upanel/menu.html
diff --git a/upanel/templates/upanel/upanel/smarthome.html b/app/upanel/templates/upanel/upanel/smarthome.html
similarity index 100%
rename from upanel/templates/upanel/upanel/smarthome.html
rename to app/upanel/templates/upanel/upanel/smarthome.html
diff --git a/upanel/test.py b/app/upanel/test.py
similarity index 100%
rename from upanel/test.py
rename to app/upanel/test.py
diff --git a/auth_miroca/tests.py b/app/upanel/tests.py
similarity index 100%
rename from auth_miroca/tests.py
rename to app/upanel/tests.py
diff --git a/upanel/urls.py b/app/upanel/urls.py
similarity index 100%
rename from upanel/urls.py
rename to app/upanel/urls.py
diff --git a/upanel/views.py b/app/upanel/views.py
similarity index 100%
rename from upanel/views.py
rename to app/upanel/views.py
diff --git a/app/wsgi.py b/app/wsgi.py
new file mode 100644
index 0000000..5d6969e
--- /dev/null
+++ b/app/wsgi.py
@@ -0,0 +1,16 @@
+"""
+WSGI config for miroca project.
+
+It exposes the WSGI callable as a module-level variable named ``application``.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/6.0/howto/deployment/wsgi/
+"""
+
+import os
+
+from django.core.wsgi import get_wsgi_application
+
+os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'miroca.settings')
+
+application = get_wsgi_application()
diff --git a/auth_miroca/admin.py b/auth_miroca/admin.py
deleted file mode 100644
index 55b90f2..0000000
--- a/auth_miroca/admin.py
+++ /dev/null
@@ -1,26 +0,0 @@
-from django.contrib import admin
-from django.contrib.auth.admin import UserAdmin
-from .forms import CustomUserCreationForm, CustomUserChangeForm
-from .models import CustomUser
-
-class CustomUserAdmin(UserAdmin):
- add_form = CustomUserCreationForm
- form = CustomUserChangeForm
- model = CustomUser
- list_display = ('email', 'is_superuser','is_staff', 'is_active',)
- list_filter = ('email','is_superuser','is_staff', 'is_active',)
- fieldsets = (
- (None, {'fields': ('email', 'password')}),
- ('Разрешения', {'fields': ('is_superuser','is_staff','is_active','groups',)}),
- ('Пользователь',{'fields':('username','last_name','first_name','phone','org','address')}),
- ('Регистрация и вход', {'fields': ('date_joined','last_login')}),
- )
- add_fieldsets = (
- (None, {
- 'classes': ('wide',),
- 'fields': ('email','is_superuser', 'password1', 'password2', 'is_staff', 'is_active')}
- ),
- )
- search_fields = ('email',)
- ordering = ('email',)
-admin.site.register(CustomUser, CustomUserAdmin)
\ No newline at end of file
diff --git a/auth_miroca/apps.py b/auth_miroca/apps.py
deleted file mode 100644
index cf3c29e..0000000
--- a/auth_miroca/apps.py
+++ /dev/null
@@ -1,6 +0,0 @@
-from django.apps import AppConfig
-
-
-class AuthMirocaConfig(AppConfig):
- default_auto_field = 'django.db.models.BigAutoField'
- name = 'auth_miroca'
diff --git a/auth_miroca/forms.py b/auth_miroca/forms.py
deleted file mode 100644
index 15cf555..0000000
--- a/auth_miroca/forms.py
+++ /dev/null
@@ -1,10 +0,0 @@
-from django.contrib.auth.forms import UserCreationForm, UserChangeForm
-from .models import CustomUser
-class CustomUserCreationForm(UserCreationForm):
- class Meta(UserCreationForm):
- model = CustomUser
- fields = ('email',)
-class CustomUserChangeForm(UserChangeForm):
- class Meta:
- model = CustomUser
- fields = ('email',)
\ No newline at end of file
diff --git a/auth_miroca/managers.py b/auth_miroca/managers.py
deleted file mode 100644
index 2e2ffd5..0000000
--- a/auth_miroca/managers.py
+++ /dev/null
@@ -1,34 +0,0 @@
-from django.contrib.auth.base_user import BaseUserManager
-from django.utils.translation import gettext_lazy as _
-
-
-class CustomUserManager(BaseUserManager):
- """
- Custom user model manager where email is the unique identifiers
- for authentication instead of usernames.
- """
- def create_user(self, email, password, **extra_fields):
- """
- Create and save a user with the given email and password.
- """
- if not email:
- raise ValueError(_("The Email must be set"))
- email = self.normalize_email(email)
- user = self.model(email=email, **extra_fields)
- user.set_password(password)
- user.save()
- return user
-
- def create_superuser(self, email, password, **extra_fields):
- """
- Create and save a SuperUser with the given email and password.
- """
- extra_fields.setdefault("is_staff", True)
- extra_fields.setdefault("is_superuser", True)
- extra_fields.setdefault("is_active", True)
-
- if extra_fields.get("is_staff") is not True:
- raise ValueError(_("Superuser must have is_staff=True."))
- if extra_fields.get("is_superuser") is not True:
- raise ValueError(_("Superuser must have is_superuser=True."))
- return self.create_user(email, password, **extra_fields)
\ No newline at end of file
diff --git a/auth_miroca/migrations/0001_initial.py b/auth_miroca/migrations/0001_initial.py
deleted file mode 100644
index dcb8a5e..0000000
--- a/auth_miroca/migrations/0001_initial.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# Generated by Django 5.1.3 on 2024-11-29 06:19
-
-import django.utils.timezone
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
-
- initial = True
-
- dependencies = [
- ('auth', '0012_alter_user_first_name_max_length'),
- ]
-
- operations = [
- migrations.CreateModel(
- name='CustomUser',
- fields=[
- ('id', models.BigAutoField(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')),
- ('email', models.EmailField(max_length=254, unique=True, verbose_name='email address')),
- ('is_staff', models.BooleanField(default=False, verbose_name='Персонал')),
- ('is_active', models.BooleanField(default=True, verbose_name='Активный')),
- ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')),
- ('username', models.CharField(max_length=255, null=True, verbose_name='username')),
- ('image', models.ImageField(blank=True, null=True, upload_to='user/%Y/%m/%d', verbose_name='Изображение')),
- ('groups', 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')),
- ('user_permissions', 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')),
- ],
- options={
- 'verbose_name': ('user',),
- 'verbose_name_plural': 'Пользователь',
- },
- ),
- ]
diff --git a/auth_miroca/migrations/0002_customuser_ipaddress.py b/auth_miroca/migrations/0002_customuser_ipaddress.py
deleted file mode 100644
index 44bed51..0000000
--- a/auth_miroca/migrations/0002_customuser_ipaddress.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# Generated by Django 5.1.3 on 2024-11-29 12:46
-
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('auth_miroca', '0001_initial'),
- ]
-
- operations = [
- migrations.AddField(
- model_name='customuser',
- name='ipaddress',
- field=models.GenericIPAddressField(null=True),
- ),
- ]
diff --git a/auth_miroca/migrations/0003_customuser_last_name_customuser_phone.py b/auth_miroca/migrations/0003_customuser_last_name_customuser_phone.py
deleted file mode 100644
index 49b4b9a..0000000
--- a/auth_miroca/migrations/0003_customuser_last_name_customuser_phone.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# Generated by Django 5.1.3 on 2024-11-29 12:53
-
-import phone_field.models
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('auth_miroca', '0002_customuser_ipaddress'),
- ]
-
- operations = [
- migrations.AddField(
- model_name='customuser',
- name='last_name',
- field=models.CharField(max_length=255, null=True, verbose_name='Фамилия'),
- ),
- migrations.AddField(
- model_name='customuser',
- name='phone',
- field=phone_field.models.PhoneField(blank=True, help_text='Контактный номер', max_length=31, null=True),
- ),
- ]
diff --git a/auth_miroca/migrations/0004_customuser_address_customuser_first_name.py b/auth_miroca/migrations/0004_customuser_address_customuser_first_name.py
deleted file mode 100644
index a29e12f..0000000
--- a/auth_miroca/migrations/0004_customuser_address_customuser_first_name.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# Generated by Django 5.1.3 on 2024-11-29 13:00
-
-import address.models
-import django.db.models.deletion
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('address', '0003_auto_20200830_1851'),
- ('auth_miroca', '0003_customuser_last_name_customuser_phone'),
- ]
-
- operations = [
- migrations.AddField(
- model_name='customuser',
- name='address',
- field=address.models.AddressField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='address.address', verbose_name='Адрес'),
- ),
- migrations.AddField(
- model_name='customuser',
- name='first_name',
- field=models.CharField(max_length=255, null=True, verbose_name='Имя'),
- ),
- ]
diff --git a/auth_miroca/migrations/0005_alter_customuser_address.py b/auth_miroca/migrations/0005_alter_customuser_address.py
deleted file mode 100644
index d7ef8eb..0000000
--- a/auth_miroca/migrations/0005_alter_customuser_address.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# Generated by Django 5.1.3 on 2024-11-29 13:02
-
-import address.models
-import django.db.models.deletion
-from django.db import migrations
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('address', '0003_auto_20200830_1851'),
- ('auth_miroca', '0004_customuser_address_customuser_first_name'),
- ]
-
- operations = [
- migrations.AlterField(
- model_name='customuser',
- name='address',
- field=address.models.AddressField(null=True, on_delete=django.db.models.deletion.SET_NULL, to='address.address', verbose_name='Адрес'),
- ),
- ]
diff --git a/auth_miroca/migrations/0006_remove_customuser_address.py b/auth_miroca/migrations/0006_remove_customuser_address.py
deleted file mode 100644
index 0c6d8cd..0000000
--- a/auth_miroca/migrations/0006_remove_customuser_address.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# Generated by Django 5.1.3 on 2024-11-29 13:05
-
-from django.db import migrations
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('auth_miroca', '0005_alter_customuser_address'),
- ]
-
- operations = [
- migrations.RemoveField(
- model_name='customuser',
- name='address',
- ),
- ]
diff --git a/auth_miroca/migrations/0007_customuser_ipaddress_mikrotik.py b/auth_miroca/migrations/0007_customuser_ipaddress_mikrotik.py
deleted file mode 100644
index 91ef599..0000000
--- a/auth_miroca/migrations/0007_customuser_ipaddress_mikrotik.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# Generated by Django 5.1.3 on 2024-11-29 16:51
-
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('auth_miroca', '0006_remove_customuser_address'),
- ]
-
- operations = [
- migrations.AddField(
- model_name='customuser',
- name='ipaddress_mikrotik',
- field=models.GenericIPAddressField(null=True),
- ),
- ]
diff --git a/auth_miroca/migrations/0008_remove_customuser_ipaddress_mikrotik.py b/auth_miroca/migrations/0008_remove_customuser_ipaddress_mikrotik.py
deleted file mode 100644
index 8a0b184..0000000
--- a/auth_miroca/migrations/0008_remove_customuser_ipaddress_mikrotik.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# Generated by Django 5.1.3 on 2024-11-29 17:28
-
-from django.db import migrations
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('auth_miroca', '0007_customuser_ipaddress_mikrotik'),
- ]
-
- operations = [
- migrations.RemoveField(
- model_name='customuser',
- name='ipaddress_mikrotik',
- ),
- ]
diff --git a/auth_miroca/models.py b/auth_miroca/models.py
deleted file mode 100644
index 305f5a7..0000000
--- a/auth_miroca/models.py
+++ /dev/null
@@ -1,33 +0,0 @@
-from django.contrib.auth.models import AbstractBaseUser, PermissionsMixin
-from django.db import models
-from django.utils import timezone
-from django.utils.translation import gettext_lazy as _
-from phone_field import PhoneField
-from address.models import AddressField
-
-from .managers import CustomUserManager
-
-
-class CustomUser(AbstractBaseUser, PermissionsMixin):
- email = models.EmailField(_("email address"), unique=True)
- is_staff = models.BooleanField(default=False, verbose_name='Персонал')
- is_active = models.BooleanField(default=True, verbose_name='Активный')
- date_joined = models.DateTimeField(_('date joined'), default=timezone.now)
- username = models.CharField(max_length=255, null=True, verbose_name='username')
- image = models.ImageField(upload_to='user/%Y/%m/%d', blank=True, null=True, verbose_name='Изображение')
- ipaddress=models.GenericIPAddressField(null=True)
- last_name=models.CharField(max_length=255, null=True,verbose_name='Фамилия')
- first_name=models.CharField(max_length=255,null=True,verbose_name='Имя')
- phone = PhoneField(blank=True,null=True, help_text='Контактный номер')
-
- USERNAME_FIELD = 'email'
- REQUIRED_FIELDS = []
-
- objects = CustomUserManager()
-
- def __str__(self):
- return self.email
-
- class Meta:
- verbose_name = 'user',
- verbose_name_plural = 'Пользователь'
diff --git a/auth_miroca/views.py b/auth_miroca/views.py
deleted file mode 100644
index 91ea44a..0000000
--- a/auth_miroca/views.py
+++ /dev/null
@@ -1,3 +0,0 @@
-from django.shortcuts import render
-
-# Create your views here.
diff --git a/home/admin.py b/home/admin.py
deleted file mode 100644
index 8c38f3f..0000000
--- a/home/admin.py
+++ /dev/null
@@ -1,3 +0,0 @@
-from django.contrib import admin
-
-# Register your models here.
diff --git a/home/models.py b/home/models.py
deleted file mode 100644
index 71a8362..0000000
--- a/home/models.py
+++ /dev/null
@@ -1,3 +0,0 @@
-from django.db import models
-
-# Create your models here.
diff --git a/home/templates/home/base/head.html b/home/templates/home/base/head.html
deleted file mode 100644
index 1e44552..0000000
--- a/home/templates/home/base/head.html
+++ /dev/null
@@ -1,19 +0,0 @@
-{% load static %}
-
-
- Умный дом под
- ключ | Заказать системы умного дома: расчет, установка и подключение оборудования, готовые
- комплекты
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/home/templates/home/content/index.html b/home/templates/home/content/index.html
deleted file mode 100644
index c923cea..0000000
--- a/home/templates/home/content/index.html
+++ /dev/null
@@ -1,5 +0,0 @@
-{% extends 'home/base/base.html' %}
-{% load static %}
-{% block content%}
-
-{% endblock content %}
\ No newline at end of file
diff --git a/home/tests.py b/home/tests.py
deleted file mode 100644
index 7ce503c..0000000
--- a/home/tests.py
+++ /dev/null
@@ -1,3 +0,0 @@
-from django.test import TestCase
-
-# Create your tests here.
diff --git a/kiosk/admin.py b/kiosk/admin.py
deleted file mode 100644
index 8c38f3f..0000000
--- a/kiosk/admin.py
+++ /dev/null
@@ -1,3 +0,0 @@
-from django.contrib import admin
-
-# Register your models here.
diff --git a/kiosk/models.py b/kiosk/models.py
deleted file mode 100644
index 71a8362..0000000
--- a/kiosk/models.py
+++ /dev/null
@@ -1,3 +0,0 @@
-from django.db import models
-
-# Create your models here.
diff --git a/kiosk/templates/kiosk/base/base.html b/kiosk/templates/kiosk/base/base.html
deleted file mode 100644
index b68b739..0000000
--- a/kiosk/templates/kiosk/base/base.html
+++ /dev/null
@@ -1,69 +0,0 @@
-
-{% load static %}
-
-
-
-
-
- Панель управления Умный дом Мирока
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{% block content %}
-
-{% endblock %}
-
\ No newline at end of file
diff --git a/kiosk/templates/kiosk/content/index.html b/kiosk/templates/kiosk/content/index.html
deleted file mode 100644
index 2803028..0000000
--- a/kiosk/templates/kiosk/content/index.html
+++ /dev/null
@@ -1,49 +0,0 @@
-{% extends 'kiosk/base/base.html' %}
-{% load static %}
-{% block content %}
-
-
-
-
-
-
-
- {% include 'kiosk/include/content_wrapper.html' %}
-
-