예제 #1
0
def get_template_file(template_file_name):
    path = os.path.join(os.path.dirname(__file__),
                        '../templates/%s.html' % template_file_name)
    template_file = open(path)
    compiled_template = template.Template(template_file.read())
    template_file.close()
    return compiled_template
예제 #2
0
    def get(self):
        if not super(Customizer, self).get(): return

        param_set = self.param_set

        for param in param_set.values():
            try:
                rows = DBCustomField.gql("where type=:type",
                                         type=param["type"])
                param["value"] = (rows[0].value).encode("utf-8")
            except:
                #self.insertContent("<br/>type: " + param["type"])
                pass

        tpl_cust = template.Template("""
        <form method="post" action="">
            <table>
            {% for param in params %}
                <tr>
                    <td>
                        {{param.caption}}
                    </td>
                    <td>
                    {% if param.txt_long %}
                        <textarea name="{{param.name}}">{{param.value}}</textarea>
                    {% else %}
                        <input type="text" name="{{param.name}}" size="40" value='{{param.value}}'>
                    {% endif %}
                    </td>
                </tr>
            {% endfor %}
                <tr>
                    <td>
                        
                    </td>
                    <td>
                        <input type="submit" value='Сохранить'>
                    </td>
                </tr>
            </table>
        <form>
        """)

        for param in param_set.values():
            if "txt_long" not in param:
                param["txt_long"] = True if len(
                    param["value"]) > 100 else False
        out = tpl_cust.render(template.Context({"params": param_set.values()}))
        self.insertContent(out)
        self.drawPage()
예제 #3
0
"""

from google.appengine.ext.webapp import template

from session import RequestHandler
from users import User, UserSignup, salt_n_hash, signup_id

# Adapt to use your app's view.
SIGNUP_VIEW = template.Template("""
<head><title>Sign up</title></head>
<body>
{% if session.flash_msg %}
	<p>{{ session.flash_msg }}</p>
{% endif %}
<form action="/signup" method="post">
    <label for="nickname">Nickname: </label><input type="text" id="nickname" name="nickname"><br />
    <label for="email">Email: </label><input type="text" id="email" name="email"><br />
    <label for="password">Password: </label><input type="password" id="password" name="password"><br />
    <label for="password2">Confirm: </label><input type="password" id="password2" name="password2"><br />
    <input type="submit" value="Sign up">
</form>
</body>
""")

LOGIN_VIEW = template.Template("""
<head><title>Sign up</title></head>
<body>
{% if session.flash_msg %}
	<p>{{ session.flash_msg }}</p>
{% endif %}
<form action="/login" method="post">
예제 #4
0
from google.appengine.ext import webapp
from google.appengine.ext.webapp import util

from google.appengine.ext.webapp import template

from suas import session, auth_handlers

HOME_VIEW = template.Template("""
<head><title>Home</title></head>
<body>
<h3>Demo app for <a href="http://github.com/aht/suas/">suas</a></h3>
{% if session.flash_msg %}
	<p>{{ session.flash_msg }}</p>
{% endif %}
{% if current_user %}
	<p>Logged in as {{ session.user.nick_name }}.</p>
	<p><a href="/logout">Log out</a></p>
{% else %}
	<p><a href="/login">Log in</a></p>
	<p><a href="/signup">Sign up</a></p>
{% endif %}
</body>
""")


class HomeHandler(session.RequestHandler):
    def get(self):
        ctx = template.Context({"session": self.session})
        self.response.out.write(HOME_VIEW.render(ctx))

예제 #5
0
from google.appengine.ext.webapp import template

from suas import session, auth_handlers

# Set up our REST resources
import models

HOME_VIEW = template.Template("""
<head><title>Home</title></head>
<body>
<h3>Demo app for DEONE</h3>
{% if session.flash_msg %}
	<p>{{ session.flash_msg }}</p>
{% endif %}
{% if session.user %}
	<p>Logged in as {{ session.user }}.</p>
	<p><a href="/logout">Log out</a></p>
{% else %}
	<p><a href="/login">Log in</a></p>
	<p><a href="/signup">Sign up</a></p>
{% endif %}
</body>
""")


class HomeHandler(session.RequestHandler):
    def get(self):
        ctx = template.Context({"session": self.session})
        self.response.out.write(HOME_VIEW.render(ctx))

예제 #6
0
    def post(self):
        self.checkSession(self.request.headers.get('Cookie'), False)
        event = int(self.request.uri.split('/')[-1])
        if not self.Session['authorized']:
            if self.request.get('name') != '' and self.request.get('surname') != '':
                user = db.GqlQuery("SELECT * FROM DBUser WHERE email = :email", 
                                   email = str(self.request.get('email')))
                if user.count() == 0:
                    newuser = DBUser()
                    newuser.name = self.request.get('name')
                    newuser.surname = self.request.get('surname')
                    newuser.login = str(cgi.escape(self.request.get('email'))).lower()
                    newuser.email = str(self.request.get('email'))
                    pwchars = "1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm"
                    pwd = "".join(random.choice(pwchars) for _ in range(8))
                    newuser.password = hashlib.md5(str(pwd)).hexdigest()
                    confirmation = hashlib.md5(str(random.random())).hexdigest()
                    newuser.confirmation = confirmation
                    newuser.type = 'pending-email'
                    newuser.put()
                    try:
                        
                        tpl_body = template.Template (self.paramByName("tpl_eventRegMailBody"))
                        mail_body = tpl_body.render(template.Context({
                                                                      "event_url": self.paramByName("url") + "/event/" +  str(event),
                                                                      "confirm": self.paramByName("url") + "/confirm/" + confirmation,
                                                                      "login": str(cgi.escape(self.request.get('email'))),
                                                                      "password": str(pwd)
                                                                      }))
                        
                        mail.send_mail(sender = self.paramByName("email"), 
                                       to = str(self.request.get('email')), 
                                       subject = self.paramByName("eventRegMailSubj"), 
                                       body = mail_body)
                        self.insertContent("""Вы зарегистрированны. На вашу почту была выслана регистрационная информация.<br>""")
                    except:
                        self.insertContent("""Вы зарегистрировались на мероприятие, но в процессе обработки произошел сбой.<br> 
                                    Если вы получили регистрационное письмо, авторизуйтесь с указанными там реквизитами.<br>
                                    Или <a href="/contacts">свяжитесь с администрацией</a>""")
            else:
                self.insertContent("Данные были введены неверно!")
                self.drawPage()
                return

        dbuser = db.GqlQuery("SELECT * FROM DBUser WHERE email = :email", email = str(cgi.escape(self.request.get('email'))).replace("%40", "@"))
        userid = self.Session['userid'] if self.Session['authorized'] else dbuser.fetch(1)[0].key().id()

        anketa = DBEventAnketa()
        anketa.userid = int(userid)
        anketa.eventid = int(event)
        anketa.name = db.Text(self.Session['name'], "utf_8") if self.Session['authorized'] else self.request.get('name')
        anketa.surname = db.Text(self.Session['surname'], "utf_8") if self.Session['authorized'] else self.request.get('surname')
        anketa.phone = self.request.get('phone')
        anketa.email = self.Session['email'] if self.Session['authorized'] else self.request.get('email')
        anketa.company = self.request.get('company')
        anketa.position = self.request.get('position')
#        anketa.payway = int(self.request.get('payway'))
        if self.request.get('is_portfolio'):
            anketa.is_portfolio = bool(int(self.request.get('is_portfolio')))
        anketa.additional = self.request.get('additional')
        if self.request.get('isarhitect'):
            anketa.isarhitect = bool(int(self.request.get('isarhitect')))
        anketa.put()
        self.showMessage(""" Ваша заявка принята! """)