Example #1
0
        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')]
Example #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')
     ]
Example #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'), ]
Example #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')]
Example #5
0
        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), ]
Example #6
0
 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'),
     ]
Example #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()]
Example #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()]
Example #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()]
Example #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')]
Example #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')]
Example #12
0
 def render_userForm(self, ctx, data):
     return ctx.tag[
         tags.directive('form editUser')
     ]
Example #13
0
    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')]
Example #14
0
 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]
Example #15
0
 def render_userForm(self, ctx, data):
     return ctx.tag[tags.directive('form createTicket')]
Example #16
0
 def render_content(self, ctx, data):
     return ctx.tag[
         tags.h3["Edit server"],
         tags.directive('form addServer'),
     ]