def writeBodyParts(self): ILI = is_logged_in(self.request()) ISA = is_site_admin(self.request()) wr = self.writeln self.writeHeader() self.writeSubHeader() wr(''' <div class="container" id="body-container"> <div class="row"> <!-- LEFT MENU COLUMN ###################################################### --> <div class="col-md-3" id="side-menu"> ''') self.writeNav() wr(''' </div><!-- .col-md-3 #side-menu --> <!-- RIGHT CONTENT COLUMN ###################################################### --> <div class="col-md-9" id="main-content"> ''') if ILI or ISA: self.writeContent() else: self.writeln('<h1>You must be logged in to access this page.</h1>') wr(''' </div><!-- .col-md-9 --> </div><!-- .row --> </div><!-- #body-container --> ''') self.writeFooter()
def writeHeader(self): IS_LOGGED_IN = is_logged_in(self.request()) global IS_LOGGED_IN wr = self.writeln wr(''' <div class="container" id="header"> <a href="http://www.acvaa.org/"><img width="709" height="184" alt="ACVAA logo and wordmark" src="/g/header_2015.png" class="img-responsive" border="0"></a> </div><!-- #header --> ''')
def writeContent(self): wr = self.writeln req = self.request() ILI = is_logged_in(req) rolestr = self.request().cookies().get('role', '') IS_RES = rolestr == RESDSTR IS_DIP = rolestr == DIPLSTR qs = req.fields() g = qs.get('g') ISA = is_site_admin(self.request()) ERROR = None if ISA: pass else: if g == 'd': if ILI: if IS_DIP: pass else: ERROR = 'You are not a Diplomate.' else: ERROR = 'You are not logged in.' elif g == 'r': if ILI: if (IS_DIP or IS_RES): pass else: ERROR = 'You are neither a Candidate nor a Diplomate.' # this should never happen else: ERROR = 'You are not logged in.' if ERROR: wr('<h1 class="error">Sorry.</h1>') wr('<P>You cannot access this section of the ACVAA website for the following reason:</P>') wr('<P>%s</P>' % ERROR) else: ex1 = self.getCookieExpiry('maxAge', y=10) ex2 = self.getCookieExpiry('Expires', y=10) self.setCookie('g', g, ex1, ex2) from_url = qs.get('from_url', '/') self.response().sendRedirect(from_url)
def writeBodyParts(self): ILI = is_logged_in(self.request()) ISA = is_site_admin(self.request()) wr = self.writeln self.writeHeader() self.writeSubHeader() wr(''' <div class="container" id="body-container"> <div class="row"> <!-- LEFT MENU COLUMN ###################################################### --> <div class="col-md-3" id="mobile-side-menu"> <div id="show-mobile-menu" class="btn btn-orange btn-sm"> Show Menu </div> </div> <div class="col-md-3" id="side-menu"> ''') self.writeNav() wr(''' </div><!-- .col-md-3 #side-menu --> <!-- RIGHT CONTENT COLUMN ###################################################### --> <div class="col-md-9" id="main-content"> ''') if ILI or ISA: self.writeContent() else: self.writeln('<h1>You must be logged in to access this page.</h1>') wr(''' </div><!-- .col-md-9 --> </div><!-- .row --> </div><!-- #body-container --> ''') self.writeFooter()
def writeBodyParts(self): ILI = is_logged_in(self.request()) ISA = is_site_admin(self.request()) wr = self.writeln self.writeHeader() self.writeSubHeader() wr( """ <div class="container" id="body-container"> <div class="row"> <!-- LEFT MENU COLUMN ###################################################### --> <div class="col-md-3" id="side-menu"> """ ) self.writeNav() wr( """ </div><!-- .col-md-3 #side-menu --> <!-- RIGHT CONTENT COLUMN ###################################################### --> <div class="col-md-9" id="main-content"> """ ) if ILI or ISA: self.writeContent() else: self.writeln("<h1>You must be logged in to access this page.</h1>") wr( """ </div><!-- .col-md-9 --> </div><!-- .row --> </div><!-- #body-container --> """ ) self.writeFooter()
def writeContent(self): wr = self.writeln ISA = is_site_admin(self.request()) ILI = is_logged_in(self.request()) qs = self.request().fields() role = qs.get('role') archived = qs.get('archived', None) display_results = False docslist = [] titlerole = 'Everyone' role_to_check = [] if role: # Explicit if role not in RESTRICTED_ROLES: titlerole = role docslist = get_docs_by_access(role, archived) display_results = True role_to_check = role else: # Role-based if ILI: username = self.request().cookies().get('username') useracct = get_user_acct(username) userroles = useracct.get('roles') modroles = modify_user_roles(userroles) role_to_check = modroles titlerole = ' & '.join(listify_a_thing(modroles)) docslist = get_docs_by_access(modroles, archived) display_results = True if ISA: wr('<p><a href="DM_Index" class="btn btn-default">Document Management</a></p>') # Show archives sidebar? archives_exist = do_archived_docs_exist(role_to_check) if archives_exist: if archived: arch_url = 'DM_View?' arch_text = 'Active Documents' else: arch_url = 'DM_View?archived=True' arch_text = 'Archived Documents' if role: arch_url += '&role=%s' % (role) wr('<div class="sb"><div class="st"><a href="%s">%s</a></div></div>' % (arch_url, arch_text)) # Display the documents' info if display_results: desc_dict = get_descriptions() if docslist: wr('<h1>') if archived: wr('Archived') wr('Documents for %s</h1>' % (titlerole)) wr('<div style="font-size: 10pt;">Click the <i class="fa fa-caret-down"></i> or <i class="fa fa-caret-right"></i> to show/hide sections.</div>') all_cats_sorted = get_all_possible_categories() docs_by_cat = group_docs_by_category(docslist) for MCAT in all_cats_sorted: if MCAT in docs_by_cat: wr('<h2 style="color: #324150; border-top: 1px dotted #324150;">%s' % (MCAT)) wr('<i class="fa fa-caret-down doc_hider" id="%s"></i>' % (MCAT)) wr('</h2>') wr('<div id="%s_content">' % (MCAT)) local_doc_list = docs_by_cat.get(MCAT, []) for doctitle, docfile in local_doc_list: wr('<h3><a href="/DocRepo/%s">%s</a></h3>' % (docfile, doctitle)) wr('<p style="margin-top: 0px;">') if desc_dict.get(docfile): wr('<span style="font-style: italic; color: #999999;">%s</span><br>' % (desc_dict.get(docfile))) wr('Filename: %s</p>' % (docfile)) wr('</div>') else: wr('<h3>Sorry, there are no documents to display.</h3>') else: wr('<h3>Sorry, there are no documents to display.</h3>')
def format_list(self, all, list_type=""): wr = self.writeln qs = self.request().fields() FOR_HIRE = qs.get('consult') ILI = is_logged_in(self.request()) viewer = self.request().cookies().get('username', '') rolestr = self.request().cookies().get('role', '') IS_RES = rolestr == RESDSTR IS_DIP = rolestr == DIPLSTR aks = all.keys() aks = sorted(aks, key=lambda x: (x.isdigit() and float(x)) or x.lower()) wr('<div id="directory">') for k in aks: d = all[k] if d.get('sec_policy') == 'paranoid': pass else: wr('<div class="dir-entry">') dname = '' if d.get('salute'): dname = '%s ' % (d['salute']) dname += '%s %s %s' % (d.get('fn', ''), d.get( 'mi', ''), d.get('sn', '')) if d.get('title'): dname += ', %s' % (d['title']) if d.get('degrees'): dname += ', %s' % (d['degrees']) if d.get('username') == viewer: wr('<span class="button"><a href="Account">Your Account</a></span>' ) wr('<h2>%s</h2>' % (dname)) else: # Country Flag Icon - Neato! try: wr(get_flag(d.get('country'), align="right")) except AttributeError: pass wr('<h2>%s</h2>' % (dname)) if list_type == 'h': if d.get('institution'): wr('%s<br>' % (d.get('institution'))) if d.get('country'): wr('%s<br>' % (d.get('country'))) if d.get('conferred'): wr('Conferred: %s' % (d.get('conferred'))) elif list_type == 'm': if d.get('institution'): wr('%s<br>' % (d.get('institution'))) if d.get('country'): wr('%s<br>' % (d.get('country'))) if d.get('birthyear') or d.get('deathyear'): wr('%s–%s' % (d.get('birthyear', ''), d.get('deathyear', ''))) else: wr('<table><tr><td>') ####====#### ################## # ADDRESS ################## addr = '%s, %s' % (d.get('city'), d.get('state')) if d.get('show_address') == 'hide': pass elif d.get('show_address') == 'diplomates': if ILI and IS_DIP: addr = self.get_full_addr(d) elif d.get('show_address') == 'both': if ILI and (IS_DIP or IS_RES): addr = self.get_full_addr(d) elif d.get('show_address') == 'all': addr = self.get_full_addr(d) wr('<P>%s</P>' % (addr)) wr('<td style="padding-left: 30px;">') ####====#### ################## # NUMBERS ################## nums = '' if d.get('show_numbers') == 'hide': pass elif d.get('show_address') == 'diplomates': if ILI and IS_DIP: nums = self.get_numbers(d) elif d.get('show_address') == 'both': if ILI and (IS_DIP or IS_RES): nums = self.get_numbers(d) elif d.get('show_address') == 'all': nums = self.get_numbers(d) wr('<P>%s</P>' % (nums)) wr('<td style="padding-left: 30px;">') ####====#### ################## # EMAIL ################## email = '' if d.get('show_email') == 'hide': pass elif d.get('show_email') == 'diplomates': if ILI and IS_DIP: email = d.get('email', '') elif d.get('show_email') == 'both': if ILI and (IS_DIP or IS_RES): email = d.get('email', '') elif d.get('show_email') == 'all': email = d.get('email', '') wr('<P>%s</P>' % (email)) wr('</table>') ####====#### if FOR_HIRE: fh_area = d.get('for_hire_areas') if fh_area: wr('<p>') wr('<b>Area(s) Served:</b><br />') fh_area = fh_area.replace('\r', '<br />') wr(fh_area) wr('</p>') fh_svcs = d.get('for_hire_services') if fh_svcs: wr('<p>') wr('<b>Services Offered:</b><br />') fh_svcs = fh_svcs.replace('\r', '<br />') wr(fh_svcs) wr('</p>') fh_url = d.get('for_hire_url') if fh_url: wr('<p>') wr('<a href="%s">%s</a>' % (fh_url, fh_url)) wr('</p>') wr('</div><!-- .dir-entry -->') wr('</div><!-- directory -->')