def displayAddUser(doctype): """Display controls for adding users""" t = "" # start displaying the table which will contain the add form t += """ <table class="searchbox" summary=""> <tr> <th class="portalboxheader">Add</th> </tr> <tr> <td> User:<br/>""" users = list_registered_users() if len(users) < 20: numrows = len(users) else: numrows = 20 t += '<select multiple="multiple" name="addusers" size="%s">' % numrows for user in users: if user[1] != "": t += '<option value="%s">%s</option>' % (user[0], user[1]) t += '</select><br/>' t += '<select name="categ">' t += '<option value="*">All categories</option>' res = run_sql("select lname,sname FROM sbmCATEGORIES WHERE doctype=%s ORDER BY lname", (doctype,)) for row in res: t += '<option value="%s">%s</option>' % (row[1], row[0]) t += '</select><br/>' t += '''<input class="adminbutton" type="button" onclick="document.forms[0].todo.value='adduser';document.forms[0].submit();" value="ADD" />''' t += '</td></tr></table>' return t
def get_new_ticket_RT_info(uid, recId): response = {} response['resultCode'] = 0 if BIBCATALOG_SYSTEM is None: response['description'] = "<!--No ticket system configured-->" elif BIBCATALOG_SYSTEM and uid: bibcat_resp = BIBCATALOG_SYSTEM.check_system(uid) if bibcat_resp == "": # add available owners users = [] users_list = list_registered_users() for user_tuple in users_list: try: user = {'username': get_user_preferences(user_tuple[0])['bibcatalog_username'], 'id': user_tuple[0]} except KeyError: continue users.append(user) response['users'] = users # add available queues response['queues'] = BIBCATALOG_SYSTEM.get_queues(uid) # add user email response['email'] = get_email(uid) # TODO try catch response['ticketTemplates'] = load_ticket_templates(recId) response['resultCode'] = 1 else: # put something in the tickets container, for debug response['description'] = "Error connecting to RT<!--" + bibcat_resp + "-->" return response
def displayAddUser(doctype): """Display controls for adding users""" t = "" # start displaying the table which will contain the add form t += """ <table class="searchbox" summary=""> <tr> <th class="portalboxheader">Add</th> </tr> <tr> <td> User:<br/>""" users = list_registered_users() if len(users) < 20: numrows = len(users) else: numrows = 20 t += '<select multiple="multiple" name="addusers" size="%s">' % numrows for user in users: if user[1] != "": t += '<option value="%s">%s</option>' % (user[0], user[1]) t += '</select><br/>' t += '<select name="categ">' t += '<option value="*">All categories</option>' res = run_sql( "select lname,sname FROM sbmCATEGORIES WHERE doctype=%s ORDER BY lname", (doctype, )) for row in res: t += '<option value="%s">%s</option>' % (row[1], row[0]) t += '</select><br/>' t += '''<input class="adminbutton" type="button" onclick="document.forms[0].todo.value='adduser';document.forms[0].submit();" value="ADD" />''' t += '</td></tr></table>' return t
def get_new_ticket_RT_info(uid, recId): response = {} response['resultCode'] = 0 if BIBCATALOG_SYSTEM is None: response['description'] = "<!--No ticket system configured-->" elif BIBCATALOG_SYSTEM and uid: bibcat_resp = BIBCATALOG_SYSTEM.check_system(uid) if bibcat_resp == "": # add available owners users = [] users_list = list_registered_users() for user_tuple in users_list: try: user = { 'username': get_user_preferences( user_tuple[0])['bibcatalog_username'], 'id': user_tuple[0] } except KeyError: continue users.append(user) response['users'] = users # add available queues response['queues'] = BIBCATALOG_SYSTEM.get_queues(uid) # add user email response['email'] = get_email(uid) # TODO try catch response['ticketTemplates'] = load_ticket_templates(recId) response['resultCode'] = 1 else: # put something in the tickets container, for debug response[ 'description'] = "Error connecting to RT<!--" + bibcat_resp + "-->" return response
def tmpl_user_list(self, ln=CFG_SITE_LANG): #TP: cele.. """ Generates a list of available collections statistics. """ assignedUsers = list() out = "" #TP: nakreslim oddil pro kazdeho strukturatora for supervisor in cfg_supervisors_groups: out += """<h3>Supervisor %s (#%s)</h3><ul class="supervisor_usersOverview">""" % (get_email(supervisor),supervisor) assignedUsers.append(supervisor) #TP: nakreslim linky a hlavni info pro kazdeho uzivatele for user in cfg_supervisors_groups[int(supervisor)]: assignedUsers.append(user) # ×pan=last+month&s_date=01%2F29%2F2013+00%3A00&f_date=01%2F29%2F2013+09%3A28&format=flot&ids=cardStructured&cols0=UID&col_value0=tomas&action_gen=Generate out += """<li><a class="uNameLink" href="%(site_url)s/supervisors/customevent?ln=%(ln)s×pan=last+month&format=flot&ids=cardStructured&cols0=UID&col_value0=%(user)s&action_gen=Generate">%(email)s</a>""" \ % {'site_url': CFG_SITE_URL, 'email': get_email(user), 'ln': CFG_SITE_LANG, 'user': user} actionInfo = acc_find_possible_actions_user(user, 22) collInfo = "" for aInfo in actionInfo: temp = aInfo[2].split() if len(temp[0]) == 4: for coll in temp: p_total = "980__a:%s" % coll res_total = search_pattern(p=p_total) p_done = "980__a:%s and (950__s:%s or 950__s:2)" % (coll, "p*") res_done = search_pattern_parenthesised(p=p_done) p_check = "980__a:%s and (950__s:na* or 950__s:3)" % (coll) res_check = search_pattern_parenthesised(p=p_check) collLink_main = """<a href="%(site_url)s/search?cc=%(coll)s&ln=%(ln)s&jrec=1&so=a">%(coll)s</a> """ % {'coll': coll, 'site_url': CFG_SITE_URL, 'ln': CFG_SITE_LANG } strProgress = "" if len(res_done)+len(res_check) != 0: if len(res_done) == len(res_total): strProgress = """<span class="supervisor_prog_done">completed</span>: %i""" % (len(res_total)) else: collLink_done = """<span class="supervisor_prog_started">in progress</span>: <a href="%(site_url)s/search?cc=%(coll)s&ln=%(ln)s&&p=950__s:2+or+950__s:p*&jrec=1&so=a">%(res_done)i</a> """ % {'coll': coll, 'site_url': CFG_SITE_URL, 'ln': CFG_SITE_LANG, 'res_done': len(res_done) } strProgress = "%s / %i" % (collLink_done, len(res_total)) if len(res_check) > 0: collLink_check = """<span class="supervisor_prog_review"><a href="%(site_url)s/search?cc=%(coll)s&ln=%(ln)s&p=950__s:3+or+950__s:na*&jrec=1&so=a">%(res_check)i</span></a> """ % {'coll': coll, 'site_url': CFG_SITE_URL, 'ln': CFG_SITE_LANG, 'res_check': len(res_check) } if len(res_done)>0: strProgress = "%s+ %s / %i" % (collLink_done, collLink_check, len(res_total)) else: strProgress = "%s / %i" % (collLink_check, len(res_total)) else: strProgress = """<span class="supervisor_prog_notStarted">waiting</span>: %s""" % len(res_total) collInfo += """ %s <small class="nbdoccollz">(%s)</small>""" % (collLink_main, strProgress) if collInfo != "": out += """<span class="supervisor_usercolls">""" + collInfo + """</span>""" out += """</li>""" out += """</ul>""" #TP: nakreslim seznam neprirazenych uzivatelu out += """<h3>Unassigned users</h3><p>You may want to consider attaching one of the unassigned users to an supervisor. If so, please contact your administrator.</p><ul>""" for user in list_registered_users(): str_user_info = get_user_info(user[0]) if user[0] not in assignedUsers: out += """<li>%s</li>""" \ % (get_email(user[0])) out += """</ul>""" return out