Example #1
0
    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()
Example #2
0
    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 -->
            ''')
Example #3
0
    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 -->
            ''')
Example #4
0
    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()
Example #6
0
    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()
Example #7
0
    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>')
Example #8
0
    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&ndash;%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 -->')