コード例 #1
0
ファイル: admin.py プロジェクト: softsprocket/adaythere
    def get (self):
        tool_user, db_user = ADayThere.tool_user ()

        if not ADayThere.admin_user (db_user):
            self.response.status = 401
            self.response.write ("Unauthorized")
            return

        adaythere = ADayThere ()
        adaythere.add_meta_tags ([
            { "charset":"UTF-8" },
            { "http-equiv":"X-UA-Compatible", "content":"IE=edge" },
            { "name":"viewport", "content":"initial-scale=1"}
        ])

        adaythere.add_links ([
            { "rel":"stylesheet", "href":"css/bootstrap.css" },
            { "rel":"stylesheet", "href":"css/adaythere.css" }
        ])
        
        adaythere.add_script_tags_for_body ([
            { "src":"js/jquery-1.11.0-beta2.js" },
            { "src":"js/angular/angular.min.js" },
            { "src":"js/angular/angular-route.min.js" },
            { "src":"js/ui-bootstrap-tpls-0.10.0.min.js" },
            { "src":"js/adaythere.js" }
        ])

        
        adaythere.open_element ("header", {"id":"page_header"})
        adaythere.open_element ("h1", {"id":"page_heading"}, "A Day There - Administration Page")
        adaythere.close_element ("h1")
        adaythere.open_element ("nav")
        adaythere.append_to_element ("")
        adaythere.close_element ("nav")
        adaythere.close_element ("header")

        adaythere.open_element ("section", {"ng-controller":"adminCtrl", "style":"width:600px;margin:0px auto;"})

        adaythere.open_element ("div", {"id":"admin_profile_div"})

        type = self.request.get ('type', default_value=None)

        if type is not None:
            if type == 'profiles':
                self.get_profile_form (adaythere)
            elif type == 'days':
                self.get_days_form (adaythere)

        adaythere.close_element ("div")

        adaythere.close_element ("section")

        adaythere.open_element ("footer", {"id":"page_footer"})
        adaythere.open_element ("p", None, "© 2014 SoftSprocket")
        adaythere.close_element ("p")
        adaythere.close_element ("footer")

        self.response.status = 200
        self.response.write (adaythere.get ())
コード例 #2
0
ファイル: main.py プロジェクト: softsprocket/adaythere
class ToolsHandler (webapp2.RequestHandler):
    def __init__(self, request, response):
        self.initialize(request, response)
        
        locale = self.request.GET.get ('locale', 'en_US')
        i18n.get_i18n ().set_locale (locale)

        self.user = users.get_current_user ()

        self.adaythere = ADayThere ()
        self.adaythere.add_meta_tags ([
            { "charset":"UTF-8" },
            { "http-equiv":"X-UA-Compatible", "content":"IE=edge" },
            { "name":"description", "content":"A social media site that celebrates the joys of place." },
            { "name":"viewport", "content":"initial-scale=1"}
        ])

        self.adaythere.add_links ([
            { "rel":"stylesheet", "href":"css/bootstrap.css" },
            { "rel":"stylesheet", "href":"css/adaythere.css" }
        ])


        maps = Maps ()

        self.adaythere.add_script_tags_for_body ([
            { "src":"js/jquery-1.11.0-beta2.js" },
            { "src":"js/angular/angular.min.js" },
            { "src":"js/angular/angular-route.min.js" },
            { "src":"js/ui-bootstrap-tpls-0.10.0.min.js" },
            { "src": maps.get_script_src () },
            { "src":"js/adaythere.js" },
            { "src":"https://apis.google.com/js/platform.js", "async":None, "defer":None }
        ])


    def get (self):
        """
            Check and see if the user is logged in through
            google. If so set up logged in view else
            setup not logged in view.
        """


        db_user = None
        navView = None
        logged_in = False
        if self.user is None:
            navView = LoggedOutNavView ()
        else:
            db_user = User.query_user_id (str (self.user.user_id ()))

            if db_user is None:
                db_user = User.record_from_google_user (self.user)

            if db_user.banned:
                navView = LoggedOutNavView ()
            else:
                navView = LoggedInNavView (db_user)
                logged_in = True

            
        adminProfileModal = AdminProfileModal ()
        contributorModal = BecomeAContributorModal ()
        
        sidebar_display = """
                <li id="sidebar_display_menu_item" ng-controller="sidebarDisplayCtrl" style="list-style:none; position:absolute; right:10px; top:5px">
                    <a href ng-show="sidebar_link.map_is_displayed" ng-click="toggle_sidebar ()">
                    {{ sidebar_display.menu_text }}
                    </a>
                </li>
        """

        self.adaythere.open_element ("header", {"id":"page_header"})
        self.adaythere.open_element ("h1", {"id":"page_heading"}, "A Day There")
        self.adaythere.close_element ("h1")
        self.adaythere.open_element ("nav")
        self.adaythere.append_to_element (navView.get ())
        self.adaythere.close_element ("nav")
        self.adaythere.open_element ("div")
        self.adaythere.append_to_element (adminProfileModal.get ())
        self.adaythere.close_element ("div")
        self.adaythere.open_element ("div")
        self.adaythere.append_to_element (contributorModal.get ())
        self.adaythere.close_element ("div")
        self.adaythere.append_to_element (sidebar_display)
        self.adaythere.close_element ("header")

        self.adaythere.open_element ("div", { "ng-controller":"daysSearchCtrl"})
        
        self.adaythere.open_element ("section", { "id":"welcome_to_left" })
        self.adaythere.append_to_element ("""
                    <img src="img/logo.png" width="60%"></img>
                    <p><h1 style="font-style:italic;text-align:center;font-size:large;">Celebrating the joys of place.</h3></p>
                """)
        self.adaythere.close_element ("section")
        
        self.adaythere.open_element ("section", { "id":"welcome_to_right" })
        self.adaythere.append_to_element ("""<div id="google_like_main" style="float:right;"> <div class="g-plusone" data-size="medium" data-annotation="inline" data-width="250"></div></div>""")
        self.adaythere.close_element ("section")

        self.adaythere.open_element ("section", { "id": "daysearch_overlay" })
        day_search = DaySearch ()
        search_form = day_search.get ()
        self.adaythere.append_to_element (search_form)
        self.adaythere.close_element ("section")


        self.adaythere.open_element ("section", { "id":"find_a_day" })

        self.adaythere.append_to_element ("""
                    <img src="img/logo.png" width="30%"></img>
                    <p><h1 style="font-style:italic;text-align:center;font-size:large;">Celebrating the joys of place.</h3></p>
                """)

        self.adaythere.append_to_element (day_search.get_days_display ())
        self.adaythere.close_element ("section")
    
        self.adaythere.close_element ("div")

        self.adaythere.append_to_element (MapTools.map_elements (logged_in).get ())

        self.adaythere.open_element ("div", { "id":"hello_login_popup" })
        self.adaythere.append_to_element ("""
            <h3>Click the link above to login</h3>
            <p>The white bar is a menu bar and the links drop down menus. Login for more functionality"</p>
        """)
        self.adaythere.close_element ("div")
        self.adaythere.open_element ("div", { "id":"hello_search_popup" })
        self.adaythere.append_to_element ("""
            <h3>The search tools</h3>
            <p>The search tools let you find days that have been created. Login to create your own days.</p>
        """)
        self.adaythere.close_element ("div")
        self.adaythere.open_element ("div", { "id":"hello_help_popup" })
        self.adaythere.append_to_element ("""
            <h3>Help</h3>
            <p>Use the help link in the menu. You'll also find these: <a href popover="Welcome to A Day There" popover-trigger="mouseenter"><strong>?</strong></a> 
            in places and if you place your mouse cursor over them some information will popup."</p>
        """)
        self.adaythere.close_element ("div")
        self.adaythere.open_element ("footer", {"id":"page_footer"})
        self.adaythere.open_element ("p", None, "&copy; 2014 SoftSprocket")
        self.adaythere.close_element ("p")
        self.adaythere.close_element ("footer")

        self.response.write (self.adaythere.get ())