Esempio n. 1
0
    def get(self):
        self.get_current_user()
        kwargs = dict(self.application.static_kwargs)
        kwargs['page_name'] = 'mobile_admin'
        kwargs['config'] = config
        kwargs['access_level'] = None

        ## check for logout
        logout_value = self.get_argument('logout', None)
        if logout_value == '1':
            self.clear_cookie('admin_code')
            self.redirect('/mobile/admin')

        ## check admin code
        admin_code = self.get_argument('admin_code', None)
        if admin_code is None:
            admin_code = self.get_secure_cookie('admin_code')

        if admin_code is None:
            kwargs['admin_status'] = False
            self.write(
                self.application.loader.load('mobile/admin.html').generate(
                    **kwargs))
            return

        resource = Resource(self.db, config)
        results = resource.verify_admin(admin_code)
        if results['meta']['status'] == 'OK':
            kwargs['admin_status'] = True
            kwargs['access_level'] = results['access_level']
            kwargs['resource_object'] = results['response']
            self.set_secure_cookie('admin_code', admin_code)
        else:
            kwargs['admin_status'] = False
            kwargs['access_level'] = False

        ## bedcount
        if kwargs['admin_status'] is True:
            addbed = self.get_argument('addbed', None)
            delbed = self.get_argument('delbed', None)

            if addbed == '1':
                resource = Resource(self.db, config)
                results2 = resource.add_bed(admin_code)

            if delbed == '1':
                resource = Resource(self.db, config)
                results2 = resource.del_bed(admin_code)

        resource = Resource(self.db, config)
        results = resource.verify_admin(admin_code)
        kwargs['resource_object'] = results['response']

        self.write(
            self.application.loader.load('mobile/admin.html').generate(
                **kwargs))
Esempio n. 2
0
    def post(self):
        self.get_current_user()
        kwargs = dict(self.application.static_kwargs)
        kwargs['page_name'] = 'mobile/admin_update'
        kwargs['config'] = config
        kwargs['access_level'] = None

        ## check admin code
        admin_code = self.get_argument('admin_code', None)
        if admin_code is None:
            admin_code = self.get_secure_cookie('admin_code')

        if admin_code is None:
            kwargs['admin_status'] = False
            self.write(
                self.application.loader.load('mobile/admin.html').generate(
                    **kwargs))
            return

        resource = Resource(self.db, config)
        results = resource.verify_admin(admin_code)
        if results['meta']['status'] == 'OK':
            kwargs['admin_status'] = True
            kwargs['access_level'] = results['access_level']
            kwargs['resource_object'] = results['response']
            self.set_secure_cookie('admin_code', admin_code)
        else:
            kwargs['admin_status'] = False
            kwargs['access_level'] = results['access_level']

        ## resource update
        if kwargs['admin_status'] is True:
            input_data = {}
            input_data['name_1'] = self.get_argument('name_1', None)
            input_data['name_2'] = self.get_argument('name_2', None)
            input_data['street_1'] = self.get_argument('street_1', None)
            input_data['street_2'] = self.get_argument('street_2', None)
            input_data['city'] = self.get_argument('city', None)
            input_data['state'] = self.get_argument('state', None)
            input_data['zipcode'] = self.get_argument('zipcode', None)
            input_data['phone'] = self.get_argument('phone', None)
            input_data['url'] = self.get_argument('url', None)
            input_data['hours'] = self.get_argument('hours', None)
            input_data['notes'] = self.get_argument('notes', None)
            input_data['va_status'] = self.get_argument('va_status', None)
            input_data['contact_name'] = self.get_argument(
                'contact_name', None)
            input_data['email_address'] = self.get_argument(
                'email_address', None)

            resource = Resource(self.db, config)
            results = resource.update_resource(admin_code, input_data)
            self.redirect('/mobile/admin/update')
Esempio n. 3
0
 def post(self):
     admin_key = self.get_argument('admin_key', None)
     admin_code = self.get_argument('admin_code', None)
     resource_type = self.get_argument('resource_type', None)
     va_status = self.get_argument('va_status', None)
     name_1 = self.get_argument('name_1', None)
     name_2 = self.get_argument('name_2', None)
     street_1 = self.get_argument('street_1', None)
     street_2 = self.get_argument('street_2', None)
     city = self.get_argument('city', None)
     state = self.get_argument('state', None)
     zipcode = self.get_argument('zipcode', None)
     lat = self.get_argument('lat', None)
     lng = self.get_argument('lng', None)
     phone = self.get_argument('phone', None)
     url = self.get_argument('url', None)
     hours = self.get_argument('hours', None)
     notes = self.get_argument('notes', None)
     beds = self.get_argument('beds', None)
     hmis_program = self.get_argument('hmis_program', None)
     resource = Resource(self.db, config)
     self.write(
         resource.new_shelter(admin_key, admin_code, resource_type,
                              va_status, name_1, name_2, street_1, street_2,
                              city, state, zipcode, lat, lng, phone, url,
                              hours, notes, beds, hmis_program))
Esempio n. 4
0
    def post(self):
        title = self.get_argument('title', None)
        description = self.get_argument('description', '')
        address = self.get_argument('address', '')
        city = self.get_argument('city', '')
        state = self.get_argument('state', '')
        zipcode = self.get_argument('zipcode', '')
        phone = self.get_argument('phone', '')
        url = self.get_argument('url', '')
        email = self.get_argument('email', '')
        opp_type = self.get_argument('opp_type', '')

        resource = Resource(self.db, config)
        request_result = resource.new_job_post(title, description, address,
                                               city, state, zipcode, phone,
                                               url, email, opp_type)
        if request_result['meta']['status'] == 'ERROR':
            self.get_current_user()
            kwargs = dict(self.application.static_kwargs)
            kwargs['page_name'] = 'mobile_job_new'
            kwargs['config'] = config
            kwargs['done'] = 0
            kwargs['job_id'] = None
            self.write(
                self.application.loader.load('mobile/job_new.html').generate(
                    **kwargs))
        else:
            next_url = '/mobile/job/new?done=1&job_id=%s' % (
                request_result['response']['resource_id'])
            self.redirect(next_url)
Esempio n. 5
0
    def post(self):
        resource_type = self.get_argument('resource_type', '')
        name = self.get_argument('name', '')
        email = self.get_argument('email', '')
        address = self.get_argument('address', '')
        city = self.get_argument('city', '')
        state = self.get_argument('state', '')
        zipcode = self.get_argument('zipcode', '')
        hours = self.get_argument('hours', '')
        notes = self.get_argument('notes', '')
        phone = self.get_argument('phone', '')
        url = self.get_argument('url', '')
        va_status = self.get_argument('va_status', '')

        resource = Resource(self.db, config)
        request_result = resource.request_shelter(resource_type, name, email,
                                                  address, city, state,
                                                  zipcode, hours, notes, phone,
                                                  url, va_status)

        if request_result['meta']['status'] == 'ERROR':
            self.get_current_user()
            kwargs = dict(self.application.static_kwargs)
            kwargs['page_name'] = 'mobile_shelter_register'
            kwargs['config'] = config
            kwargs['done'] = 0
            kwargs['resource_id'] = None
            self.write(
                self.application.loader.load(
                    'mobile/shelter_register.html').generate(**kwargs))
        else:
            next_url = '/mobile/shelter/register?done=1'
            self.redirect(next_url)
Esempio n. 6
0
 def get(self):
     kind = self.get_argument('kind', None)
     lat = self.get_argument('lat', None)
     lng = self.get_argument('lng', None)
     radius = self.get_argument('radius', None)
     resource = Resource(self.db, config)
     self.write(resource.list(kind, lat, lng, radius))
Esempio n. 7
0
    def get(self):
        admin_key = self.get_argument('admin_key', None)
        resource_type = self.get_argument('resource_type', None)
        va_status = self.get_argument('va_status', '0')
        name_1 = self.get_argument('name', None)
        name_2 = self.get_argument('name_2', '')
        street_1 = self.get_argument('address', None)
        street_2 = self.get_argument('street_2', '')
        city = self.get_argument('city', None)
        state = self.get_argument('state', None)
        zipcode = self.get_argument('zipcode', None)
        phone = self.get_argument('phone', None)
        url = self.get_argument('url', None)
        email = self.get_argument('email', None)
        hours = self.get_argument('hours', 'Call for hours')
        notes = self.get_argument('notes', None)
        beds = self.get_argument('beds', 0)
        lat = self.get_argument('lat', None)
        lng = self.get_argument('lng', None)

        resource = Resource(self.db, config)
        self.write(
            resource.complete_register(admin_key, resource_type, va_status,
                                       name_1, name_2, street_1, street_2,
                                       city, state, zipcode, phone, email, url,
                                       hours, notes, beds, lat, lng))
Esempio n. 8
0
 def get(self):        
     self.get_current_user()
     kwargs = dict(self.application.static_kwargs)
     kwargs['page_name'] = 'resource_profile'
     kwargs['config'] = config
     resource_id = self.get_argument('resource_id', None)       
     try: 
         resource = Resource(self.db, config)
         results = resource.get(resource_id)
         kwargs['resource_object'] = results['response']
         self.write(self.application.loader.load('resource_profile.html').generate(**kwargs))
     except:
         self.redirect('/')
Esempio n. 9
0
 def post(self):
     name = self.get_argument('name', '')
     email = self.get_argument('email', '')
     address = self.get_argument('address', '')
     city = self.get_argument('city', '')
     state = self.get_argument('state', '')
     zipcode = self.get_argument('zipcode', '')
     hours = self.get_argument('hours', '')
     notes = self.get_argument('notes', '')
     resource = Resource(self.db, config)
     self.write(
         resource.request_shelter(name, email, address, city, state,
                                  zipcode, hours, notes))
Esempio n. 10
0
 def post(self):
     name_1 = self.get_argument('name_1', '')
     street_1 = self.get_argument('street_1', '')
     city = self.get_argument('city', '')
     state = self.get_argument('state', '')
     zipcode = self.get_argument('zipcode', '')
     phone = self.get_argument('phone', '')
     lat = self.get_argument('lat', '')
     lng = self.get_argument('lng', '')
     
     resource = Resource(self.db, config)
     results = resource.add_food_from_scrape(name_1, street_1, city, state, zipcode, phone, lat, lng)
     pprint(results)
     self.write(results)
Esempio n. 11
0
    def get(self):
        self.get_current_user()
        kwargs = dict(self.application.static_kwargs)
        kind = self.get_argument('kind')
        kwargs['page_name'] = kind
        kwargs['config'] = config
        query = self.get_argument('query', None)
        radius = self.get_argument('radius', None)
        if query is None or query == '':
            lat = self.get_argument('lat', None)
            lng = self.get_argument('lng', None)
            if lat is None or lng is None:
                lat = '40.050137'
                lng = '-74.221251'
            if radius is None:
                radius = '100'
        else:
            query = self.get_argument('query', None)
            google = GoogleGeo(self.db, config)
            query_results = google.address_search(query)
            query_array = query_results['response']

            ## get 1st result
            lat = query_array[0]['geometry']['location']['lat']
            lng = query_array[0]['geometry']['location']['lng']
            if radius is None:
                radius = '100'

        geo_results = Geocoder.reverse_geocode(float(lat), float(lng))
        kwargs['full_address'] = geo_results[0]

        resource = Resource(self.db, config)
        results = resource.list(kind, lat, lng, radius)
        kwargs['resource_objects'] = results['response']
        if int(len(results['response'])) == 0:
            self.write(
                self.application.loader.load(
                    'mobile/resources_none.html').generate(**kwargs))
            return

        if kind == 'employment':
            jobs = resource.list('job', lat, lng, radius)
            kwargs['jobs'] = jobs['response']

            job_gig = resource.list('job_gig', lat, lng, radius)
            kwargs['job_gig'] = job_gig['response']

        self.write(
            self.application.loader.load('mobile/resources.html').generate(
                **kwargs))
Esempio n. 12
0
 def post(self):
     resource_type = self.get_argument('resource_type', None)
     name = self.get_argument('name', '')
     email = self.get_argument('email', '')
     address = self.get_argument('address', '')
     city = self.get_argument('city', '')
     state = self.get_argument('state', '')
     zipcode = self.get_argument('zipcode', '')
     hours = self.get_argument('hours', '')
     notes = self.get_argument('notes', '')
     phone = self.get_argument('phone', '')
     url = self.get_argument('url', '')
     va_status = self.get_argument('va_status', '')
     resource = Resource(self.db, config)
     request_result = resource.request_shelter(resource_type, name, email, address, city, state, zipcode, hours, notes, phone, url, va_status)
     self.redirect('/ios/shelter/register?done=1')
Esempio n. 13
0
    def get(self):        
        self.get_current_user()
        kwargs = dict(self.application.static_kwargs)
        kwargs['page_name'] = 'ios/admin_update'
        kwargs['config'] = config
        kwargs['access_level'] = None

        ## check for logout
        logout_value = self.get_argument('logout', None)
        if logout_value == '1':
            self.clear_cookie('admin_code')
            self.redirect('/ios/admin')

        ## check admin code
        admin_code = self.get_argument('admin_code', None)
        if admin_code is None:
            admin_code = self.get_secure_cookie('admin_code')        

        if admin_code is None:
            kwargs['admin_status'] = False
            self.write(self.application.loader.load('ios/admin.html').generate(**kwargs))
            return
            
        resource = Resource(self.db, config)
        results = resource.verify_admin(admin_code)
        if results['meta']['status'] == 'OK':
            kwargs['admin_status'] = True
            kwargs['access_level'] = results['access_level']
            
            if results['response']['name_2'] is None: results['response']['name_2'] = ''
            if results['response']['street_2'] is None: results['response']['street_2'] = ''
            if results['response']['phone'] is None: results['response']['phone'] = ''
            if results['response']['url'] is None: results['response']['url'] = ''
            if results['response']['hours'] is None: results['response']['hours'] = ''
            if results['response']['notes'] is None: results['response']['notes'] = ''
            
            kwargs['resource_object'] = results['response']
            self.set_secure_cookie('admin_code', admin_code)
        else:
            kwargs['admin_status'] = False
            kwargs['access_level'] = results['access_level']
                
        self.write(self.application.loader.load('ios_admin_update.html').generate(**kwargs))
Esempio n. 14
0
 def post(self):
     token = self.get_argument('token', None)
     resource_type = self.get_argument('resource_type', None)
     va_status = self.get_argument('va_status', None)
     name_1 = self.get_argument('name_1', None)
     name_2 = self.get_argument('name_2', None)
     street_1 = self.get_argument('street_1', None)
     street_2 = self.get_argument('street_2', None)
     city = self.get_argument('city', None)
     state = self.get_argument('state', None)
     zipcode = self.get_argument('zipcode', None)
     lat = self.get_argument('lat', None)
     lng = self.get_argument('lng', None)
     phone = self.get_argument('phone', None)
     url = self.get_argument('url', None)
     hours = self.get_argument('hours', None)
     notes = self.get_argument('notes', None)
     resource = Resource(self.db, config)
     self.write(resource.public_api_new(token, resource_type, va_status, name_1, name_2, street_1, street_2, city, state, zipcode, lat, lng, phone, url, hours, notes))
Esempio n. 15
0
 def post(self):
     admin_code = self.get_argument('admin_code', None)
     resource = Resource(self.db, config)
     self.write(resource.verify_admin(admin_code))
Esempio n. 16
0
 def post(self):
     resp = twilio.twiml.Response()
     zipcode = self.get_argument('Digits', None)
     zipcode = zipcode.replace('#', '').replace('*', '')[:5]
     resource = Resource(self.db, config)
     self.write(resource.voice_zipcode(zipcode))
Esempio n. 17
0
 def post(self):
     name = self.get_argument('name', None)
     email = self.get_argument('email', None)
     resource = Resource(self.db, config)
     self.write(resource.request_apikey(name, email))
Esempio n. 18
0
 def post(self):
     resource_id = self.get_argument('resource_id', None)
     kind = self.get_argument('kind', None)
     destination = self.get_argument('destination', None)
     resource = Resource(self.db, config)
     self.write(resource.share(resource_id, kind, destination))
Esempio n. 19
0
 def post(self):
     resp = twilio.twiml.Response()
     from_number = self.get_argument('From', None)
     #text_content = self.get_argument('Body', None)
     resource = Resource(self.db, config)
     self.write(resource.voice_inbound(from_number))
Esempio n. 20
0
 def post(self):
     admin_code = self.get_argument('admin_code', None)
     number = self.get_argument('number', None)
     resource = Resource(self.db, config)
     self.write(resource.update_bed(admin_code, number))
Esempio n. 21
0
 def post(self):
     token = self.get_argument('token', None)
     number = self.get_argument('number', None)
     resource_id = self.get_argument('resource_id', None)
     resource = Resource(self.db, config)
     self.write(resource.public_api_update_bed(token, resource_id, number))
Esempio n. 22
0
 def get(self):
     resource_id = self.get_argument('resource_id', None)
     resource = Resource(self.db, config)
     self.write(resource.get(resource_id))
Esempio n. 23
0
 def post(self):
     name = self.get_argument('name', None)
     email = self.get_argument('email', None)
     resource = Resource(self.db, config)
     request_result = resource.request_apikey(name, email)
     self.redirect('/developer/register?done=1')
Esempio n. 24
0
 def post(self):
     token = self.get_argument('token', None)
     resource_id = self.get_argument('resource_id', None)
     resource = Resource(self.db, config)
     self.write(resource.public_api_del_bed(token, resource_id))