Example #1
0
    def logged_in_user(cls):
        user = users.get_current_user()
        if user is None:
            return False, None

        db_user = User.query_user_id(str(user.user_id()))

        if db_user is None:
            db_user = User.record_from_google_user (user)
                    
        return True, db_user
Example #2
0
    def tool_user(cls):
        user = users.get_current_user()

        if user is None:
            return False, None

        db_user = User.query_user_id(str(user.user_id()))
        if db_user is None or db_user.banned or not db_user.has_tool_access:
            return False, db_user

        return True, db_user
Example #3
0
    def __init__(self, user):

        if user.user_id() is not None:
            self.stored_user = User.query_user_id(str(user.user_id()))
        elif user.email() is not None:
            self.stored_user = User.query_email(user.email())
        elif user.nickname() is not None:
            self.stored_user = User.query_name(user.nickname())
        else:
            self.stored_user = None
            
        if self.stored_user is None:
            self.__create_user_record(user)
Example #4
0
    def post (self):
        
        tool_user, db_user = ADayThere.tool_user ()

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

        user = json.loads (self.request.body)
        record = User.query_user_id (user['user_id'])
        
        if 'type' not in self.request.GET.keys ():
            self.response.status = 400
        else:
            tp = self.request.GET['type']
            if tp == 'ban':
                record.banned = user['banned']
                record.put ()
                self.response.status = 200
            else:
                self.response.status = 400
Example #5
0
    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 ())
Example #6
0
    def __init__ (self, userid):

        self.user = User.query_user_id (userid)