コード例 #1
0
ファイル: ThebeDomains.py プロジェクト: jpunwin/tums
        def gotres(res):
            groups = [i for i in res[1][1]]
            gmem = {}
            for i in res[2][1]:
                gmem[i[0]] = i[1]
            table = []
            for i in res[0][1]:
                grps = []
                for g in groups:
                    if gmem.get(i[0], None) == g[0]:
                        grps.append(
                            tags.option(value="grp%s" % g[0],
                                        selected="selected")[g[1]])
                    else:
                        grps.append(tags.option(value="grp%s" % g[0])[g[1]])

                table.append(
                    [i[0], i[1],
                     tags.select(name="dom%s" % i[0])[grps]])

            return ctx.tag[
                tags.h3["Domainss"],
                tags.form(action="/Thebe/SetDomainGroup/", method="post")[
                    Widgets.autoTable(['Id', 'Domain', 'Group'], table),
                    tags.br,
                    tags.input(type="submit", value="Save Groups")],
                tags.h3["Add domain"],
                tags.directive('form addDomain')]
コード例 #2
0
 def render_content(self, ctx, data):
     
     return ctx.tag[
         tags.h1["Global command"],
         tags.p["Warning: This will send the command to all servers"],
         tags.directive('form global')
     ]
コード例 #3
0
        def gotGroups(groups):
            tlist = []

            for k in groups:
                tlist.append((tags.a(href="View/%s/" % k[0])[k[1]],
                              tags.a(href="Delete/%s/" % k[0])["Delete"]))

            return ctx.tag[tags.h3["Group list"],
                           self.dataTable(["Group name", ""], tlist), tags.br,
                           tags.br, tags.h3["Add group"],
                           tags.directive('form addGroup'), ]
コード例 #4
0
        def renderUpdates(updates):
            trows = []
            for i in updates:
                trows.append(
                    (i[1], i[2], tags.a(href="Delete/%s" % i[0])["Delete"]))

            return ctx.tag[
                tags.h3["Approved Updates"], tags.br,
                self.
                dataTable(["Package", "Version", ""], trows, sortable=True),
                tags.br, tags.h3["Approve Update"],
                tags.directive('form approveUpdate')]
コード例 #5
0
ファイル: Servers.py プロジェクト: jpunwin/tums
        def renderServers(servers):
            servers2 = {}
            for s in servers:
                if s[1] in self.enamel.tcsMaster.connectedNodes:
                    servers2[s[1]] = ('Online', s[1], s[4], s[0])
                elif s[1] in self.enamel.tcsMaster.knownNodes:
                    servers2[s[1]] = ('Online (No Direct)', s[1], s[4], s[0])
                else:
                    servers2[s[1]] = ('Offline', s[1], s[2], s[0])

            def getGraph(server, canonical):
                # Returns the right graph image or structure for this particular view mode
                if (len(self.arguments) < 1) or (self.arguments[0] == 'load'):
                    return tags.img(
                        src=
                        "/RRD?source=%s&type=load&timeframe=-7d&width=200&height=50&nog=yes"
                        % (server))

                if self.arguments[0] == 'latency':
                    return tags.img(
                        src=
                        "/RRD?source=%s&type=latency&timeframe=-7d&width=200&height=50&nog=yes"
                        % (canonical))
                if self.arguments[0] == 'internet':
                    return tags.img(
                        src=
                        "/RRD?source=%s&type=net&timeframe=-7d&width=200&height=50&nog=yes"
                        % (server))

                if self.arguments[0] == 'mailrate':
                    return tags.img(
                        src=
                        "/RRD?source=%s&type=exim&timeframe=-7d&width=200&height=50&nog=yes"
                        % (server))

            serversL = servers2.keys()
            serversL.sort()

            servers3 = []

            for i in serversL:
                servers3.append(servers2[i])

            return ctx.tag[
                tags.h3["Servers"], tags.br,
                tags.directive('form switchView'),
                self.dataTable(["Name", "Status", "Last IP", "Load", ""], [(
                    i[0] == "Online", i[1], i[0], i[2],
                    tags.div(_class="graphBlock")[getGraph(i[3], i[1])],
                    tags.a(href="/Servers/Manage/%s/" %
                           i[3])["Manage"]) for i in servers3],
                               sortable=True), ]
コード例 #6
0
ファイル: ThebeServers.py プロジェクト: jpunwin/tums
 def renderServers(server):
     servers = [(i[1], i[2], i[3], [
         tags.a(href="Edit/%s/" % i[0])["Edit"],
         " ",
         tags.a(href="Edit/Delete/%s/" % i[0])["Delete"]
     ]) for i in server]
     return ctx.tag[
         tags.h3["Server List"],
         self.dataTable(["Name", "Hostname", "Key", ""], servers, sortable=True),
         tags.br,
         tags.h3["Comission new server"],
         tags.directive('form addServer'),
     ]
コード例 #7
0
 def rendercont(updated):
     return ctx.tag[tags.h3["Global Changes"],
                    web.TabSwitcher([
                        ("Admin Password", 'adminpass'),
                        ("TUMS Updates", 'updatetums'),
                    ]),
                    tags.div(id="updatetums", _class="tabPane")[
                        tags.h3["Update TUMS"],
                        updated and "Update sent" or tags.a(
                            href="Update/")["Update all now"], ],
                    tags.div(id="adminpass", _class="tabPane")[
                        tags.h3["Change Administrator Password"],
                        tags.directive('form adminpassword')],
                    web.LoadTabSwitcher()]
コード例 #8
0
 def renderUser(user, serv):
     self.user = user
     return ctx.tag[tags.h3["Editing user %s@%s on server %s" %
                            (user[3], user[2], serv[1])],
                    web.TabSwitcher([
                        (self.text.userTabSettings,
                         'user-userSettings'),
                        (self.text.userTabPermissions,
                         'user-userPermissions'),
                        (self.text.userTabMail, 'user-mailSettings'),
                        #(self.text.userTabAccess, 'user-userAccess')
                    ]),
                    tags.directive('form user'),
                    web.LoadTabSwitcher()]
コード例 #9
0
        def renderTime(deferreds):
            # Unpack results
            users, servers, domains = [i[1] for i in deferreds]

            userTable = []
            for row in users:
                print row
                userTable.append((row[1], ))

            serverTable = []
            for row in servers:
                serverTable.append((row[1], row[2]))

            domainTable = []
            for row in domains:
                domainTable.append((row[1], ""))

            return ctx.tag[
                PageBase.TabSwitcher(
                    (('Users', 'pUsers'), ('Servers', 'pServers'),
                     ('Domains', 'pDomains'))),
                tags.div(id='pUsers', _class="tabPane")[
                    tags.h3["Users"],
                    self.dataTable(["Username"], userTable), tags.br,
                    tags.h3["Add User"],
                    tags.directive('form addMembership')],
                tags.div(id='pServers', _class="tabPane")[
                    tags.h3["Servers"],
                    self.dataTable(["Server", "Hostname"], serverTable),
                    tags.br, tags.h3["Add Server"],
                    tags.directive('form addServerMembership')],
                tags.div(id='pDomains', _class="tabPane")[
                    tags.h3["Domains"],
                    self.dataTable(["Domain", ""], domainTable), tags.br,
                    tags.h3["Add Domain"],
                    tags.directive('form addDomainMembership')],
                PageBase.LoadTabSwitcher()]
コード例 #10
0
    def render_regform(self, ctx, data):
        if len(self.arguments) > 0:
            if self.arguments[0] == "RegistrationComplete":
                return ctx.tag[
                    tags.strong["Thank you for registering!"], tags.br,
                    tags.br,
                    "An email has been sent to your address with instructions on completing your registration.",
                    tags.br, tags.br,
                    "If you do not receive an email after 2 hours please contact [email protected]"]

            if self.arguments[0] == "Confirm":
                return self.enamel.storage.getUserByHash(
                    self.arguments[1]).addBoth(self.confirmUser, ctx)

        return ctx.tag[
            "Welcome to the Vulani Portal registration", tags.br, tags.br,
            "The Vulani Portal allows you to place orders for Vulani products as well as manage those products and Vulani servers (with Silver, Gold and Platinum support options) from a central location.",
            tags.br, tags.br,
            "After completing this form you will be emailed a confirmation URL. Your email address will be your username. If you require additional accounts linked to your company, please ask them to register here then log a service request for those users to be added to your customer group by emailing [email protected]",
            tags.br, tags.br,
            tags.directive('form regform')]
コード例 #11
0
        def gotres(res):
            table = []
            # Create a dictionary out of our group memberships
            glist = {}
            for g in res[1][1]:
                if g[0] in glist:
                    glist[g[0]].append((g[1], g[2]))
                else:
                    glist[g[0]] = [(g[1], g[2])]

            for user in res[0][1]:
                groups = [(i[1], tags.br) for i in glist.get(user[0], [])]
                table.append(
                    (user[0], tags.a(href="/Account/%s/" % user[0])[user[1]],
                     user[3] or "Not set", user[4] or "Not set", groups))

            return ctx.tag[
                tags.h3["Users"],
                Widgets.autoTable(
                    ['Id', 'Username', 'Name', 'Email', 'Groups'], table),
                tags.h3["Add user"],
                tags.directive('form addUser')]
コード例 #12
0
 def render_userForm(self, ctx, data):
     return ctx.tag[
         tags.directive('form editUser')
     ]
コード例 #13
0
ファイル: Orders.py プロジェクト: jpunwin/tums
    def render_content(self, ctx, data):
        if not 1 in self.avatarId.gids:
            # Don't display if we aren't Thusa
            return ctx.tag[""]

        return ctx.tag[tags.directive('form vlic')]
コード例 #14
0
ファイル: Orders.py プロジェクト: jpunwin/tums
 def render_content(self, ctx, data):
     return ctx.tag[
         tags.directive('form vlic'),
         tags.div(_class="billingNotice")
         ["Please note: Purchases will be billed and processed by THUSA BUSINESS SUPPORT (PTY) LTD"],
         PayGateLogoStuff]
コード例 #15
0
ファイル: Tickets.py プロジェクト: jpunwin/tums
 def render_userForm(self, ctx, data):
     return ctx.tag[tags.directive('form createTicket')]
コード例 #16
0
ファイル: ThebeServers.py プロジェクト: jpunwin/tums
 def render_content(self, ctx, data):
     return ctx.tag[
         tags.h3["Edit server"],
         tags.directive('form addServer'),
     ]