def writeContent(self): wr = self.writeln form = self.request().fields() n, t = form.get('n'), form.get('t') IS_SITE_ADMIN = is_site_admin(self.request()) if self.request()._environ.get('REQUEST_METHOD') == 'POST': if IS_SITE_ADMIN: if n and t: del_donor(t, n) self.response().sendRedirect('Donors') else: wr('You are not authorized to perform this action.') else: wr(''' <form method="POST" action="Donor_Del"> Are you sure you want to remove this donor from the list? <input type="hidden" name="n" value="%s"> <input type="hidden" name="t" value="%s"> <br /><br /> <b>%s</b> <br /><br /> <input type="submit" value="Yes"> <input type="button" value="No. Leave them kids alone." onClick="javascript:history.go(-1)"> </form> ''' % (n, t, n))
def writeContent(self): wr = self.writeln wr('<h1>%s</h1>' % (self.title())) self.sidebar() IS_SITE_ADMIN = is_site_admin(self.request()) if IS_SITE_ADMIN: wr(''' <p> <form action="Donor_Add" method="POST"> Name: <input type="text" name="name" value=""> <select name="type"> <option value="r">Regular</option> <option value="c">Charter</option> <option value="f">Founder</option> </select> <input type="submit" value="Add Donor"> </form> </p> ''') wr('<p>The ACVAA Foundation would like to thank the following:</p>') for ttl, cat in [ ('ACVAA Founders', 'f'), ('ACVAA Charter Donors', 'c'), ('ACVAA Supporters', 'r'), ]: lst = get_donors(cat) if lst: wr('<h2>%s</h2>' % (ttl)) wr('<p><ul class="list">') for n in lst: wr('<li> %s' % (n)) if IS_SITE_ADMIN: wr('<a href="Donor_Del?n=%s&t=%s"><img src="/g/delete.png" alt="delete" border="0"></a>' % (n, cat)) wr('</ul></p>')
def writeContent(self): wr = self.writeln IS_SITE_ADMIN = is_site_admin(self.request()) if IS_SITE_ADMIN: wr('<div class="button">') wr('<a href="../News_Form?annual=1">+ Add News Item</a>') wr('</div>') wr('<h1>%s</h1>' % (self.title())) newsitems = get_annual_news() wr(''' <div class="flt_r"> <img src="/g/annual_mtg.jpg" width="200" height="169" alt="2011 ACVAA Annual Meeting" border="0" /> </div> ''') if newsitems: for nd in newsitems: ndid = nd.get('id') wr('<h2>%s</h2>' % (nd.get('headline'))) if ndid != '9999999999': # we use 9999999999 to pin the details item to the top of the page wr('<small>Added %s</small>' % (nd.get('added'))) if IS_SITE_ADMIN: wr('<a href="../News_Form?id=%s&annual=1" style="margin-left: 10px;"><img src="/g/edit.png" alt="edit" width="17" height="17" border="0" /></a>' % (nd.get('id'))) wr('<a href="../News_Delete?id=%s&annual=1"><img src="/g/delete.png" alt="delete" width="17" height="17" border="0" /></a>' % (nd.get('id'))) wr('<p>%s</p>' % (nd.get('description'))) else: wr('<h3>Sorry, there aren\'t any news items for the annual meeting yet.</h3>')
def writeContent(self): wr = self.writeln qs = self.request().fields() viewyear = qs.get('yr', str(get_year())) IS_SITE_ADMIN = is_site_admin(self.request()) if IS_SITE_ADMIN: wr('<div class="button">') wr('<a href="Minutes_Form">+ Add Minutes</a>') wr('</div>') all = get_all_minutes() vyd = {} # viewyear_dict allyears = [] for x in all.keys(): mdate = all[x]['date'] minyear = mdate[-1] if minyear not in allyears: allyears.append(minyear) if minyear == viewyear: vyd[x] = all[x] # wr(vyd) allyears = sorted(allyears, key=lambda x: (x.isdigit() and float(x)) or x.lower()) allyears.reverse() wr('<h1>%s</h1>' % (self.title())) wr(''' <div class="sb"> <div class="st"> <div class="t12b">B.O.D. Links</div> <P><a href="Index">Board of Directors</a></P> <P><a href="Regions">Regions & Representatives</a></P> <div class="t12b">Minutes by Year</div> ''') for my in allyears: wr('<P class="t12"><a href="Minutes?yr=%s">%s</a></P>' % (my, my)) wr(''' </div> </div> ''') aks = vyd.keys() aks.sort(compnum) aks.reverse() for k in aks: meet_dict = vyd.get(k) M, D, Y = meet_dict.get('date') wr('<h2 style="margin-top: 30px;">%s %s, %s</h2>' % (FMONTHS.get(int(M)), D, Y)) wr('<P>%s</P>' % (meet_dict.get('summary'))) df = meet_dict.get('datafile') wr('<P>Click here to download: <a href="/BOD/minutes_docs/%s">%s</a></P>' % (df, df)) if IS_SITE_ADMIN: wr('<div><a href="Min_Delete_Confirm?id=%s"><img src="/g/delete.png" width="17" height="17" alt="Delete" border="0" /></a><a href="Min_Delete_Confirm?id=%s">Delete</a></div>' % (k, k))
def writeContent(self): wr = self.writeln IS_SITE_ADMIN = is_site_admin(self.request()) wr('<h1>%s</h1>' % (self.title())) if IS_SITE_ADMIN: if self.request()._environ.get('REQUEST_METHOD') == 'POST': form = self.request().fields() if form.get('delete') == '1': comm_id = form.get('comm_id') delete_committee(comm_id) self.response().sendRedirect('Index') elif form.get('rename') == '1': comm_id = form.get('comm_id') rename_committee(comm_id, form.get('comm_name')) self.response().sendRedirect('Index') else: newname = form.get('comm_name') if newname: this_id = add_committee(newname) redirURL = 'Edit_Form?comm_id=%s' % (this_id) else: redirURL = 'Add_Committee' self.response().sendRedirect(redirURL) else: qs = self.request().fields() comm_id = qs.get('comm_id') is_delete = qs.get('delete') if comm_id: comm_info = get_committee_info(comm_id) comm_name = comm_info.get('name') if is_delete: wr('<p>Are you sure you want to delete Committee: %s</p>' % (comm_name)) wr('<form method="POST" action="Committee_Form">') wr('<input type="hidden" name="comm_id" value="%s">' % (comm_id)) wr('<input type="hidden" name="delete" value="1">') wr('<p><input type="submit" value="Yes.">') wr('<input type="button" value="No! Leave this nice Committee alone." onClick="javascript:history.go(-1)"></p>') wr('</form>') else: wr('<form method="POST" action="Committee_Form">') wr('<p><input type="text" name="comm_name" value="%s"></p>' % (comm_name)) wr('<input type="hidden" name="comm_id" value="%s">' % (comm_id)) wr('<input type="hidden" name="rename" value="1">') wr('<p><input type="submit" value="Rename Product"></p>') wr('</form>') else: wr('<form method="POST" action="Committee_Form">') wr('<p><i class="fa fa-plus-circle" style="color: #00CC00;"></i> <input type="text" name="comm_name" value=""></p>') wr('<p><input type="submit" value="Add Committee"></p>') wr('</form>') else: wr('You must be logged in as an administrator to view this page.')
def writeContent(self): wr = self.writeln ISA = is_site_admin(self.request()) if ISA: wr('<div class="button">') wr('<a href="Program_Form">+ Add Program</a>') wr('</div>') wr('<h1>%s</h1>' % (self.title())) wr(''' <p> The following residency programs were registered with the ACVAA. Veterinarians interested in a residency program are encouraged to contact the program leaders. Please note that these are registered programs and not available positions. Available positions can be found under <a href="/Jobs">Employment Opportunities</a>. </p> ''') rezdict = get_residencies() rkeys = rezdict.keys() rkeys.sort() wr('<ol class="dec">') for rez in rkeys: progdict = rezdict[rez] wr('<li> %s' % (progdict.get('institution'))) if ISA: wr('<a href="Program_Form?id=%s"><img src="/g/edit.png" alt="edit" width="17" height="17" border="0" /></a>' % (progdict.get('id'))) wr('<a href="Delete_Program?id=%s"><img src="/g/delete.png" alt="delete" width="17" height="17" border="0" /></a>' % (progdict.get('id'))) wr('<br>') listing = progdict.get('listing').strip() listing = listing.replace('\r\n', '\n') listing = listing.replace('\n', '<br>') wr(listing) wr('<br>') lead1 = progdict.get('leader1name') lead2 = progdict.get('leader2name') x = 'Program leader' if lead1 and lead2: x += 's' wr('%s: ' % (x)) if lead1: lead1email = progdict.get('leader1email') if lead1email: wr('<a href="mailto:%s">%s</a>' % (lead1email, lead1)) else: wr(lead1) if lead2: wr(' & ') lead2email = progdict.get('leader2email') if lead2email: wr('<a href="mailto:%s">%s</a>' % (lead2email, lead2)) else: wr(lead2) wr('<br>') wr('</ol>')
def writeContent(self): wr = self.writeln form = self.request().fields() IS_SITE_ADMIN = is_site_admin(self.request()) if self.request()._environ.get('REQUEST_METHOD') == 'POST': if IS_SITE_ADMIN: n, t = form.get('name'), form.get('type') if n and t: add_donor(t, n) self.response().sendRedirect('Donors') else: wr('You are not authorized to perform this action.') else: wr('You are not authorized to perform this action.')
def sidebar(self, filename): wr = self.writeln wr('<div class="sb"><div class="st">') ISA = is_site_admin(self.request()) if ISA: wr('<div class="button">') wr('<a href="Edit_Document?fn=%s">Edit this Page</a>' % (filename)) wr('</div>') wr(''' <div class="t12b"><a href="/CPE/Index">Home</a></div> <P><a href="/CPE/Guidelines">ACVAA Endorsement Guidelines</a></P> <P><a href="/CPE/Summary">Summary of Endorsement Requirements</a></P> <P><a href="/CPE/Application">ACVAA Program Endorsement Application</a></P> <P><a href="/CPE/Programs">List of Endorsed Programs</a></P> <p><b>Questions?</b> Please feel free to contact us at <a href="mailto:[email protected]">[email protected]</a>.</p> </div></div> ''')
def writeContent(self): wr = self.writeln IS_SITE_ADMIN = is_site_admin(self.request()) if IS_SITE_ADMIN: wr('<div class="button">') wr('<a href="Committee_Form">Add Committee</a>') wr('</div>') wr('<a name="top"></a>') wr('<h1>%s</h1>' % (self.title())) wr('<table class="comm">') comm_order = get_committee_order() for comm_id in comm_order: comm_info = get_committee_info(comm_id) wr('<tr><th colspan="4">%s' % (comm_info.get('name'))) if IS_SITE_ADMIN: wr(' <a href="Edit_Form?comm_id=%s"><i class="fa fa-pencil" style="color: #647382;"></i></a> ' % (comm_id)) wr('<a href="Reorder?comm_id=%s&dir=up"><i class="fa fa-arrow-up" style="color: #647382;"></i></a> ' % (comm_id)) wr('<a href="Reorder?comm_id=%s&dir=down"><i class="fa fa-arrow-down" style="color: #647382;"></i></a>' % (comm_id)) mbo = get_members_order(comm_id) mbds = get_members(comm_id) for mb_id in mbo: mb_dict = mbds.get(mb_id) wr('<tr>') for k in ['name', 'title', 'email', 'year']: wr('<td>') if k == 'email': wr('<small><a href="mailto:%s">%s</a></small>' % (mb_dict.get(k), mb_dict.get(k))) else: wr(mb_dict.get(k)) wr('</table>')
def writeContent(self): wr = self.writeln IS_SITE_ADMIN = is_site_admin(self.request()) if IS_SITE_ADMIN: wr('<div class="button">') wr('<a href="Update_Form">Edit Committees</a>') wr('</div>') wr('<a name="top"></a>') wr('<h1>%s</h1>' % (self.title())) comdict = getCommDict() for CTITLE, KEYSET in (('Standing Committees', STANDING_KEYS), ('Annual Committees', ANNUAL_KEYS), ('Ad Hoc Committees', ADHOC_KEYS), ('Other Positions', OTHER_KEYS)): wr('<h2>%s</h2>' % (CTITLE)) wr('<table class="comm">') catinfo = comdict.get(CTITLE) for COMMITTEE in KEYSET: wr('<tr><th colspan="3">%s' % (COMMITTEE)) committee_dict = catinfo.get(COMMITTEE) committee_keys = committee_dict.get('sorted') # already sorted # committee_keys = committee_dict.keys() # already sorted for position in committee_keys: pdict = committee_dict.get(position) xx, xy = pdict.get('title').replace( ' ', ''), pdict.get('name').replace(' ', '') if xx or xy: wr('<tr><td>') wr(pdict.get('title')) wr('<td>') wr(pdict.get('name')) wr('<td>') wr(pdict.get('year')) wr('</table>')
def writeContent(self): wr = self.writeln qs = self.request().fields() category = qs.get('cat', '') viewyear = qs.get('yr', str(get_year())) ISA = is_site_admin(self.request()) document_type = 'report' subdir, dd = get_doc_dict(dtype=document_type, dcat='') ddr = {} for k in dd.keys(): v = dd[k] ddr[v] = k startyear, years = 2009, {} for y in range(startyear, get_year()+1): year = str(y) years[year] = {} for k in ddr.keys(): if (year in k) or (year in ddr[k]): years[year][k] = ddr[k] yks = years.keys() yks = sorted(yks, key=lambda x: (x.isdigit() and float(x)) or x.lower()) yks.reverse() wr('<div class="sb"><div class="st">') wr('<div class="t12b">Report Archives</div>') for yr in yks: wr('<P class="t12"><a href="Index?yr=%s">%s</a>: %s reports</P>' % (yr, yr, len(years.get(yr)))) wr('</div></div>') wr('<h1>%s</h1>' % (self.title())) if ISA: thispath = self.request().environ().get('REQUEST_URI') wr('<h3>Add a Document</h3>') wr('<form method="POST" action="../File_Uploader" enctype="multipart/form-data">') wr('<table>') wr('<input type="hidden" name="filetype" value="report">') wr('<input type="hidden" name="redir" value="%s">' % (thispath)) wr('<tr><td>Title:<td><input type="text" name="title" value=""><br />') wr('<tr><td>File:<td><input type="file" name="datafile"><br />') wr('<tr><td><td><input type="submit" value="Upload">') wr('</table>') wr('</form>') wr('<h2 style="margin-top: 20px;">%s</h2>' % (viewyear)) viewyear_reports = years.get(viewyear, {}) if viewyear_reports: ks = viewyear_reports.keys() ks = sorted(ks, key=lambda x: (x.isdigit() and float(x)) or x.lower()) for k in ks: v = ddr.get(k) wr('<p><h3><a href="/docs/%s/%s">%s</a></h3>Filename: %s' % (subdir, v, (k or v), v)) uri = '/File_Deleter?doctype=%s&category=%s&filename=%s' % (document_type, category, v) if ISA: wr('<a href="%s"><img src="/g/delete.png" alt="delete" width="17" height="17" border="0" /></a>' % (uri)) if os.path.splitext(v)[-1] in (".doc", ".docx"): wr('<br /><img src="/g/word_icon.png"> Microsoft Word download') if os.path.splitext(v)[-1] in (".xls", ".xlsx"): wr('<br /><img src="/g/excel_icon.png"> Microsoft Excel download') wr('</p>') else: wr('<h3>Sorry there aren\'t any reports for this year.</h3>')
def writeContent(self): wr = self.writeln IS_SITE_ADMIN = is_site_admin(self.request()) if IS_SITE_ADMIN: wr('<div class="button">') wr('<a href="BOD_Form">Edit Board</a>') wr('</div>') wr('<h1>%s</h1>' % (self.title())) bod = getBOD() wr(''' <div class="sb"> <div class="st"> <div class="t12b">B.O.D. Links</div> <P><a href="Regions">Regions & Representatives</a></P> <P><a href="Minutes">Meeting Teleconference Minutes</a></P> </div> </div> <h2>ACVAA Executive Officers</h2> <table style="margin: 10px 0px 20px 0px;"> ''') for a in ['President', 'President-Elect', 'Past-President', 'Executive Secretary']: ad = bod.get(a, {}) wr('<tr><td>%s:<td>' % (a)) if ad.get('email'): wr('<a href="mailto:%s">%s</a>' % (ad.get('email'), ad.get('name'))) else: wr(ad.get('name')) wr('<td>%s' % (ad.get('year', ''))) wr(''' </table> <h2>ACVAA Regional Officers</h2> <table style="margin: 10px 0px 20px 0px;"> ''') for a in ['Region 1', 'Region 2', 'Region 3', 'Region 4', 'Region 5']: ad = bod.get(a, {}) wr('<tr><td>%s:<td>' % (a)) if ad.get('email'): wr('<a href="mailto:%s">%s</a>' % (ad.get('email'), ad.get('name'))) else: wr(ad.get('name')) wr('<td>%s' % (ad.get('year', ''))) for a in ['At-Large_1', 'At-Large_2', 'At-Large_3']: ad = bod.get(a, {}) wr('<tr><td>%s:<td>' % (a.split('_')[0])) if ad.get('email'): wr('<a href="mailto:%s">%s</a>' % (ad.get('email'), ad.get('name'))) else: wr(ad.get('name')) wr('<td>%s' % (ad.get('year', ''))) wr(''' </table> <h3>ACVAA Representative to the American Board of Veterinary Specialties</h3> <table style="margin: 10px 0px 20px 0px;"> ''') for a in ['AVBS Representative', 'AVBS Alternate']: ad = bod.get(a, {}) wr('<tr><td>%s:<td>' % (a)) if ad.get('email'): wr('<a href="mailto:%s">%s</a>' % (ad.get('email'), ad.get('name'))) else: wr(ad.get('name')) wr('<td>%s' % (ad.get('year', ''))) wr(''' </table> ''')
def writeContent(self): wr = self.writeln ISA = is_site_admin(self.request()) if ISA: wr('<div class="flt_r">') if show_travel(): wr('<a class="btn btn-warning" href="Change_Travel" role="button">Hide Scholarship Info</a>') else: wr('<a class="btn btn-success" href="Change_Travel" role="button">Show Scholarship Info</a>') wr('</div>') wr('<h1>%s</h1>' % (self.title())) self.sidebar() if show_travel(): wr(''' <h2> The ACVAA Foundation at Work </h2> <p> The ACVAA Foundation is pleased to accept applications for two travel scholarships for residents (up to $500 each). To apply please send <a href="/docs/candidates/ACVAA_Foundation_Scholarship_Application.doc">completed application</a>* and required attachments to <a href="mailto:[email protected]">[email protected]</a>. <br /> <small>* 20kB Word document</small> </p> ''') wr(''' <h2> Mission Statement </h2> <p> The ACVAA Foundation supports research and training in the specialty of Veterinary Anesthesiology and Pain management. These critical areas of specialization benefit all Veterinary patients. </p> <p> Specific goals of the foundation include: <ol class="la"> <li> To support development of innovative approaches for anesthetic management or analgesic management of all animal species, by funding related research. <li> Support Veterinarians in specialty training through grants for education-related travel. </ol> </p> <p> A standing committee will direct the activities of the Foundation, solicit and award research grants, and raise financial support both inside and outside ACVAA. </p> <h2> Organization </h2> <p> The Foundation is a committee of the ACVAA, which is an Internal Revenue Code Section 501(c)(3) charitable organization. </p> <h2> Funding </h2> <p> NOW accepting donations. As a committee of a 501(c)(3) organization, the Foundation is eligible for tax-deductible contributions. If you would like more information about the ACVAA Foundation, or would like to make a donation, please contact <a href="mailto:[email protected]">Lydia Donaldson</a> or <a href="mailto:[email protected]">Debbie Wilson</a>. Directed donations to specific areas (research/resident travel) will be accepted. Contributions will be acknowledged to the donor and recognized annually in the Foundation's annual report. </p>''')
def writeContent(self): wr = self.writeln if jd: IS_ADMIN = is_site_admin(self.request()) wr('<div class="sb"><div class="st">') wr('<div style="margin: 7px 0px 7px 0px;"><b>Job Category:</b><br />%s</div>' % (jd.get('category'))) try: wr('<div style="margin: 7px 0px 7px 0px;"><b>Posted:</b><br />%s</div>' % (strftime("%b. %d, %Y", jd.get('posted')))) wr('<div style="margin: 7px 0px 7px 0px;"><b>Expires:</b><br />%s</div>' % (strftime("%b. %d, %Y", jd.get('exp_tuple')))) except TypeError: pass if IS_ADMIN: wr('<div style="margin: 7px 0px 7px 0px;">') wr('<a href="Job_Form?jid=%s"><img src="/g/edit.png" alt="edit" width="17" height="17" border="0" /></a>' % (jid)) wr('<a href="Delete_Job?jid=%s"><img src="/g/delete.png" alt="delete" width="17" height="17" border="0" /></a>' % (jid)) wr('</div>') wr('</div></div>') wr('<h1>%s</h1>' % (jd.get('job_title'))) wr('<h2>%s</h2>' % (jd.get('job_inst'))) if jd.get('job_dept'): wr('<h2>%s</h2>' % (jd.get('job_dept'))) desc = jd.get('description', '') desc = desc.replace('\r', '<br />') wr('<p>%s</p>' % (desc)) wu, wt = jd.get('web_link_url'), jd.get('web_link_text') if wu: wr('<div style="margin: 7px 0px 21px 0px;">') if wt and wu: wr('<a href="%s">%s</a>' % (wu, wt)) else: wr('<a href="%s">%s</a>' % (wu, wu)) wr('</div>') c1n, c1e, c1p = jd.get('contact1_name', 'n/a'), jd.get('contact1_email', 'n/a'), jd.get('contact1_phone', 'n/a') c2n, c2e, c2p = jd.get('contact2_name', 'n/a'), jd.get('contact2_email', 'n/a'), jd.get('contact2_phone', 'n/a') if c1n or c1e or c1p or c2n or c2e or c2p: wr('<p>If you have questions, please contact:<br />') if c1n: wr(c1n) if c1e: if c1n: wr(', ') wr('<a href="mailto:%s">%s</a>' % (c1e, c1e)) if c1p: if c1n or c1e: wr(', ') wr(c1p) if c1n or c1e or c1p: wr('<br />') if c2n: wr(c2n) if c2e: if c2n: wr(', ') wr('<a href="mailto:%s">%s</a>' % (c2e, c2e)) if c2p: if c2n or c2e: wr(', ') wr(c2p) wr('</p>') APPLYINFO = False for a in ['cv_instructions', 'cv_name', 'cv_title', 'cv_addr1', 'cv_addr2', 'cv_addr3', 'cv_city', 'cv_state', 'cv_zip', 'cv_country', 'cv_email', 'cv_phone', 'cv_fax']: if jd.get(a): APPLYINFO = True if APPLYINFO: wr('<h2>Where & How to Apply</h2>') if jd.get('cv_instructions'): wr('<p><b>Instructions</b>: %s</p>' % (jd.get('cv_instructions'))) wr('<p>') if jd.get('cv_name'): wr('<b>%s</b>' % (jd.get('cv_name'))) if jd.get('cv_title'): if jd.get('cv_name'): wr(', ') wr(jd.get('cv_title')) wr('<br />') wr(jd.get('cv_addr1')) wr('<br />') if jd.get('cv_addr2'): wr(jd.get('cv_addr2')) wr('<br />') if jd.get('cv_addr3'): wr(jd.get('cv_addr3')) wr('<br />') if jd.get('cv_city'): wr(jd.get('cv_city')) if jd.get('cv_state'): if jd.get('cv_city'): wr(', ') wr(jd.get('cv_state')) if jd.get('cv_zip'): wr(jd.get('cv_zip')) wr('<br />') if jd.get('cv_country'): wr(jd.get('cv_country')) wr('<br />') if jd.get('cv_email'): wr('Email: <a href="mailto:%s">%s</a>' % (jd.get('cv_email'), jd.get('cv_email'))) wr('<br />') if jd.get('cv_phone'): wr('Phone: %s' % jd.get('cv_phone')) wr('<br />') if jd.get('cv_fax'): wr('Fax: %s' % jd.get('cv_fax')) wr('<br />') wr('</p>') else: wr('<h1>Oops!</h1>') wr('<p>') wr('We just began using our new dynamic Jobs management system. It seems that job ID number is no longer available. Please <a href="/Jobs/Index">visit the main job listing</a> to review available positions.') wr('</p>')
def writeContent(self): wr = self.writeln if jd: IS_ADMIN = is_site_admin(self.request()) wr('<div class="sb"><div class="st">') wr('<div style="margin: 7px 0px 7px 0px;"><b>Job Category:</b><br />%s</div>' % (jd.get('category'))) try: wr('<div style="margin: 7px 0px 7px 0px;"><b>Posted:</b><br />%s</div>' % (strftime("%b. %d, %Y", jd.get('posted')))) wr('<div style="margin: 7px 0px 7px 0px;"><b>Expires:</b><br />%s</div>' % (strftime("%b. %d, %Y", jd.get('exp_tuple')))) except TypeError: pass if IS_ADMIN: wr('<div style="margin: 7px 0px 7px 0px;">') wr('<a href="Job_Form?jid=%s"><img src="/g/edit.png" alt="edit" width="17" height="17" border="0" /></a>' % (jid)) wr('<a href="Delete_Job?jid=%s"><img src="/g/delete.png" alt="delete" width="17" height="17" border="0" /></a>' % (jid)) wr('</div>') wr('</div></div>') wr('<h1>%s</h1>' % (jd.get('job_title'))) wr('<h2>%s</h2>' % (jd.get('job_inst'))) if jd.get('job_dept'): wr('<h2>%s</h2>' % (jd.get('job_dept'))) desc = jd.get('description', '') desc = desc.replace('\r', '<br />') wr('<p>%s</p>' % (desc)) wu, wt = jd.get('web_link_url'), jd.get('web_link_text') if wu: wr('<div style="margin: 7px 0px 21px 0px;">') if wt and wu: wr('<a href="%s">%s</a>' % (wu, wt)) else: wr('<a href="%s">%s</a>' % (wu, wu)) wr('</div>') c1n, c1e, c1p = jd.get('contact1_name', 'n/a'), jd.get( 'contact1_email', 'n/a'), jd.get('contact1_phone', 'n/a') c2n, c2e, c2p = jd.get('contact2_name', 'n/a'), jd.get( 'contact2_email', 'n/a'), jd.get('contact2_phone', 'n/a') if c1n or c1e or c1p or c2n or c2e or c2p: wr('<p>If you have questions, please contact:<br />') if c1n: wr(c1n) if c1e: if c1n: wr(', ') wr('<a href="mailto:%s">%s</a>' % (c1e, c1e)) if c1p: if c1n or c1e: wr(', ') wr(c1p) if c1n or c1e or c1p: wr('<br />') if c2n: wr(c2n) if c2e: if c2n: wr(', ') wr('<a href="mailto:%s">%s</a>' % (c2e, c2e)) if c2p: if c2n or c2e: wr(', ') wr(c2p) wr('</p>') APPLYINFO = False for a in [ 'cv_instructions', 'cv_name', 'cv_title', 'cv_addr1', 'cv_addr2', 'cv_addr3', 'cv_city', 'cv_state', 'cv_zip', 'cv_country', 'cv_email', 'cv_phone', 'cv_fax' ]: if jd.get(a): APPLYINFO = True if APPLYINFO: wr('<h2>Where & How to Apply</h2>') if jd.get('cv_instructions'): wr('<p><b>Instructions</b>: %s</p>' % (jd.get('cv_instructions'))) wr('<p>') if jd.get('cv_name'): wr('<b>%s</b>' % (jd.get('cv_name'))) if jd.get('cv_title'): if jd.get('cv_name'): wr(', ') wr(jd.get('cv_title')) wr('<br />') wr(jd.get('cv_addr1')) wr('<br />') if jd.get('cv_addr2'): wr(jd.get('cv_addr2')) wr('<br />') if jd.get('cv_addr3'): wr(jd.get('cv_addr3')) wr('<br />') if jd.get('cv_city'): wr(jd.get('cv_city')) if jd.get('cv_state'): if jd.get('cv_city'): wr(', ') wr(jd.get('cv_state')) if jd.get('cv_zip'): wr(jd.get('cv_zip')) wr('<br />') if jd.get('cv_country'): wr(jd.get('cv_country')) wr('<br />') if jd.get('cv_email'): wr('Email: <a href="mailto:%s">%s</a>' % (jd.get('cv_email'), jd.get('cv_email'))) wr('<br />') if jd.get('cv_phone'): wr('Phone: %s' % jd.get('cv_phone')) wr('<br />') if jd.get('cv_fax'): wr('Fax: %s' % jd.get('cv_fax')) wr('<br />') wr('</p>') else: wr('<h1>Oops!</h1>') wr('<p>') wr('We just began using our new dynamic Jobs management system. It seems that job ID number is no longer available. Please <a href="/Jobs/Index">visit the main job listing</a> to review available positions.' ) wr('</p>')
def writeContent(self): wr = self.writeln IS_ADMIN = is_site_admin(self.request()) if IS_ADMIN: wr('<div class="button">') wr('<a href="Job_Form">+ Add Job</a>') wr('</div>') wr('<h1>%s</h1>' % (self.title())) wr('<div class="sb"><div class="st"><div class="t12b">Job Categories</div>' ) for c in JOB_CATS: bookmark = c.split(',')[0].lower() wr('<p><a href="#%s">%s</a></p>' % (bookmark, c)) wr('<img src="/g/question_dog.png" style="margin-left: -20px;"><br>') wr('<b>Got a job to post?</b> Please contact the <a href="mailto:[email protected]">ACVAA Executive Secretary</a>.' ) wr('</div></div>') JBC = get_jobs_by_cat() if self.request().fields().get('sv'): self.render_special_msg('Job saved.') for c in JOB_CATS: wr('<a name="%s"></a>' % (c.split(',')[0].lower())) wr('<h2>%s</h2>' % (c)) deezjobs = JBC.get(c) synlist = synonyms.get(c, []) for syn in synlist: deezjobs = dict(deezjobs, **JBC.get(syn, {})) if deezjobs: FOUND_GOOD = False for jk in deezjobs.keys(): m, d, y = deezjobs.get(jk, {}).get('expires', [0, 0, 0]) if not is_expired(m, d, y): FOUND_GOOD = True if FOUND_GOOD: djk = deezjobs.keys() djk.sort(compnum) wr('<ol class="dec">') for id in djk: SHOW = False jd = deezjobs.get(id) m, d, y = jd.get('expires', [0, 0, 0]) EXPIRED = is_expired(m, d, y) if EXPIRED: if IS_ADMIN: SHOW = True else: SHOW = True if SHOW: if EXPIRED: wr('<li style="background-color: #DDD; padding: 10px;">' ) else: wr('<li>') wr('<a href="Display?jid=%s">%s</a><br />' % (id, jd.get('job_title'))) wr(jd.get('job_inst')) if jd.get('job_dept'): wr('<br />%s' % (jd.get('job_dept'))) wr('<br /><small style="color: #BBB;">Posted: ') wr(strftime("%b. %d, %Y", jd.get('posted'))) wr(' · Expires: ') wr(strftime("%b. %d, %Y", jd.get('exp_tuple'))) wr('</small>') if IS_ADMIN: wr('<br />') wr('<a href="Job_Form?jid=%s"><img src="/g/edit.png" alt="edit" width="17" height="17" border="0" /></a>' % (id)) wr('<a href="Delete_Job?jid=%s"><img src="/g/delete.png" alt="delete" width="17" height="17" border="0" /></a>' % (id)) if EXPIRED: wr('<span style="padding-left: 10px; font-weight: bold; color: #F00;">EXPIRED</span>' ) wr('</ol>') else: wr('<p>No positions available at this time.</p>') else: wr('<p>No positions available at this time.</p>')
def writeContent(self): wr = self.writeln IS_ADMIN = is_site_admin(self.request()) if IS_ADMIN: wr('<div class="button">') wr('<a href="Job_Form">+ Add Job</a>') wr('</div>') wr('<h1>%s</h1>' % (self.title())) wr('<div class="sb"><div class="st"><div class="t12b">Job Categories</div>') for c in JOB_CATS: bookmark = c.split(',')[0].lower() wr('<p><a href="#%s">%s</a></p>' % (bookmark, c)) wr('<img src="/g/question_dog.png" style="margin-left: -20px;"><br>') wr('<b>Got a job to post?</b> Please contact the <a href="mailto:[email protected]">ACVAA Executive Secretary</a>.') wr('</div></div>') JBC = get_jobs_by_cat() if self.request().fields().get('sv'): self.render_special_msg('Job saved.') for c in JOB_CATS: wr('<a name="%s"></a>' % (c.split(',')[0].lower())) wr('<h2>%s</h2>' % (c)) deezjobs = JBC.get(c) wr(len(deezjobs.keys())) synlist = synonyms.get(c, []) for syn in synlist: deezjobs = dict(deezjobs, **JBC.get(syn, {})) if deezjobs: FOUND_GOOD = False for jk in deezjobs.keys(): m, d, y = deezjobs.get(jk, {}).get('expires', [0,0,0]) if not is_expired(m,d,y): FOUND_GOOD = True if FOUND_GOOD: djk = deezjobs.keys() djk.sort(compnum) wr('<ol class="dec">') for id in djk: SHOW = False jd = deezjobs.get(id) m, d, y = jd.get('expires', [0,0,0]) EXPIRED = is_expired(m,d,y) if EXPIRED: if IS_ADMIN: SHOW = True else: SHOW = True if SHOW: if EXPIRED: wr('<li style="background-color: #DDD; padding: 10px;">') else: wr('<li>') wr('<a href="Display?jid=%s">%s</a><br />' % (id, jd.get('job_title'))) wr(jd.get('job_inst')) if jd.get('job_dept'): wr('<br />%s' % (jd.get('job_dept'))) wr('<br /><small style="color: #BBB;">Posted: ') wr(strftime("%b. %d, %Y", jd.get('posted'))) wr(' · Expires: ') wr(strftime("%b. %d, %Y", jd.get('exp_tuple'))) wr('</small>') if IS_ADMIN: wr('<br />') wr('<a href="Job_Form?jid=%s"><img src="/g/edit.png" alt="edit" width="17" height="17" border="0" /></a>' % (id)) wr('<a href="Delete_Job?jid=%s"><img src="/g/delete.png" alt="delete" width="17" height="17" border="0" /></a>' % (id)) if EXPIRED: wr('<span style="padding-left: 10px; font-weight: bold; color: #F00;">EXPIRED</span>') wr('</ol>') else: wr('<p>No positions available at this time.</p>') else: wr('<p>No positions available at this time.</p>')
def writeContent(self): wr = self.writeln IS_SITE_ADMIN = is_site_admin(self.request()) wr('<h1>%s</h1>' % (self.title())) if IS_SITE_ADMIN: wr('<div class="button">') wr('<a href="Index">Committees Page</a>') wr('</div>') if self.request()._environ.get('REQUEST_METHOD') == 'POST': form = self.request().fields() comm_id = form.get('comm_id') if form.get('add_member') == '1': wr(form) mb_name = form.get('member_name') mb_title = form.get('member_title') mb_email = form.get('member_email') mb_year = form.get('member_year') mb_id = add_member(comm_id, mb_title, mb_name, mb_email, mb_year) self.response().sendRedirect('Edit_Form?comm_id=%s' % (comm_id)) if form.get('delete_member') == '1': comm_id, mb_id = form.get('comm_id'), form.get('mb_id') delete_member(comm_id, mb_id) self.response().sendRedirect('Edit_Form?comm_id=%s' % (comm_id)) else: qs = self.request().fields() if qs.get('delete_member') == '1': mbrs = get_members(qs.get('comm_id')) mbr = mbrs.get(qs.get('mb_id')).get('name') wr('<h2>Confirm Deletion</h2>') wr('<form method="POST" action="Edit_Form">') wr('<p>Are you sure that you\'d like to remove %s from this committee?<br><br>' % (mbr)) wr('<input type="submit" value="Yes">') wr('<input type="hidden" name="delete_member" value="1">') wr('<input type="hidden" name="comm_id" value="%s">' % (qs.get('comm_id'))) wr('<input type="hidden" name="mb_id" value="%s">' % (qs.get('mb_id'))) wr('<input type="button" value="No. Leave this person on the committee." onClick="javascript:history.go(-1)">') wr('</p></form>') else: comm_id = qs.get('comm_id') comm_info = get_committee_info(comm_id) comm_name = comm_info.get('name') # ============================================================== # Title wr('<h1>%s ' % (comm_name)) if IS_SITE_ADMIN: wr('<a href="Committee_Form?comm_id=%s"><i class="fa fa-pencil" style="color: #647382;"></i></a>' % (comm_id)) wr('<a href="Committee_Form?comm_id=%s&delete=1"><i class="fa fa-trash" style="color: #647382;"></i></a>' % (comm_id)) wr('</h1>') # ============================================================== # Add form wr('<h2>Add a Member</h2>') wr('<form method="POST" action="Edit_Form">') wr('<input type="hidden" name="comm_id" value="%s">' % (comm_id)) wr('<input type="hidden" name="add_member" value="1">') wr('<table>') wr('<tr><td>Name: <td><input type="text" name="member_name" value="">') wr('<tr><td>Title: <td><input type="text" name="member_title" value="">') wr('<tr><td>Email: <td><input type="text" name="member_email" value="">') wr('<tr><td>Year: <td><input type="text" name="member_year" value="">') wr('<tr><td><input type="submit" value="Add"></p>') wr('</table>') wr('</form>') mfs = get_members(comm_id) mo = get_members_order(comm_id) if mfs: wr('<h3>Current Members</h3>') wr('<table><th>Name<th>Title<th>Email<th>Year') for mb_id in mo: m_dict = mfs.get(mb_id) wr('<tr>') for k in ['name', 'title', 'email', 'year']: wr('<td>%s' % (m_dict.get(k))) wr('<td><a href="Reorder?comm_id=%s&mb_id=%s&dir=up"><i class="fa fa-arrow-up" style="color: #647382;"></i></a>' % (comm_id, mb_id)) wr('<td><a href="Reorder?comm_id=%s&mb_id=%s&dir=down"><i class="fa fa-arrow-down" style="color: #647382;"></i></a>' % (comm_id, mb_id)) wr('<td><a href="Edit_Form?comm_id=%s&mb_id=%s&delete_member=1"><i class="fa fa-trash" style="color: #647382;"></i></a>' % (comm_id, mb_id)) wr('</table>') else: wr('You must be logged in as an administrator to view this page.')
def writeContent(self): wr = self.writeln qs = self.request().fields() category = qs.get('cat', '') viewyear = qs.get('yr', str(get_year())) ISA = is_site_admin(self.request()) document_type = 'report' subdir, dd = get_doc_dict(dtype=document_type, dcat='') ddr = {} for k in dd.keys(): v = dd[k] ddr[v] = k startyear, years = 2009, {} for y in range(startyear, get_year() + 1): year = str(y) years[year] = {} for k in ddr.keys(): if year in k: years[year][k] = ddr[k] yks = years.keys() yks = sorted(yks, key=lambda x: (x.isdigit() and float(x)) or x.lower()) yks.reverse() wr('<div class="sb"><div class="st">') wr('<div class="t12b">Report Archives</div>') for yr in yks: wr('<P class="t12"><a href="Index?yr=%s">%s</a>: %s reports</P>' % (yr, yr, len(years.get(yr)))) wr('</div></div>') wr('<h1>%s</h1>' % (self.title())) if ISA: thispath = self.request().environ().get('REQUEST_URI') wr('<h3>Add a Document</h3>') wr('<form method="POST" action="../File_Uploader" enctype="multipart/form-data">' ) wr('<table>') wr('<input type="hidden" name="filetype" value="report">') wr('<input type="hidden" name="redir" value="%s">' % (thispath)) wr('<tr><td>Title:<td><input type="text" name="title" value=""><br />' ) wr('<tr><td>File:<td><input type="file" name="datafile"><br />') wr('<tr><td><td><input type="submit" value="Upload">') wr('</table>') wr('</form>') wr('<h2 style="margin-top: 20px;">%s</h2>' % (viewyear)) viewyear_reports = years.get(viewyear, {}) if viewyear_reports: ks = viewyear_reports.keys() ks = sorted(ks, key=lambda x: (x.isdigit() and float(x)) or x.lower()) for k in ks: v = ddr.get(k) wr('<p><h3><a href="/docs/%s/%s">%s</a></h3>Filename: %s' % (subdir, v, k, v)) uri = '/File_Deleter?doctype=%s&category=%s&filename=%s' % ( document_type, category, v) if ISA: wr('<a href="%s"><img src="/g/delete.png" alt="delete" width="17" height="17" border="0" /></a>' % (uri)) if os.path.splitext(v)[-1] in (".doc", ".docx"): wr('<br /><img src="/g/word_icon.png"> Microsoft Word download' ) if os.path.splitext(v)[-1] in (".xls", ".xlsx"): wr('<br /><img src="/g/excel_icon.png"> Microsoft Excel download' ) wr('</p>') else: wr('<h3>Sorry there aren\'t any reports for this year.</h3>')
def writeContent(self): wr = self.writeln ISA = is_site_admin(self.request()) if ISA: wr('<div class="flt_r">') if show_travel(): wr('<a class="btn btn-warning" href="Change_Travel" role="button">Hide Scholarship Info</a>') else: wr('<a class="btn btn-success" href="Change_Travel" role="button">Show Scholarship Info</a>') wr('</div>') wr('<h1>%s</h1>' % (self.title())) self.sidebar() if show_travel(): wr(''' <h2> The ACVAA Foundation at Work </h2> <p> The ACVAA Foundation is pleased to accept applications for two travel scholarships for residents (up to $500 each). To apply please send <a href="/docs/candidates/ACVAA_Foundation_Scholarship_Application.doc">completed application</a>* and required attachments to <a href="mailto:[email protected]">[email protected]</a>. <br /> <small>* 20kB Word document</small> </p> ''') wr(''' <h2> Mission Statement </h2> <p> The ACVAA Foundation supports research and training in the specialty of Veterinary Anesthesiology and Pain management. These critical areas of specialization benefit all Veterinary patients. </p> <p> Specific goals of the foundation include: <ol class="la"> <li> To support development of innovative approaches for anesthetic management or analgesic management of all animal species, by funding related research. <li> Support Veterinarians in specialty training through grants for education-related travel. </ol> </p> <p> A standing committee will direct the activities of the Foundation, solicit and award research grants, and raise financial support both inside and outside ACVAA. </p> <h2> Organization </h2> <p> The Foundation is a committee of the ACVAA, which is an Internal Revenue Code Section 501(c)(3) charitable organization. </p> <h2> Funding </h2> <p> NOW accepting donations. As a committee of a 501(c)(3) organization, the Foundation is eligible for tax-deductible contributions. If you would like more information about the ACVAA Foundation, or would like to make a donation, please contact <a href="mailto:%s">%s</a> or <a href="mailto:[email protected]">Debbie Wilson</a>. Directed donations to specific areas (research/resident travel) will be accepted. Contributions will be acknowledged to the donor and recognized annually in the Foundation's annual report. </p>''' % (EMAIL, NAME))
def writeContent(self): wr = self.writeln IS_SITE_ADMIN = is_site_admin(self.request()) if IS_SITE_ADMIN: wr('<div class="button">') wr('<a href="BOD_Form">Edit Board</a>') wr('</div>') wr('<h1>%s</h1>' % (self.title())) bod = getBOD() wr(''' <div class="sb"> <div class="st"> <div class="t12b">B.O.D. Links</div> <P><a href="Regions">Regions & Representatives</a></P> <P><a href="Minutes">Meeting Teleconference Minutes</a></P> </div> </div> <h2>ACVAA Executive Officers</h2> <table style="margin: 10px 0px 20px 0px;"> ''') for a in [ 'President', 'President-Elect', 'Past-President', 'Executive Secretary' ]: ad = bod.get(a, {}) wr('<tr><td>%s:<td>' % (a)) if ad.get('email'): wr('<a href="mailto:%s">%s</a>' % (ad.get('email'), ad.get('name'))) else: wr(ad.get('name')) wr('<td>%s' % (ad.get('year', ''))) wr(''' </table> <h2>ACVAA Regional Officers</h2> <table style="margin: 10px 0px 20px 0px;"> ''') for a in ['Region 1', 'Region 2', 'Region 3', 'Region 4', 'Region 5']: ad = bod.get(a, {}) wr('<tr><td>%s:<td>' % (a)) if ad.get('email'): wr('<a href="mailto:%s">%s</a>' % (ad.get('email'), ad.get('name'))) else: wr(ad.get('name')) wr('<td>%s' % (ad.get('year', ''))) for a in ['At-Large_1', 'At-Large_2', 'At-Large_3']: ad = bod.get(a, {}) wr('<tr><td>%s:<td>' % (a.split('_')[0])) if ad.get('email'): wr('<a href="mailto:%s">%s</a>' % (ad.get('email'), ad.get('name'))) else: wr(ad.get('name')) wr('<td>%s' % (ad.get('year', ''))) wr(''' </table> <h3>ACVAA Representative to the American Board of Veterinary Specialties</h3> <table style="margin: 10px 0px 20px 0px;"> ''') for a in ['AVBS Representative', 'AVBS Alternate']: ad = bod.get(a, {}) wr('<tr><td>%s:<td>' % (a)) if ad.get('email'): wr('<a href="mailto:%s">%s</a>' % (ad.get('email'), ad.get('name'))) else: wr(ad.get('name')) wr('<td>%s' % (ad.get('year', ''))) wr(''' </table> ''')