Added standard templates

This commit is contained in:
Antonio de la Rosa 2015-12-07 04:52:33 +01:00
parent d99e5ec840
commit 20becdbd27
14 changed files with 293 additions and 24 deletions

View file

@ -77,8 +77,12 @@ class ptemplate:
theme_templates='themes/'+config.theme+'/templates' theme_templates='themes/'+config.theme+'/templates'
module_templates=module+'/templates' module_templates=module+'/templates'
#Standard templates
standard_templates=path.dirname(__name__)+'/templates'
return TemplateLookup(directories=[theme_templates, module_templates], default_filters=['h'], input_encoding='utf-8', encoding_errors='replace') return TemplateLookup(directories=[theme_templates, module_templates, standard_templates], default_filters=['h'], input_encoding='utf-8', encoding_errors='replace')
#return Environment(autoescape=self.guess_autoescape, auto_reload=True, loader=FileSystemLoader([theme_templates, module_templates])) #return Environment(autoescape=self.guess_autoescape, auto_reload=True, loader=FileSystemLoader([theme_templates, module_templates]))

View file

@ -0,0 +1,4 @@
<%inherit file="home.html" />
<%block name="content">
${content_index|n}
</%block>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>${title}</title>
<!--<link href="{{'css/admin/admin.css'|make_media_url}}" rel="stylesheet" type="text/css"/>
<link href="{{'css/font-awesome.min.css'|make_media_url}}" rel="stylesheet" type="text/css"/>-->
${add_css_home('admin/admin.css')}
${add_css_home('font-awesome.min.css')}
${HeaderHTML.css_home()|n}
${add_js_home('jquery.min.js')}
${HeaderHTML.js_home()|n}
${HeaderHTML.header_home()|n}
</head>
<body>
<div id="languages_general">
</div>
<div id="logout">
<a href="${make_url('admin/logout')}">Logout</a>
</div>
<div id="center_body">
<div id="header"><span id="title_phango">Paramecio</span> <span id="title_framework">Framework!</span> </div>
<div class="content_admin">
<div id="menu">
<div class="menu_title">${lang('admin', 'applications', 'Applications')}</div>
% for module in sorted(menu):
% if type(menu[module]).__name__=='list':
<a href="${make_url('admin/'+module)}">${menu[module][0]}</a>
% else:
<div class="father_admin">${menu[module]}</div>
% endif
% endfor
</div>
<div class="contents">
<h1>${title}</h1>
<%block name="content">
</%block>
</div>
</div>
</div>
<div id="loading_ajax">
</div>
</body>
</html>

View file

@ -0,0 +1,9 @@
<%inherit file="home.html"/>
<%block name="content">
<div class="title">
Bienvenido al administrador
</div>
<div class="cont">
Desde aquí podrá administrar su site
</div>
</%block>

View file

@ -0,0 +1,66 @@
<!DOCTYPE html>
<html>
<head>
<title><%block name="title">${lang('admin', 'login', 'Paramecio Login')}</%block></title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link href='https://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'>
${add_js_home('jquery.min.js')}
${add_css_home('admin/login.css')}
${add_css_home('font-awesome.min.css')}
${HeaderHTML.css_home()|n}
${HeaderHTML.js_home()|n}
<%block name="ajax">
<script language="javascript">
$(document).ready( function () {
$('#login_submit').click( function () {
$('#loading').show();
$.ajax({
url: "${make_url('admin/login')}",
method: "POST",
dataType: "json",
data: {'username': $('#username_form').val(), 'password': $('#password_form').val()}
}).done(function(data) {
if(data.error==0)
{
window.location.href="${make_url('admin')}";
}
else
{
$('#loading').hide('slow');
$('#username_error').html("${lang('common', 'error_login', 'Error, wrong username or password')}");
}
});
return false;
});
});
</script>
</%block>
</head>
<body>
<%block name="content">
<form id="login">
<div id="title">
${lang('admin', 'login', 'Paramecio Login')}
</div>
${forms|n}
<div id="submit_block">
<input type="submit" value="${lang('common', 'login', 'Login')}" class="submit" id="login_submit"/>
<span id="loading">&nbsp;</span>
</div>
</form>
</%block>
</body>
</html>

View file

@ -0,0 +1,60 @@
<%inherit file="login.phtml"/>
<%block name="ajax">
<script language="Javascript">
$(document).ready( function () {
$("#register_submit").click( function () {
$.ajax({
url: "${make_url('admin/register')}",
method: "POST",
dataType: "json",
data: {'username': $('#username_form').val(), 'email': $('#email_form').val(), 'password': $('#password_form').val(), 'repeat_password': $('#repeat_password_form').val()}
}).done(function(data) {
//$( this ).addClass( "done" );
//Redirect if register
if(data.error==0)
{
//$('#result_register').html('Done!. Redirecting...');
$('#loading').show();
window.location.href="${make_url('admin/login')}";
}
else
{
//alert(JSON.stringify(data));
//$('#result_register').html('Error');
$('#username_error').html(data.username);
$('#email_error').html(data.email);
$('#password_error').html(data.password);
$('#repeat_password_error').html(data.password_repeat);
}
});
return false;
});
});
</script>
</%block>
<%block name="title">${lang('admin', 'sign_up', 'Paramecio Sign up')}</%block>
<%block name="content">
<form id="login">
<div id="title">
${lang('admin', 'sign_up', 'Paramecio Sign up')}
</div>
${forms|n}
<div id="result_register"></div>
<div id="submit_block">
<input type="submit" value="${lang('common', 'sign_up', 'Sign up')}" class="submit" id="register_submit"/>
<span id="loading">&nbsp;</span>
</div>
</form>
</%block>

View file

@ -0,0 +1,5 @@
<div class="form">
{% for form in forms.values() %}
<p><label>{{form.label|safe}}</label>{{form.form()}}</p>
{% endfor %}
</div>

View file

@ -0,0 +1,14 @@
<%def name="check_required(required)">
% if required:
${'*'}
% endif
</%def>
<div class="form">
% for form in forms.values():
% if form.type!='hidden':
<p><label>${form.label} ${check_required(form.required)}</label>${form.form()|n} <span class="error" id="${form.name}_error">${form.txt_error}</span></p>
% else:
${form.form()|n}
% endif
% endfor
</div>

View file

@ -0,0 +1,4 @@
${show_flash_message()|n}
<h1>${admin.title}</h1>
<a href="${add_get_parameters(admin.url, op_admin='1')}">${lang('common', 'add_item', 'Add new item')}</a>
${admin.list.show()|n}

View file

@ -0,0 +1,13 @@
<p><a href="${admin.url}">${lang('common', 'home', 'Home')}</a> &gt;&gt;
% if id!='0':
${title_edit}
%else:
${title_edit}
%endif
</p>
<form method="post" action="${add_get_parameters(admin.url, op_admin=2, id=id)}">
<h2>${title_edit}</h2>
<span class="error">${model.query_error}</span>
${ form|n }
<p><input type="submit" value="${lang('common', 'send', 'Send') }"></p>
</form>

View file

@ -0,0 +1,53 @@
<!--{% set header_js_list %}
<script language="Javascript">
/*alert('pepe');*/
</script>
{% endset %}
{{ header_js_list|add_header_home() }}-->
<%def name="select_field()">
% if simplelist.search_field==field:
selected
% endif
</%def>
<%def name="set_css_arrow(simplelist, field)">
% if simplelist.order_field==field:
fa fa-arrow-circle-${simplelist.order_class[simplelist.s['order']]}
% endif
</%def>
% if simplelist.yes_search:
<div class="form">
<form method="get" action="{{simplelist.url}}">
${lang('common','search', 'Search')}: <input type="text" name="search_text" value="${simplelist.search_text|n}">
<select name="search_field">
% for field in simplelist.search_fields:
<option value="${simplelist.model.forms[field].name}" ${select_field()}>${simplelist.model.forms[field].label}</option>
% endfor
</select>
<input type="submit" value="${lang('common', 'search', 'Search')}" />
</form>
</div>
% endif
<table class="table_list">
<tr class="title_list">
% for field in simplelist.fields_showed:
<td><a href="${add_get_parameters(simplelist.url, order_field=simplelist.model.fields[field].name, begin_page=simplelist.begin_page, order=simplelist.change_order[field], search_text=simplelist.search_text, search_field=simplelist.search_field)}" class="${set_css_arrow(simplelist, field)}">${simplelist.model.fields[field].label}</a></td>
% endfor
% for extra_field in simplelist.arr_extra_fields:
<td>${ extra_field }</td>
% endfor
</tr>
% for row in list:
<tr class="row_list">
% for field in simplelist.fields_showed:
<td>${simplelist.model.fields[field].show_formatted(row[field])}</td>
% endfor
% for extra_field_func in simplelist.arr_extra_options:
<td>${ simplelist.set_options(extra_field_func, row)|n }</td>
% endfor
</tr>
% endfor
</table>
<p>
${pages|n}
</p>

View file

@ -48,14 +48,6 @@ def create_app():
try: try:
#dir_controllers=os.listdir(config.base_modules.replace('.', '/')+'/'+module)
#arr_views=[x for x in dir_modules if x.find('.py')!=-1 and x.find('__init__')==-1]
"""
for controller in config.base_modules:
if controller.find('.py')!=-1 and controller.find('__init__')==-1:
controller=controller.replace('.py', '')
"""
controller_path=import_module(module) controller_path=import_module(module)
controller_base=os.path.dirname(controller_path.__file__) controller_base=os.path.dirname(controller_path.__file__)
@ -67,7 +59,7 @@ def create_app():
if controller.find('.py')!=-1 and controller.find('__init__')==-1: if controller.find('.py')!=-1 and controller.find('__init__')==-1:
controller_py=controller.replace('.py', '') controller_py=controller.replace('.py', '')
print(controller_py)
import_module(module+'.'+controller_py) import_module(module+'.'+controller_py)
add_func_static_module(controller_base) add_func_static_module(controller_base)

View file

@ -1,16 +1,16 @@
#!/usr/bin/python3 #!/usr/bin/python3
from citoplasma.mtemplates import ptemplate from paramecio.citoplasma.mtemplates import ptemplate
from modules.admin.models.admin import UserAdmin from paramecio.modules.admin.models.admin import UserAdmin
from citoplasma.i18n import load_lang, I18n from paramecio.citoplasma.i18n import load_lang, I18n
from citoplasma.urls import make_url, add_get_parameters from paramecio.citoplasma.urls import make_url, add_get_parameters
from citoplasma.sessions import get_session from paramecio.citoplasma.sessions import get_session
from bottle import get,post from bottle import get,post
from settings import config from settings import config
from settings import config_admin from settings import config_admin
from citoplasma.lists import SimpleList from paramecio.citoplasma.lists import SimpleList
from citoplasma.generate_admin_class import GenerateAdminClass from paramecio.citoplasma.generate_admin_class import GenerateAdminClass
from citoplasma.httputils import GetPostFiles from paramecio.citoplasma.httputils import GetPostFiles
from cromosoma.formsutils import show_form, pass_values_to_form from cromosoma.formsutils import show_form, pass_values_to_form
from cromosoma.coreforms import PasswordForm from cromosoma.coreforms import PasswordForm
from importlib import import_module, reload from importlib import import_module, reload

View file

@ -1,11 +1,11 @@
#!/usr/bin/python3 #!/usr/bin/python3
from citoplasma.i18n import I18n from paramecio.citoplasma.i18n import I18n
from cromosoma.webmodel import WebModel from paramecio.cromosoma.webmodel import WebModel
from cromosoma.usermodel import UserModel from paramecio.cromosoma.usermodel import UserModel
from cromosoma import corefields from paramecio.cromosoma import corefields
from cromosoma.extrafields.emailfield import EmailField from paramecio.cromosoma.extrafields.emailfield import EmailField
from cromosoma.extrafields.passwordfield import PasswordField from paramecio.cromosoma.extrafields.passwordfield import PasswordField
class PrivilegesField(corefields.IntegerField): class PrivilegesField(corefields.IntegerField):
pass pass