Beispiel #1
0
    def get(self, request):
        view = View()

        box = BoxElement(title='hosts.list.header', icon='cubes', padding=False)
        box.add(TableElement(
                    ['hosts.list.address', 'hosts.list.host', 'hosts.list.aliases'],
                    [(address, host['hostname'], ', '.join(host['aliases'])) for address, host in self.get_hosts().items()]
                ))

        view.add(box)

        return view
Beispiel #2
0
    def get(self, request):
        view = View()

        box = BoxElement(title='networks.list.header', icon='exchange', padding=False)
        box.add(TableElement(
                    ['networks.list.id', 'networks.list.total.sent', 'networks.list.total.received'],
                    [(network_id, prism.helpers.convert_bytes(network.bytes_sent), prism.helpers.convert_bytes(network.bytes_recv)) for network_id, network in self.get_networks().items()]
                ))

        view.add(box)

        return view
Beispiel #3
0
    def get(self, request):
        user_info = self.get_user_info()
        view = View()
        row = RowElement()

        row1box = BoxElement(title='users.list.header',
                             icon='user',
                             padding=False)
        row1box.add(
            TableExtendedElement(
                ['users.list.id', 'users.list.group', 'users.list.username'],
                [(user_id, user_info['groups'][user['group_id']]['name'] if
                  user_info['groups'][user['group_id']]['name'] != user['name']
                  else '', user['name'],
                  TableElement(content=[(
                      'user.info', user['info']), (
                          'user.home',
                          user['home']), ('user.shell', user['shell'])]))
                 for user_id, user in user_info['users'].items()]))
        row.add(row1box)

        row2box = BoxElement(title='groups.list.header',
                             icon='users',
                             padding=False)
        row2box.add(
            TableElement(
                ['groups.list.id', 'groups.list.name', 'groups.list.users'],
                [(group_id, group['name'], group['users'])
                 for group_id, group in user_info['groups'].items()]))
        row.add(row2box)

        view.add(row)

        return view
Beispiel #4
0
    def render(self):
        view = View('none')

        box = BoxElement(title='widget.info.header',
                         icon='server',
                         padding=False)
        table = TableElement(content=[(
            'widget.info.os', '%s %s (%s)' %
            (platform.system(), platform.release(), platform.architecture()[0])
        ), ('widget.info.hostname', platform.node()
            ), ('widget.info.ipaddress', prism.settings.PRISM_CONFIG['host']
                ), ('widget.info.uptime', self.get_uptime())])
        box.add(table)
        view.add(box)

        return view
Beispiel #5
0
    def render(self):
        view = View('none')

        box = BoxElement(title='widget.hardware.header',
                         icon='circle-o',
                         padding=False)
        table = TableElement(
            content=[('widget.hardware.processor', platform.processor()),
                     ('widget.hardware.disk',
                      prism.helpers.convert_bytes(self.get_total_disk())),
                     ('widget.hardware.memory',
                      prism.helpers.convert_bytes(self.get_total_memory())),
                     ('widget.hardware.swap',
                      prism.helpers.convert_bytes(self.get_total_swap()))])
        box.add(table)
        view.add(box)

        return view
Beispiel #6
0
    def get(self, request):
        view = View()
        row = RowElement()

        box1 = BoxElement(title='Create New', icon='user')
        form = FormElement().add(InputElement('Name', 'name')) \
                            .add(InputElement('Info', 'info')) \
                            .add(InputElement('Username', 'username')) \
                            .add(InputElement('Password', 'password', input_type='password')) \
                            .add(ButtonElement('Create User', button_type='primary'))
        box1.add(form)
        row.add(box1, size=4)

        box2 = BoxElement(title='user.list.header', icon='users', padding=False)
        box2.add(TableElement(
                        ['user.list.name', 'user.list.username', 'user.list.actions'],
                        [(user.name, user.username, '<a href="/dashboard/users/edit/%s"><button class="btn btn-primary btn-sm">Edit User</button></a>' % user.user_id) for user in prism.login.User.query.all()]
                    ))
        row.add(box2)

        view.add(row)
        return view
Beispiel #7
0
    def get(self, request, name=None):
        view = View()
        row = RowElement()

        if name is None:
            box1 = BoxElement(title='updates.info.header', icon='info')
            box1.add(HTMLElement().add(LocaleElement('updates.info.dev')))
            row.add(box1, size=3)

            box2 = BoxElement(title='updates.dev.commits.header', icon='archive', padding=False)
            box2.add(TableElement(
                            ['updates.commits.date', 'updates.commits.hash', 'updates.commits.changes'],
                            [('<span class="text-muted">%s</span>' % prism.helpers.timesince(change[3]), '<a href="%s" target="_blank">%s</a>' % (change[2], change[0]), change[1]) for change in prism.settings.PRISM_VERSIONING['dev_changes']]
                        ))
            row.add(box2)
        else:
            release = None

            for recent in prism.settings.PRISM_VERSIONING['recent_releases']:
                if recent['name'] == name:
                    release = recent
                    break

            if release is None:
                return ('dashboard.UpdateView')

            box1 = BoxElement(title='updates.info.header', icon='info', padding=False)
            box1.add(TableElement(
                            content=[
                                    ('updates.info.version', release['name']),
                                    ('updates.info.date', '<span class="text-muted">%s</span>' % prism.helpers.timesince(release['date']))
                                ]
                        ))
            row.add(box1, size=3)

            box2 = BoxElement(title='updates.commits.header', icon='archive', padding=False)
            box2.add(TableElement(
                            ['updates.commits.date', 'updates.commits.hash', 'updates.commits.changes'],
                            [('<span class="text-muted">%s</span>' % prism.helpers.timesince(change[3]), '<a href="%s" target="_blank">%s</a>' % (change[2], change[0]), change[1]) for change in release['changes']]
                        ))
            row.add(box2)

        view.add(row)
        return view