Esempio n. 1
0
 def renderDomains(domains):
     return ctx.tag[tags.table(
         _class="sortable", id="TdomainTable",
         cellspacing="0")[tags.thead(
             background="/images/gradMB.png")[tags.tr[tags.th(
                 colformat="istr")["Domain"]]],
                          tags.tbody(id="searchTableBody")[[
                              tags.tr[tags.td[tags.a(
                                  href="View/%s/" %
                                  domain[0])[domain[0]]]]
                              for domain in domains
                          ]]]]
Esempio n. 2
0
 def dataTable(self, headings, content, sortable=False, width=""):
     """ Produces a tabular listing which is either sortable or not. Sortable expects headings to be a 
         list of tuples, but if it is not a list of tuples the 'string' type will be assumed for every cell """
     if sortable:
         if isinstance(headings[0], tuple):
             header = [tags.th(colformat=j)[i] for j, i in headings]
         else:
             header = [tags.th(colformat='istr')[i] for i in headings]
         tclass = 'sortable'
     else:
         header = [tags.th[i] for i in headings]
         tclass = 'listing'
     cont = [
         tags.thead(background="/images/gradMB.png")[tags.tr[header]],
         tags.tbody[
             [tags.tr[[tags.td[col] for col in row]] for row in content], ]
     ]
     if width:
         return tags.table(cellspacing=0, _class=tclass, width=width)[cont]
     else:
         return tags.table(cellspacing=0, _class=tclass)[cont]
Esempio n. 3
0
 def renderUsers(users):
     return ctx.tag[tags.table(
         _class="sortable", id="TdomainTable",
         cellspacing="0")[tags.thead(
             background="/images/gradMB.png")[tags.tr[
                 tags.th(colformat="istr")["User"],
                 tags.th(colformat="istr")["Server"]]],
                          tags.tbody(id="searchTableBody")[[
                              tags.tr[tags.td[tags.a(
                                  href="/ServerUsers/Edit/%s/" %
                                  user[0])[user[1]]], tags.td[user[2]]]
                              for user in users
                          ]]]]
Esempio n. 4
0
 def gotUser(row):
     return ctx.tag[tags.table(_class="stdTable")[
         tags.tr[tags.td(
             style="text-align:right;")[tags.strong["Name: "]],
                 tags.td[row[3] or ""]],
         tags.tr[tags.td(
             style="text-align:right;")[tags.strong["Company: "]],
                 tags.td[row[5] or ""]], tags.tr[tags.td(
                     style="text-align:right;")[tags.strong["Email: "]],
                                                 tags.td[row[4] or ""]],
         tags.tr[tags.td(
             style="text-align:right;")[tags.strong["Phone number: "]],
                 tags.td[row[10] or ""]],
         tags.tr[tags.td(
             style="text-align:right;")[tags.strong["Address: "]],
                 tags.td[row[6] or ""]], tags.tr[tags.td[""],
                                                 tags.td[row[7] or ""]],
         tags.tr[tags.td[""], tags.td[row[8]
                                      or ""]], tags.tr[tags.td[""],
                                                       tags.td[row[9]
                                                               or ""]]],
                    tags.a(href="/Account/")["Manage account"]]
Esempio n. 5
0
def TabSwitcher(tabs, id="A"):
    tabNames = [i for j, i in tabs]
    tabLables = [i for i, j in tabs]

    closeTabs = ';\n'.join([
        "    hideElement('%s'); getElement('tab%s').style.color='#666666';" %
        (i, i) for i in tabNames
    ])

    switchFunc = """
        tabSwitcher%s = function (tab) {
            %s
            getElement('tab'+tab).style.color='#E710D8';
            showElement(tab);
            createCookie('tabOpen%s', tab);
            return false;
        };
    """ % (id, closeTabs, id)

    return [
        tags.xml("""<script type="text/javascript">
        function createCookie(name,value) {
            var date = new Date();
            date.setTime(date.getTime()+(24*60*60*1000));
            var expires = "; expires="+date.toGMTString();
            document.cookie = name+"="+value+expires+"; path=/";
        }

        function readCookie(name) {
            var nameEQ = name + "=";
            var ca = document.cookie.split(';');
            for(var i=0;i < ca.length;i++) {
                var c = ca[i];
                while (c.charAt(0)==' ') c = c.substring(1,c.length);
                if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
            }
            return null;
        }
        createTabSwitcher%s = function() {
            %s
            var firstTab = '%s';
            showElement(firstTab);
            getElement('tab'+firstTab).style.color='#E710D8';
            try {
                var tab = readCookie('tabOpen%s');
                if (tab) {
                    %s
                    showElement(tab);
                    getElement('tab'+tab).style.color='#E710D8';
                }
            } catch(dontCare){
                showElement(firstTab);
                getElement('tab'+ firstTab).style.color='#E710D8';
            }
        };
        %s
        </script>""" %
                 (id, closeTabs, tabNames[0], id, closeTabs, switchFunc)),
        tags.br, tags.br,
        tags.table(cellspacing=0, cellpadding=0)[tags.tr[[
            tags.
            td(_class="tabTab",
               style=
               "padding:0;background-image: url(/images/tabcenter.png); background-repeat: repeat-x;",
               onclick="return tabSwitcher%s('%s');" %
               (id, j))[tags.a(id="tab" + j,
                               href="#",
                               style="color:#666666; text-decoration:none;",
                               title="Switch to the tab: %s" % i,
                               onclick="return tabSwitcher%s('%s');" %
                               (id, j))[tags.img(src='/images/lefttab.png',
                                                 align="absmiddle",
                                                 style="border:none"),
                                        tags.strong[i],
                                        tags.img(src='/images/righttab.png',
                                                 align="absmiddle",
                                                 style="border:none")], ]
            for i, j in tabs
        ]]]
    ]