コード例 #1
0
 def register(self, id, **kwargs):
     id = int(id)
     req = cherrypy.request
     orm_session = req.orm_session
     event = find_event_by_id(orm_session, id)
     events_list = None
     u = None
     i = None
     if event:
         if kwargs.get('code'):
             i = find_invitation_by_code(orm_session, kwargs['code'])
             if i is None or i.used or i.event != event:
                 raise HTTPError(403, "Invalid invite code.")
             if i.email is not None:
                 u = find_user_by_email(orm_session, i.email)
         if kwargs.get('code') or \
            (event.max_regs is None or
             event.max_regs > len(event.participants)) \
            and event.date > date.today() and \
            (event.closereg is None or event.closereg > date.today()):
             tmpl = get_template("register.html")
         else:
             tmpl = get_template("regclosed.html")
             events_list = get_all_events(orm_session, 5, hide_closed=True)
         return tmpl.render(host_gdg=find_host_gdg_by_event(orm_session,
                                                            event),
                            event=event, events=events_list,
                            user=u, invite=i)
     raise HTTPError(404)
コード例 #2
0
 def list_upcoming(self, **kwargs):
     events = get_n_upcoming_events(
         session=cherrypy.request.orm_session,
         limit=20,
     )
     tmpl = get_template('events.html')
     return tmpl.render(events=events)
コード例 #3
0
 def no_users(self, **kwargs):
     from .api import get_users_list
     session = cherrypy.request.orm_session
     if not get_users_list(session)['count']:
         raise cherrypy.HTTPRedirect('/')
     tmpl = get_template("no_users.html")
     return tmpl.render(menu_items = MENU_LIST, menu_item = 'no_users')
コード例 #4
0
    def register(self, id, **kwargs):
        id = int(id)
        req = cherrypy.request
        orm_session = req.orm_session
        event = find_event_by_id(orm_session, id)
        events_list = None
        u = None
        i = None
        registration_form = None

        if not event:
            # this is is not error, just wrong URL
            logger.info('No event with id=%(id)s was found', {'id': id})
            raise HTTPError(404)

        if kwargs.get('code'):
            i = find_invitation_by_code(orm_session, kwargs['code'])
            if i is None or i.used or i.event_id != event.id:
                # Again it is not an error but a wrong URL param
                logger.info(
                    'Invalid invite code: %(code)s for event %(eid)s',
                    {'code': kwargs['code'], 'eid': id},
                )
                raise HTTPError(403, 'Invalid invite code.')
            if i.email is not None:
                u = find_user_by_email(orm_session, i.email)

        if kwargs.get('code') or event.is_registration_open():
            tmpl = get_template('register.html')
            registration_form = RegistrationForm(event.hidden)
            # Do not use additional_fields_form cause it does not
            # fully support select with custom answer
        else:
            tmpl = get_template('regclosed.html')
            events_list = get_n_upcoming_events(
                session=orm_session,
                limit=5,
                hide_closed=True,
            )

        return tmpl.render(
            host_gdg=find_host_gdg_by_event(orm_session, event),
            event=event, events=events_list,
            user=u, invite=i,
            registration_form=registration_form,
        )
コード例 #5
0
 def index(self):
     from pprint import pprint
     posts = get_all_posts(cherrypy.request.orm_session)
     pprint(posts)
     if posts:
         tmpl = get_template('blog/posts.html')
         return tmpl.render(posts=posts)
     raise HTTPError(404)
コード例 #6
0
    def index(self):
        from pprint import pprint

        posts = get_all_posts(cherrypy.request.orm_session)
        pprint(posts)
        if posts:
            tmpl = get_template("blog/posts.html")
            return tmpl.render(posts=posts)
        raise HTTPError(404)
コード例 #7
0
    def admin(self, **kwargs):
        from .api import get_users_list
        session = cherrypy.request.orm_session
        users = get_users_list(session)
        tmpl = get_template("add.html")
#        pagination = []
#        if kwargs.get('start') and kwargs.get('start') < 20:
#            pagination.append({'id': kwargs.get('start') - 20, 'name': 'Prev', 'url': '/'})
#        pagination = users['count'] if users['count'] > 20 else None
        return tmpl.render(menu_items = MENU_LIST, menu_item = 'add_user', users = users['list'])
コード例 #8
0
 def wrapper(obj):
     '''
     obj is an object with context of func
     '''
     tmpl = get_template(template)
     return tmpl.render(
         webpage={
             'content': func(obj),
             'menu': (obj.menu if hasattr(obj, 'menu') else menu),
             'current_page': page_id
         })
コード例 #9
0
ファイル: controller.py プロジェクト: anxolerd/gdg.org.ua
 def wrapper(obj):
     '''
     obj is an object with context of func
     '''
     tmpl = get_template(template)
     return tmpl.render(webpage={
                        'content': func(obj),
                        'menu': (obj.menu
                                 if hasattr(obj, 'menu')
                                 else menu),
                        'current_page': page_id})
コード例 #10
0
 def index(self, **kwargs):
     # VK args list:
     #   hash, api_url, auth_key, referrer, access_token,
     #   is_app_user, api_id, viewer_id, language, secret, sid,
     #   lc_name, user_id, group_id, api_settings, ad_info,
     #   parent_language, viewer_type
     from .api import get_users_list
     session = cherrypy.request.orm_session
     users = get_users_list(session)
     tmpl = get_template("index.html")
     return tmpl.render(menu_items = MENU_LIST, menu_item = 'users_list', users = users['list'])
コード例 #11
0
ファイル: controller.py プロジェクト: GDG-Ukraine/gdg.org.ua
    def index(self, **kwargs):
        req = cherrypy.request
        places = []
        for place in api.get_all_gdg_places(req.orm_session, filtered=True):
            lat, lng = place.geo.split(',')
            places.append({
                'name': place.name,
                'lat': lat,
                'lng': lng,
                'url': place.url,
            })

        tmpl = get_template('index.html')
        return tmpl.render(places=places)
コード例 #12
0
ファイル: mail.py プロジェクト: GDG-Ukraine/gdg.org.ua
def gmail_send_html(template, payload, **kwargs):

    assert isinstance(payload, dict), 'gmail_send_html only accepts dict'

    msg = MIMEMultipart('alternative')

    html_payload = get_template(template).render(**payload)

    plain_text_payload = html2text.html2text(html_payload)

    msg.attach(MIMEText(plain_text_payload, 'plain'))
    msg.attach(MIMEText(html_payload, 'html'))

    return gmail_send(message=msg, **kwargs)
コード例 #13
0
 def show(self, id, **kwargs):
     try:
         id = int(id)
         req = cherrypy.request
         orm_session = req.orm_session
         event = find_event_by_id(cherrypy.request.orm_session, id)
         if event:
             tmpl = get_template('event.html')
             return tmpl.render(event=event,
                                host_gdg=find_host_gdg_by_event(orm_session,
                                                                event))
         raise HTTPError(404)
     except ValueError:
         raise HTTPError(400, 'Invalid URL')
コード例 #14
0
def gmail_send_html(template, payload, **kwargs):

    assert isinstance(payload, dict), 'gmail_send_html only accepts dict'

    msg = MIMEMultipart('alternative')

    html_payload = get_template(template).render(**payload)

    plain_text_payload = html2text.html2text(html_payload)

    msg.attach(MIMEText(plain_text_payload, 'plain'))
    msg.attach(MIMEText(html_payload, 'html'))

    return gmail_send(message=msg, **kwargs)
コード例 #15
0
 def show(self, id, **kwargs):
     try:
         id = int(id)
         req = cherrypy.request
         orm_session = req.orm_session
         event = find_event_by_id(cherrypy.request.orm_session, id)
         if event:
             tmpl = get_template('event.html')
             return tmpl.render(event=event,
                                host_gdg=find_host_gdg_by_event(orm_session,
                                                                event))
         raise HTTPError(404)
     except ValueError:
         raise HTTPError(400, 'Invalid URL')
コード例 #16
0
    def index(self, **kwargs):
        req = cherrypy.request
        places = []
        for place in api.get_all_gdg_places(req.orm_session, filtered=True):
            lat, lng = place.geo.split(',')
            places.append({
                'name': place.name,
                'lat': lat,
                'lng': lng,
                'url': place.url,
            })

        tmpl = get_template('index.html')
        return tmpl.render(places=places)
コード例 #17
0
ファイル: controller.py プロジェクト: phiNumber/gdg.org.ua
 def card(self, aes_hash):
     req = cherrypy.request
     orm_session = req.orm_session
     try:
         registration_id = aes_decrypt(aes_hash)
         user_reg = api.get_event_registration_by_id(orm_session,
                                                     registration_id)
     except:
         logger.exception('Invalid card number')
         raise cherrypy.HTTPError(400, 'Invalid card number')
     else:
         vcard = make_vcard(user_reg, url=req.path_info)
         tmpl = get_template("card.html")
         return tmpl.render(event=user_reg.event, user=user_reg.user,
                            registration=user_reg, qrdata=vcard)
コード例 #18
0
ファイル: controller.py プロジェクト: anxolerd/gdg.org.ua
 def card(self, aes_hash):
     req = cherrypy.request
     orm_session = req.orm_session
     try:
         registration_id = aes_decrypt(aes_hash)
         user_reg = api.get_event_registration_by_id(orm_session,
                                                     registration_id)
     except:
         logger.exception('Invalid card number')
         raise cherrypy.HTTPError(400, 'Invalid card number')
     else:
         vcard = make_vcard(user_reg, url=req.path_info)
         tmpl = get_template('card.html')
         return tmpl.render(event=user_reg.event, user=user_reg.user,
                            registration=user_reg, qrdata=vcard)
コード例 #19
0
ファイル: controller.py プロジェクト: anxolerd/gdg.org.ua
 def confirm(self, aes_hash):
     req = cherrypy.request
     orm_session = req.orm_session
     try:
         registration_id = aes_decrypt(aes_hash)
         user_reg = api.get_event_registration_by_id(orm_session,
                                                     registration_id)
         user_reg.confirmed = True
         orm_session.merge(user_reg)
         orm_session.commit()
         logger.debug(user_reg)
     except:
         raise cherrypy.HTTPError(400, 'Invalid confirmation number')
     else:
         tmpl = get_template('confirmed.html')
         return tmpl.render(event=user_reg.event, user=user_reg.user)
コード例 #20
0
 def confirm(self, aes_hash):
     req = cherrypy.request
     orm_session = req.orm_session
     try:
         registration_id = aes_decrypt(aes_hash)
         user_reg = api.get_event_registration_by_id(
             orm_session, registration_id)
         user_reg.confirmed = True
         orm_session.merge(user_reg)
         orm_session.commit()
         logger.debug(user_reg)
     except:
         raise cherrypy.HTTPError(400, 'Invalid confirmation number')
     else:
         tmpl = get_template('confirmed.html')
         return tmpl.render(event=user_reg.event, user=user_reg.user)
コード例 #21
0
 def logged_in(self, **kwargs):
     tmpl = get_template("logged_in.html")
     logger.debug(cherrypy.session)
     logger.debug(cherrypy.session.__dict__)
     logger.debug(cherrypy.session.get('user'))
     return tmpl.render(user = cherrypy.session['user'], menu_items = MENU_LIST, menu_item = 'logged_in')
コード例 #22
0
ファイル: controller.py プロジェクト: anxolerd/gdg.org.ua
 def admin(self, **kwargs):
     tmpl = get_template('admin/admin.html')
     return tmpl.render(p={})
コード例 #23
0
ファイル: controller.py プロジェクト: anxolerd/gdg.org.ua
 def index(self, **kwargs):
     tmpl = get_template('gdg.org.ua_old.html')
     return tmpl.render(
         places=api.get_all_gdg_places(cherrypy.request.orm_session,
                                       filtered=True))
コード例 #24
0
ファイル: controller.py プロジェクト: douhack/douhack
 def index(self):
     tmpl = get_template("landing.html")
     return tmpl.render()
コード例 #25
0
 def admin(self, **kwargs):
     tmpl = get_template('admin/admin.html')
     return tmpl.render(p={})
コード例 #26
0
ファイル: controller.py プロジェクト: phiNumber/gdg.org.ua
 def index(self, **kwargs):
     tmpl = get_template("gdg.org.ua_old.html")
     return tmpl.render(
         places=api.get_all_gdg_places(cherrypy.request.orm_session,
                                       filtered=True))
コード例 #27
0
 def default(self, *args):
     tmpl = get_template("access_denied.html")
     return tmpl.render()
コード例 #28
0
 def list_all(self, **kwargs):
     events = get_all_events(cherrypy.request.orm_session)
     if events:
         tmpl = get_template('events.html')
         return tmpl.render(events=events)
     raise HTTPError(404)
コード例 #29
0
ファイル: controller.py プロジェクト: webknjaz/web-tsp
 def index(self):
     tmpl = get_template("index.html")
     return tmpl.render()