def login(self): """ Show login form. """ if request.method != 'POST': cfg = NipapConfig() try: c.welcome_message = cfg.get('www', 'welcome_message') except NoOptionError: pass return render('login.html') # Verify username and password. auth_fact = AuthFactory() auth = auth_fact.get_auth(request.params.get('username'), request.params.get('password'), 'nipap') if not auth.authenticate(): c.error = 'Invalid username or password' return render('login.html') # Mark user as logged in session['user'] = auth.username session['full_name'] = auth.full_name session['readonly'] = auth.readonly session['current_vrfs'] = {} session.save() # Send user back to the page he originally wanted to get to if session.get('path_before_login'): redirect(session['path_before_login']) else: # if previous target is unknown just send the user to a welcome page redirect(url(controller='prefix', action='list'))
def edit(self, id): """ Edit a pool. """ c.pool = Pool.get(int(id)) c.prefix_list = Prefix.list({'pool_id': c.pool.id}) c.prefix = '' # save changes to NIPAP if request.method == 'POST': c.pool.name = request.params['name'] c.pool.description = request.params['description'] c.pool.default_type = request.params['default_type'] if request.params['ipv4_default_prefix_length'].strip() == '': c.pool.ipv4_default_prefix_length = None else: c.pool.ipv4_default_prefix_length = request.params[ 'ipv4_default_prefix_length'] if request.params['ipv6_default_prefix_length'].strip() == '': c.pool.ipv6_default_prefix_length = None else: c.pool.ipv6_default_prefix_length = request.params[ 'ipv6_default_prefix_length'] c.pool.save() redirect(url(controller='pool', action='list')) c.search_opt_parent = 'all' c.search_opt_child = 'none' return render("/pool_edit.html")
def list(self): """ Prefix list. """ c.search_opt_parent = "all" c.search_opt_child = "none" return render('/prefix_list.html')
def logout(self): """ Log out the user and display a confirmation message. """ # remove session session.delete() return render('login.html')
def edit(self, id): """ Edit a prefix. """ # find prefix c.prefix = Prefix.get(int(id)) # we got a HTTP POST - edit object if request.method == 'POST': c.prefix.prefix = request.params['prefix_prefix'] c.prefix.description = request.params['prefix_description'] if request.params['prefix_node'].strip() == '': c.prefix.node = None else: c.prefix.node = request.params['prefix_node'] if request.params['prefix_country'].strip() == '': c.prefix.country = None else: c.prefix.country = request.params['prefix_country'] if request.params['prefix_comment'].strip() == '': c.prefix.comment = None else: c.prefix.comment = request.params['prefix_comment'] if request.params['prefix_order_id'].strip() == '': c.prefix.order_id = None else: c.prefix.order_id = request.params['prefix_order_id'] if request.params['prefix_customer_id'].strip() == '': c.prefix.customer_id = None else: c.prefix.customer_id = request.params['prefix_customer_id'] if request.params['prefix_vrf'].strip() == '': c.prefix.vrf = None else: # TODO: handle non-existent VRF... c.prefix.vrf = VRF.list({'rt': request.params['prefix_vrf']})[0] if request.params.get('prefix_monitor') != None: c.prefix.monitor = True else: c.prefix.monitor = False c.prefix.alarm_priority = request.params['prefix_alarm_priority'] c.prefix.save() redirect(url(controller='prefix', action='list')) return render('/prefix_edit.html')
def remove(self, id): """ Remove a prefix. """ # find prefix c.prefix = Prefix.get(int(id)) if 'confirmed' not in request.params: return render('/prefix_remove_confirm.html') c.prefix.remove() redirect(url(controller='prefix', action='list'))
def index(self): """ Display NIPAP version info """ c.pynipap_version = pynipap.__version__ try: c.nipapd_version = pynipap.nipapd_version() except: c.nipapd_version = 'unknown' c.nipap_db_version = pynipap.nipap_db_version() return render('/version.html')
def add(self): """ Add a prefix. """ # pass prefix to template - if we have any if 'prefix' in request.params: c.prefix = request.params['prefix'] else: c.prefix = '' c.search_opt_parent = "all" c.search_opt_child = "none" return render('/prefix_add.html')
def add(self): """ Add a new VRF. """ c.action = 'add' if 'action' in request.params: if request.params['action'] == 'add': v = VRF() if request.params['rt'].strip() != '': v.rt = request.params['rt'] if request.params['name'].strip() != '': v.name = request.params['name'] v.description = request.params['description'] v.save() redirect(url(controller='vrf', action='list')) return render('/vrf_add.html')
def add(self): """ Add a pool. """ # Adding to NIPAP if request.method == 'POST': p = Pool() p.name = request.params.get('name') p.description = request.params.get('description') p.default_type = request.params.get('default_type') if request.params['ipv4_default_prefix_length'].strip() != '': p.ipv4_default_prefix_length = request.params[ 'ipv4_default_prefix_length'] if request.params['ipv6_default_prefix_length'].strip() != '': p.ipv6_default_prefix_length = request.params[ 'ipv6_default_prefix_length'] p.save() redirect(url(controller='pool', action='list')) return render("/pool_add.html")
def edit(self, id): """ Edit a VRF """ c.action = 'edit' c.edit_vrf = VRF.get(int(id)) # Did we have any action passed to us? if 'action' in request.params: if request.params['action'] == 'edit': if request.params['rt'].strip() == '': c.edit_vrf.rt = None else: c.edit_vrf.rt = request.params['rt'].strip() if request.params['name'].strip() == '': c.edit_vrf.name = None else: c.edit_vrf.name = request.params['name'].strip() c.edit_vrf.description = request.params['description'] c.edit_vrf.save() return render('/vrf_edit.html')
def list(self): """ Displays a list of pools. """ return render('/pool_list.html')
def vrf(self): """ Action for handling the vrf-section """ return render('/ng-vrf.html')
def prefix(self): """ Action for handling the prefix-section """ return render('/ng-prefix.html')
def pool(self): """ Action for handling the pool-section """ return render('/ng-pool.html')
def list(self): """ List VRFs. """ return render('/vrf_list.html')