parent
6b3ad28e89
commit
beb16b1740
@ -0,0 +1,18 @@ |
||||
import requests |
||||
|
||||
from ..ResultView import ResultView |
||||
|
||||
|
||||
class GetGroupResultView(ResultView): |
||||
def show_result(self, resp: requests.Response): |
||||
d = resp.json() |
||||
if 'description' in d: |
||||
desc = d['description'] + ' (' + d['cn'] + ')' |
||||
else: |
||||
desc = d['cn'] |
||||
self._add_text('Members of ' + desc, center=True) |
||||
self._add_text() |
||||
for member in d['members']: |
||||
self._add_text( |
||||
member['cn'] + ' (' + member['uid'] + ')', |
||||
center=True) |
@ -0,0 +1,31 @@ |
||||
from asciimatics.widgets import Layout, Text |
||||
|
||||
from ...utils import http_get |
||||
from ..CeoFrame import CeoFrame |
||||
|
||||
|
||||
class GetGroupView(CeoFrame): |
||||
def __init__(self, screen, width, height, model): |
||||
super().__init__( |
||||
screen, height, width, model, 'GetGroup', |
||||
save_data=True, |
||||
) |
||||
layout = Layout([100], fill_frame=True) |
||||
self.add_layout(layout) |
||||
self._cn = Text("Group name", "cn") |
||||
layout.add_widget(self._cn) |
||||
|
||||
self.add_flash_message_layout() |
||||
self.add_buttons( |
||||
back_btn=True, |
||||
next_scene='GetGroupResult', on_next=self._next) |
||||
self.fix() |
||||
|
||||
def _next(self): |
||||
cn = self._cn.value |
||||
self._model.viewdata['GetGroup']['cn'] = cn |
||||
self.flash_message('Looking up group...', force_update=True) |
||||
try: |
||||
self._model.resp = http_get(f'/api/groups/{cn}') |
||||
finally: |
||||
self.clear_flash_message() |
Loading…
Reference in new issue