Commit 5446daa2 authored by Mario Chirinos Colunga's avatar Mario Chirinos Colunga 💬

registro

parent cd99ddf5
#Installation
```bash
sudo apt-get install git python3 python3-pip psycopg2-binary
sudo apt-get install git python3 python3-dev python3-pip psycopg2-binary postgresql postgresql-contrib
python3 -m pip install --upgrade pip
sudo pip3 intsall django django-mathfilters psycopg2 django-static-jquery
sudo pip3 intsall django django-mathfilters psycopg2 django-static-jquery quantiphy numpy wordcloud stop_words
sudo su - postgres
psql
CREATE DATABASE m3db;
CREATE USER geoint WITH PASSWORD 'geoint';
ALTER ROLE geoint SET client_encoding TO 'utf8';
ALTER ROLE geoint SET default_transaction_isolation TO 'read committed';
ALTER ROLE geoint SET timezone TO 'UTC';
GRANT ALL PRIVILEGES ON DATABASE m3db TO geoint;
\q
exit
cd m3_webinterface/
python3 manage.py makemigrations
```
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.contrib import admin
# Register your models here.
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.apps import AppConfig
class AccountsConfig(AppConfig):
name = 'accounts'
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models
# Create your models here.
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.test import TestCase
# Create your tests here.
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^signup/', views.SignUp.as_view(), name='signup'),
]
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.shortcuts import render
# Create your views here.
from django.contrib.auth.forms import UserCreationForm
from django.urls import reverse_lazy
from django.views import generic
class SignUp(generic.CreateView):
form_class = UserCreationForm
success_url = reverse_lazy('login')
template_name = 'signup.html'
from django.shortcuts import HttpResponseRedirect
from django.core.urlresolvers import reverse
#from django.core.urlresolvers import reverse
from django.urls import reverse
class AuthRequiredMiddleware(object):
def __init__(self, get_response):
......@@ -16,7 +18,7 @@ class AuthRequiredMiddleware(object):
if request.path_info == reverse('ws-news-list2'):
return response
if not request.user.is_authenticated() and request.path_info != reverse('login'):
if not request.user.is_authenticated and request.path_info != reverse('login'):
return HttpResponseRedirect(reverse('login'))
# Code to be executed for each request/response after
......
No preview for this file type
......@@ -37,3 +37,7 @@ video {
opacity:0.8;
}
form span_
{
display: none;
}
m3Data={"users": 17, "publishers": 80, "text": 62, "audio": 17, "documents": 3743812, "searches": 43, "audioTime": 5182281};
\ No newline at end of file
m3Data={"users": 18, "publishers": 80, "text": 62, "audio": 17, "documents": 3814507, "searches": 47, "audioTime": 5571159};
\ No newline at end of file
......@@ -3,10 +3,10 @@
{% block headMedia %}
<script type="text/javascript" src="{% static 'static_jquery/js/jquery.js' %}" ></script>
<!--<script type="text/javascript" src="{% static 'static_jquery/js/jquery.js' %}" ></script>
<script type="text/javascript" src="{% static 'admin/js/jquery.init.js' %}" ></script>
{{ form.media }}
{{ form.media }}-->
{% endblock %}
......@@ -41,9 +41,8 @@
{% endblock %}
{% block scripts %}
<script>
</script>
<script type="text/javascript" src="{% static 'admin/js/jquery.init.js' %}" ></script>
{{ form.media }}
{% endblock %}
from django.conf.urls import url
from . import views
from django.views.i18n import javascript_catalog
from django.views.i18n import JavaScriptCatalog
urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^status/$', views.status, name='status'),
url(r'^js/jsi18n/$', javascript_catalog, name='jsi18n'),
url(r'^js/jsi18n/$', JavaScriptCatalog.as_view(), name='jsi18n'),
url(r'^publishers/$', views.publisherList, name='publishers-list'),
url(r'^publishers/(?P<type>\w+)$', views.publisherList, name='publishers-list'),
......
......@@ -12,7 +12,8 @@ from django.shortcuts import redirect
from django.http import HttpResponse
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
from django.db.models import Count
from django.core.urlresolvers import reverse
#from django.core.urlresolvers import reverse
from django.urls import reverse
from django.db.models.functions import TruncMonth, TruncYear
from .forms import SearchForm, ProfileForm, SubscriptionsForm
......
#! /bin/sh
### BEGIN INIT INFO
# Provides: m3
# Required-Start: $local_fs $remote_fs $network $syslog $named
# Required-Stop: $local_fs $remote_fs $network $syslog $named
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts m3
# Description: starts m3 using start-stop-daemon
# Copiar en /etc/init.d/
# update-rc.d -f m3_init defaults
# update-rc.d -f m3_init enable 2 3 4 5
### END INIT INFO
# Some things that run always
# Carry out specific functions when asked to by the system
case "$1" in
start)
echo "m3 iniciado..."
python3 /home/geoint/m3_webInterface/manage.py runserver 192.168.0.112:8001
;;
stop)
echo "Deteniendo m3..."
#
;;
*)
echo "Usage: /etc/init.d/m3_init {start|stop}"
exit 1
;;
esac
exit 0
......@@ -40,6 +40,7 @@ INSTALLED_APPS = [
'django.contrib.humanize',
'mathfilters',
'catalog.apps.CatalogConfig',
'accounts.apps.AccountsConfig',
'django.contrib.postgres',
'django_static_jquery',
......
......@@ -19,12 +19,13 @@ from django.conf.urls import include
from django.views.generic import RedirectView
from django.conf.urls.static import static
from django.conf import settings
from django.views.i18n import javascript_catalog
#from django.views.i18n import javascript_catalog
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^catalog/', include('catalog.urls')),
url(r'^$', RedirectView.as_view(url='/catalog/', permanent=True)),
url(r'^accounts/', include('accounts.urls')),
url(r'^accounts/', include('django.contrib.auth.urls')),
# url(r'^ws/reports/images/(?P<type>\w+)$', views.wsReportImages, name='wsReportImages')
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
{% extends "base_generic_top.html" %}
{% load static %}
{% block headMedia %}
<link rel="stylesheet" href="{% static 'css/login.css'%}" type="text/css">
<script type="text/javascript" src="{% static 'js/data.js' %}" ></script>
{% endblock %}
{% block budy %}
<div class="visible-lg-block visible-md-block">
<video id="bgvid" playsinline autoplay muted loop poster="{% static 'images/poster.jpg'%}" >
<!-- WCAG general accessibility recommendation is that media such as background video play through only once. Loop turned on for the purposes of illustration; if removed, the end of the video will fade in the same way created by pressing the "Pause" button -->
<source src="{% static 'images/background.mp4'%}" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"' />
<source src="{% static 'images/background.ogv'%}" type='video/ogg; codecs="theora, vorbis"' />
<source src="{% static 'images/background.webm'%}" type='video/webm; codecs="vp8, vorbis"' />
</video>
</div>
<div class="container">
<div class="row" style="margin-top:15%;">
<div class="col-md-4 col-md-offset-4" style="text-align:center;">
</div>
</div>
<div class="row translucid visible-lg-block visible-md-block">
<div class="col-md-4">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa fa-rss fa-5x"></i>
</div>
<div class="col-xs-9 text-right">
<div class="huge" id="textMedia"></div>
<div>Medios Impresos</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-4">
<div class="panel panel-yellow">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa fa-microphone fa-5x"></i>
</div>
<div class="col-xs-9 text-right">
<div class="huge" id="audioMedia"></div>
<div>Estaciones de Radio</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-4">
<div class="panel panel-primary">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa fa-volume-up fa-5x"></i>
</div>
<div class="col-xs-9 text-right">
<div class="huge" id="audioTime"></div>
<div>Horas de Audio</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-4 translucid visible-lg-block visible-md-block">
<div class="row">
<div class="col-md-12">
<div class="panel panel-yellow">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa fa-file-text fa-5x"></i>
</div>
<div class="col-xs-9 text-right">
<div class="huge" id="documents"></div>
<div>Noticias</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="panel panel-primary">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa fa-search fa-5x"></i>
</div>
<div class="col-xs-9 text-right">
<div class="huge" id="searches"></div>
<div>Busquedas</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-4">
{% block content %}
<div class="panel panel-green">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa fa-sign-in fa-5x"></i>
</div>
<div class="col-xs-9 text-right">
{% if form.errors %}
<p>Your username and password didn't match. Please try again.</p>
{% endif %}
{% if next %}
{% if user.is_authenticated %}
<p>Your account doesn't have access to this page. To proceed, please login with an account that has access.</p>
{% else %}
<p>Favor de firmarse para tener acceso.</p>
{% endif %}
{% endif %}
<form role="form" method="post" action="{% url 'login' %}">
{% csrf_token %}
<div class="form-group">
<input class="form-control" placeholder="nombre de usuario" name="{{ form.username.name }}" type="{{ form.username.class.name}}" id="{{ form.username.auto_id }}" autofocus>
</div>
<div class="form-group">
<input class="form-control" placeholder="contraseña" name="{{ form.password.name }}" type="password" id="{{ form.password.auto_id }}" autofocus>
</div>
<div class="form-group">
<input type="submit" value="Ingresar" class="btn btn-lg btn-success btn-block" />
<input type="hidden" name="next" value="{{ next }}" />
</div>
</form>
</div>
</div>
</div>
<a href="{% url 'password_reset' %}">
<div class="panel-footer">
<span class="pull-left">Lost password?</span>
<span class="pull-right"><i class="fa fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
</div>
</a>
</div>
{% endblock %}
</div>
<div class="col-md-4 translucid visible-lg-block visible-md-block">
<div class="row">
<div class="col-md-12">
<div class="panel panel-red">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa fa-comments fa-5x"></i>
</div>
<div class="col-xs-9 text-right">
<div class="huge">111</div>
<div>Temas</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="panel panel-yellow">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa fa-user fa-5x"></i>
</div>
<div class="col-xs-9 text-right">
<div class="huge" id="users"></div>
<div>Usuarios</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row geointInfo" >
<div class="col-md-4">
</div>
<div class="col-md-4 visible-lg-block visible-md-block">
<img src="{% static 'images/conacytLogo_white.png'%}"/>
<img src="{% static 'images/geologo_white.png'%}"/>
<img src="{% static 'images/geointLogo_white.png'%}"/>
</div>
<div class="col-md-4">
<a href="http://www.centrogeo.org.mx/">© 2018 Centro de Investigación en Ciencias de Información Geoespacial</a>
</div>
</div>
{% endblock %}
{% block scripts %}
<script>
var vid = document.getElementById("bgvid");
if (window.matchMedia('(prefers-reduced-motion)').matches)
{
vid.removeAttribute("autoplay");
vid.pause();
pauseButton.innerHTML = "Paused";
}
function vidFade()
{
vid.classList.add("stopfade");
}
vid.addEventListener('ended', function()
{ document.getElementById("audioMedia").innerHTML=m3Data.audio;
// only functional if "loop" is removed
vid.pause();
// to capture IE10
vidFade();
});
document.getElementById("textMedia").innerHTML=m3Data.text;
document.getElementById("audioMedia").innerHTML=m3Data.audio;
audioTime = Math.ceil(m3Data.audioTime/60).toString();
document.getElementById("audioTime").innerHTML=new Intl.NumberFormat('es-MX').format(audioTime);
documents = m3Data.documents;
document.getElementById("documents").innerHTML=new Intl.NumberFormat('es-MX').format(documents);
document.getElementById("searches").innerHTML=m3Data.searches;
document.getElementById("users").innerHTML=m3Data.users;
</script>
{% endblock %}
<!-- templates/signup.html -->
{% extends 'landing_base.html' %}
{% block title %}Registro{% endblock %}
{% block content %}
<div class="panel panel-green">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa fa-pencil fa-5x"></i>
</div>
<div class="col-xs-9 text-right">
{% if form.errors %}
<p>{{form.username.help_text}}</p>
{% endif %}
<form role="form" method="post">
{% csrf_token %}
<div class="form-group">
<input class="form-control" placeholder="nombre de usuario" name="username" type="" id="id_username" autofocus>
</div>
<div class="form-group">
<input class="form-control" placeholder="contraseña" name="password1" type="password" id="id_password1" autofocus>
</div>
<div class="form-group">
<input class="form-control" placeholder="confirmar contraseña" name="password2" type="password" id="id_password2" autofocus>
</div>
<div class="form-group">
<input type="submit" value="Registrarse" class="btn btn-lg btn-success btn-block" />
<input type="hidden" name="next" value="" />
</div>
</form>
</div>
</div>
</div>
</div>
{% endblock %}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment