From 3e9983e5f4ea5ac184ea706ce8e4a0e9c489b27f Mon Sep 17 00:00:00 2001 From: Paarhati Ozkasgarli Date: Tue, 22 Nov 2016 20:55:23 +0000 Subject: [PATCH] Template & Basic Login System Adding basic template and login system. Change-Id: I747a417fe6f821964c9fb708d69acc9538567c4c Signed-off-by: Paarhati Ozkasgarli --- .gitignore | 2 + admincp/admin.py | 18 +- dash_stack/__init__.py => authcp/forms.py | 0 authcp/urls.py | 11 + authcp/views.py | 5 +- dash_stack_dashboard/__init__.py | 0 .../settings.py | 23 +- {dash_stack => dash_stack_dashboard}/urls.py | 7 +- dash_stack_dashboard/views.py | 8 + {dash_stack => dash_stack_dashboard}/wsgi.py | 2 +- manage.py | 2 +- .../avatar/2016-11-27/nobody_m.original.jpg | Bin 0 -> 26644 bytes .../2016-11-27/nobody_m.original_Zt62Q5i.jpg | Bin 0 -> 26644 bytes templates/authcp/index.html | 1 + templates/authcp/login.html | 55 + templates/base.html | 464 ++++++ templates/base_headless.html | 47 + templates/index.html | 1266 +++++++++++++++++ user_profile/admin.py | 3 +- user_profile/migrations/0001_initial.py | 29 + user_profile/models.py | 8 +- 21 files changed, 1939 insertions(+), 12 deletions(-) rename dash_stack/__init__.py => authcp/forms.py (100%) create mode 100644 authcp/urls.py create mode 100644 dash_stack_dashboard/__init__.py rename {dash_stack => dash_stack_dashboard}/settings.py (89%) rename {dash_stack => dash_stack_dashboard}/urls.py (83%) create mode 100644 dash_stack_dashboard/views.py rename {dash_stack => dash_stack_dashboard}/wsgi.py (80%) create mode 100644 static/avatar/2016-11-27/nobody_m.original.jpg create mode 100644 static/avatar/2016-11-27/nobody_m.original_Zt62Q5i.jpg create mode 100644 templates/authcp/index.html create mode 100644 templates/authcp/login.html create mode 100644 templates/base_headless.html create mode 100644 user_profile/migrations/0001_initial.py diff --git a/.gitignore b/.gitignore index af89a1a..63312cb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +.idea/ +.Trash-1000/ *.pyc # Byte-compiled / optimized / DLL files __pycache__/ diff --git a/admincp/admin.py b/admincp/admin.py index 8c38f3f..14e5cf3 100644 --- a/admincp/admin.py +++ b/admincp/admin.py @@ -1,3 +1,19 @@ from django.contrib import admin +from django.contrib.auth.admin import UserAdmin as BaseUserAdmin +from django.contrib.auth.models import User -# Register your models here. +from user_profile.models import Profile + + +class ProfileInline(admin.StackedInline): + model = Profile + can_delete = False + verbose_name_plural = 'profiles' + + +class UserAdmin(BaseUserAdmin): + inlines = (ProfileInline, ) + + +admin.site.unregister(User) +admin.site.register(User, UserAdmin) diff --git a/dash_stack/__init__.py b/authcp/forms.py similarity index 100% rename from dash_stack/__init__.py rename to authcp/forms.py diff --git a/authcp/urls.py b/authcp/urls.py new file mode 100644 index 0000000..9b9e052 --- /dev/null +++ b/authcp/urls.py @@ -0,0 +1,11 @@ +from django.conf.urls import url +from django.contrib import admin +from django.contrib.auth import views as auth_views + +from . import views + +urlpatterns = [ + url(r'^$', views.index, name='index'), + url(r'^login/$', auth_views.login, {'template_name': 'authcp/login.html'}, name='login'), + url(r'^logout/$', auth_views.logout, name='logout'), +] diff --git a/authcp/views.py b/authcp/views.py index 91ea44a..3e6d569 100644 --- a/authcp/views.py +++ b/authcp/views.py @@ -1,3 +1,6 @@ from django.shortcuts import render -# Create your views here. + +def index(request): + return render(request, "authcp/index.html", {}) + diff --git a/dash_stack_dashboard/__init__.py b/dash_stack_dashboard/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/dash_stack/settings.py b/dash_stack_dashboard/settings.py similarity index 89% rename from dash_stack/settings.py rename to dash_stack_dashboard/settings.py index 1290da8..b9a0fdc 100644 --- a/dash_stack/settings.py +++ b/dash_stack_dashboard/settings.py @@ -25,7 +25,18 @@ SECRET_KEY = '@b*)c#tfs%382t87hojq!1pou#f_3557kf(w@a++y$j5)+$rmd' # SECURITY WARNING: don't run with debug turned on in production! DEBUG = True -ALLOWED_HOSTS = ['dash-stack',] +ALLOWED_HOSTS = [ + 'dash-stack', + '198.211.127.189', +] + +# login url +LOGIN_URL = '/auth/login/' + +LOGIN_REDIRECT_URL = '/' + +# logout redirect +LOGOUT_REDIRECT_URL = '/auth/login/' # Application definition @@ -57,12 +68,12 @@ MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', ] -ROOT_URLCONF = 'dash_stack.urls' +ROOT_URLCONF = 'dash_stack_dashboard.urls' TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', - 'DIRS': [], + 'DIRS': ['templates',], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ @@ -75,7 +86,7 @@ TEMPLATES = [ }, ] -WSGI_APPLICATION = 'dash_stack.wsgi.application' +WSGI_APPLICATION = 'dash_stack_dashboard.wsgi.application' # Database @@ -136,4 +147,8 @@ USE_TZ = True # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/1.10/howto/static-files/ +STATICFILES_DIRS = [ + os.path.join(BASE_DIR, "static"), +] + STATIC_URL = '/static/' \ No newline at end of file diff --git a/dash_stack/urls.py b/dash_stack_dashboard/urls.py similarity index 83% rename from dash_stack/urls.py rename to dash_stack_dashboard/urls.py index 736e3df..984d3b5 100644 --- a/dash_stack/urls.py +++ b/dash_stack_dashboard/urls.py @@ -13,10 +13,13 @@ Including another URLconf 1. Import the include() function: from django.conf.urls import url, include 2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls')) """ -from django.conf.urls import url +from django.conf.urls import include,url from django.contrib import admin -from django.views.generic.base import TemplateView + +from . import views urlpatterns = [ url(r'^admindj/', admin.site.urls), + url(r'^$', views.index, name='index'), + url(r'^auth/', include('authcp.urls')), ] diff --git a/dash_stack_dashboard/views.py b/dash_stack_dashboard/views.py new file mode 100644 index 0000000..e8c00a9 --- /dev/null +++ b/dash_stack_dashboard/views.py @@ -0,0 +1,8 @@ +import datetime + +from django.contrib.auth.decorators import login_required +from django.shortcuts import render + +@login_required +def index(request): + return render(request, "base.html", {'time' : datetime.datetime.now()}) \ No newline at end of file diff --git a/dash_stack/wsgi.py b/dash_stack_dashboard/wsgi.py similarity index 80% rename from dash_stack/wsgi.py rename to dash_stack_dashboard/wsgi.py index f0632ad..09357ad 100644 --- a/dash_stack/wsgi.py +++ b/dash_stack_dashboard/wsgi.py @@ -11,6 +11,6 @@ import os from django.core.wsgi import get_wsgi_application -os.environ.setdefault("DJANGO_SETTINGS_MODULE", "dash_stack.settings") +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "dash_stack_dashboard.settings") application = get_wsgi_application() diff --git a/manage.py b/manage.py index 54f49f3..cc94a6f 100755 --- a/manage.py +++ b/manage.py @@ -3,7 +3,7 @@ import os import sys if __name__ == "__main__": - os.environ.setdefault("DJANGO_SETTINGS_MODULE", "dash_stack.settings") + os.environ.setdefault("DJANGO_SETTINGS_MODULE", "dash_stack_dashboard.settings") try: from django.core.management import execute_from_command_line except ImportError: diff --git a/static/avatar/2016-11-27/nobody_m.original.jpg b/static/avatar/2016-11-27/nobody_m.original.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bed17c901e5fcdca78e6d892fdcd7c07b4b4bdb4 GIT binary patch literal 26644 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 literal 0 HcmV?d00001 diff --git a/static/avatar/2016-11-27/nobody_m.original_Zt62Q5i.jpg b/static/avatar/2016-11-27/nobody_m.original_Zt62Q5i.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bed17c901e5fcdca78e6d892fdcd7c07b4b4bdb4 GIT binary patch literal 26644 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 literal 0 HcmV?d00001 diff --git a/templates/authcp/index.html b/templates/authcp/index.html new file mode 100644 index 0000000..5357175 --- /dev/null +++ b/templates/authcp/index.html @@ -0,0 +1 @@ +Go to login please... \ No newline at end of file diff --git a/templates/authcp/login.html b/templates/authcp/login.html new file mode 100644 index 0000000..97e7e65 --- /dev/null +++ b/templates/authcp/login.html @@ -0,0 +1,55 @@ +{% extends "base_headless.html" %} + +{% block auth %} + + + + +{% endblock auth %} \ No newline at end of file diff --git a/templates/base.html b/templates/base.html index e69de29..f41f51a 100644 --- a/templates/base.html +++ b/templates/base.html @@ -0,0 +1,464 @@ + + + + + + {% block title %}dashStack Dashboard{% endblock %} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+{% block header %} +
+ + + + +
+{% endblock header %} +{% block sidebar %} + + +{% endblock sidebar %} + +
+ {% block content-header %} + +
+

+ Dashboard + Control panel +

+
+ {% endblock content-header %} + {% block content %} + + + + {% endblock content %} +
+ + {% block footer %} +
+ + Copyright © 2014-2016 dash-stack. All rights + reserved. +
+ {% endblock footer %} + {% block control-sidebar %} + + + + +
+ {% endblock control-sidebar %} +
+ +{% block java-scripts %} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{% endblock java-scripts %} + + \ No newline at end of file diff --git a/templates/base_headless.html b/templates/base_headless.html new file mode 100644 index 0000000..00580ad --- /dev/null +++ b/templates/base_headless.html @@ -0,0 +1,47 @@ + + + + + + AdminLTE 2 | Log in + + + + + + + + + + + + + + + + + +{% block auth %} + +{% endblock auth %} + + + + + + + + + + diff --git a/templates/index.html b/templates/index.html index e69de29..08384b1 100644 --- a/templates/index.html +++ b/templates/index.html @@ -0,0 +1,1266 @@ + + + + + + {% block title %}dashStack Dashboard{% endblock %} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+{% block header %} +
+ + + + +
+{% endblock header %} +{% block sidebar %} + + +{% endblock sidebar %} + +
+ {% block content-header %} + +
+

+ Dashboard + Control panel +

+ +
+ {% endblock content-header %} + {% block content %} + +
+ +
+
+ +
+
+

150

+ +

New Orders

+
+
+ +
+ More info +
+
+ +
+ +
+
+

53%

+ +

Bounce Rate

+
+
+ +
+ More info +
+
+ +
+ +
+
+

44

+ +

User Registrations

+
+
+ +
+ More info +
+
+ +
+ +
+
+

65

+ +

Unique Visitors

+
+
+ +
+ More info +
+
+ +
+ + +
+ +
+ + + + + +
+
+ + +

Chat

+ +
+
+ + +
+
+
+
+ +
+ user image + +

+ + 2:15 + Mike Doe + + I would like to meet you to discuss the latest news about + the arrival of the new theme. They say it is going to be one the + best themes on the market +

+
+

Attachments:

+ +

+ Theme-thumbnail-image.jpg +

+ +
+ +
+
+ +
+ + +
+ user image + +

+ + 5:15 + Alexander Pierce + + I would like to meet you to discuss the latest news about + the arrival of the new theme. They say it is going to be one the + best themes on the market +

+
+ + +
+ user image + +

+ + 5:30 + Susan Doe + + I would like to meet you to discuss the latest news about + the arrival of the new theme. They say it is going to be one the + best themes on the market +

+
+ +
+ + +
+ + + +
+
+ + +

To Do List

+ +
+ +
+
+ +
+
    +
  • + + + + + + + + + Design a nice theme + + 2 mins + +
    + + +
    +
  • +
  • + + + + + + Make the theme responsive + 4 hours +
    + + +
    +
  • +
  • + + + + + + Let theme shine like a star + 1 day +
    + + +
    +
  • +
  • + + + + + + Let theme shine like a star + 3 days +
    + + +
    +
  • +
  • + + + + + + Check your messages and notifications + 1 week +
    + + +
    +
  • +
  • + + + + + + Let theme shine like a star + 1 month +
    + + +
    +
  • +
+
+ + +
+ + + +
+
+ + +

Quick Email

+ +
+ +
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ + +
+ + +
+
+ +
+ + +
+ + + + +

+ Visitors +

+
+
+
+
+ + +
+ + + +
+
+ + +

Sales Graph

+ +
+ + +
+
+
+
+
+ + + +
+ + + +
+
+ + +

Calendar

+ +
+ + + + +
+ +
+ +
+ +
+
+ + +
+ + +
+ +
+ +
+ + {% endblock content %} +
+ + {% block footer %} +
+ + Copyright © 2014-2016 Almsaeed Studio. All rights + reserved. +
+ {% endblock footer %} + {% block control-sidebar %} + + + + +
+ {% endblock control-sidebar %} +
+ +{% block java-scripts %} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{% endblock java-scripts %} + + \ No newline at end of file diff --git a/user_profile/admin.py b/user_profile/admin.py index 8c38f3f..1888ed5 100644 --- a/user_profile/admin.py +++ b/user_profile/admin.py @@ -1,3 +1,4 @@ from django.contrib import admin -# Register your models here. +from django.contrib.auth.admin import UserAdmin as BaseUserAdmin +from django.contrib.auth.models import User \ No newline at end of file diff --git a/user_profile/migrations/0001_initial.py b/user_profile/migrations/0001_initial.py new file mode 100644 index 0000000..5b4821b --- /dev/null +++ b/user_profile/migrations/0001_initial.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.3 on 2016-11-22 20:26 +from __future__ import unicode_literals + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='Profile', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('avatar', models.TextField(blank=True, max_length=500)), + ('provider_password', models.CharField(max_length=50)), + ('selected_provider', models.IntegerField()), + ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ], + ), + ] diff --git a/user_profile/models.py b/user_profile/models.py index bd4b2ab..383b793 100644 --- a/user_profile/models.py +++ b/user_profile/models.py @@ -1,5 +1,11 @@ from __future__ import unicode_literals from django.db import models +from django.contrib.auth.models import User -# Create your models here. + +class Profile(models.Model): + user = models.OneToOneField(User, on_delete=models.CASCADE) + avatar = models.FileField(upload_to='static/avatar/%Y-%m-%d') + provider_password = models.CharField(max_length=50) + selected_provider = models.IntegerField() \ No newline at end of file