Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 1071

Přidáno uživatelem Michal Kliment před asi 13 roky(ů)

Merge zmen z testingu do vetve se sablonami zarizeni.

Zobrazit rozdíly:

freenetis/branches/device_templates/application/vendors/unit_tester/tester.sh
#!/bin/bash
################################################################################
# Script for triggering all test for FreeNetIS.
#
# Author: Ondřej Fibich
# Version: 1.0
#
# Test contains these steps:
#
# (-) Login to FreeNetIS
# (1) Syntax check of all files in FreeNetIS
# (2) Run config (re)generation
# (3) Check models for errors
# (4) Check helpers for errors
# (5) Check controllers for errors
#
# Require:
# curl, perl, libxml-writer-perl, libxml-dom-perl
#
################################################################################
function red_echo() {
echo -e "\e[01;31m$1\e[0m"
}
function green_echo() {
echo -e "\e[01;32m$1\e[0m"
}
# help
if [ "$1" == "--help" ]; then
echo "Script for testing FreeNetIS"
echo "USAGE: tester.sh [options] URL username password"
echo ""
echo "Options:"
echo " -o, --open-browser Opens browser with models or helpers errors"
echo " automatically, after error detection."
echo " -s, --skip-syntax Skip syntax check of all files"
echo " -m, --skip-models Skip test of models"
echo " -h, --skip-helpers Skip test of helpers"
echo " -c, --skip-controllers Skip test of controllers"
exit 0
fi
open_browser=
skip_syntax=
skip_models=
skip_helpers=
skip_controlles=
# strip options
while [ $# -gt 3 ]; do
case "$1" in
--open-browser)
open_browser=true
;;
-o)
open_browser=true
;;
--skip-syntax)
skip_syntax=true
;;
-s)
skip_syntax=true
;;
--skip-models)
skip_models=true
;;
-m)
skip_models=true
;;
--skip-helpers)
skip_helpers=true
;;
-h)
skip_helpers=true
;;
--skip-controllers)
skip_controlles=true
;;
-c)
skip_controlles=true
;;
*)
echo "Wrong arguments, see: tester.sh --help."
exit 1
esac
shift
done
# check arguments
if [ $# -ne 3 ]; then
echo "Wrong arguments, see: tester.sh --help."
exit 1
fi
url=$1
username=$2
password=$3
######### LOGIN TO FREENETIS ###################################################
echo "=== LOGIN TO FREENETIS ==="
if [ ! -d "curl" ]; then
mkdir curl
fi
echo ""
echo "Getting cookies:"
echo ""
# Get test cookie
curl --cookie-jar curl/cookies_init.txt "${url}/en/login" > /dev/null
if [ $? -ne 0 ]; then
echo ""
red_echo "Can't connect to given URL, fill correct URL."
echo ""
exit 5
fi
echo ""
echo "Login to FreeNetIS:"
echo ""
# Login
log_out=`curl --data "username=${username}&password=${password}&submit=Login" \
--cookie "curl/cookies_init.txt" \
--cookie-jar "curl/cookies_login.txt" \
"${url}/en/login"`
if [ $? -ne 0 ]; then
echo ""
red_echo "Can't login to given URL, fill correct URL."
echo ""
exit 5
fi
if [ "${log_out:0:8}" != "<a href=" ]; then
echo ""
red_echo "Can't login, wrong URL or login info."
echo ""
exit 6
fi
echo ""
green_echo "Logged in as ${username}"
echo ""
######### STEP 1 - Test syntax of all PHP files ###############################
if [ -z $skip_syntax ]; then
echo "=== SYNTAX TESTING ==="
# move to root directory
cd ../../../
# search all PHP files
php_files_list=`find . -name "*.php"`
count_php_files=`echo "${php_files_list}" | wc -l`
counter_ok=0
counter_error=0
echo ""
printf "%4d/%4d" 0 $count_php_files
# iterate throught all files
for php_file in $php_files_list
do
# test syntax error
output=`php -l "${php_file}" 2>&1`
echo -en "\b\b\b\b\b\b\b\b\b"
printf "%4d/%4d" $counter_ok $count_php_files
if [ $? -eq 0 ]; then
let counter_ok++
else
let counter_error++
echo ""
echo "Syntax error in ${php_file}:"
echo $output
fi
done
# move back
cd ./application/vendors/unit_tester
# Info about check
echo -en "\b\b\b\b\b\b\b\b\b"
green_echo "${counter_ok} files has valid syntax"
if [ $counter_error -ne 0 ]; then
red_echo "${counter_error} files has invalid syntax"
fi
echo ""
# Continue?
if [ $counter_error -gt 0 ]; then
echo "Test abort, fix syntax errors..."
exit 1
fi
fi
######### STEP 2 - Run config (re)generation ###################################
echo "=== (RE)GENERATING CONFIG ==="
perl utils/generate_unit_config.pl > generate_unit_config.log 2>&1
if [ $? -eq 0 ]; then
echo ""
green_echo "Config generated, see generate_unit_config.log for more details..."
echo ""
else
echo ""
red_echo "Config generation failed, log written to generate_unit_config.log"
echo ""
echo "Test abort, see log..."
exit 3
fi
######### STEP 3 - Check models for errors #####################################
if [ -z $skip_models ]; then
echo "=== CHECKING MODELS ==="
echo ""
echo "Get unit tester results:"
echo ""
# Model test
curl --cookie "curl/cookies_login.txt" "${url}/en/unit_tester/models" > curl/models.html
if [ $? -ne 0 ]; then
echo ""
red_echo "Can't connect to unit tester."
echo ""
exit 5
fi
# Test ouput
output=`perl utils/result_info.pl "curl/models.html" 2>&1`
if [ $? -ne 0 ]; then
echo ""
red_echo "Cannot validate ouput of test.\nError: ${output}"
echo ""
exit 6
fi
echo ""
errors_count=`echo $output | cut -d: -f1`
methods_count=`echo $output | cut -d: -f2`
files_count=`echo $output | cut -d: -f3`
if [ "$errors_count" != "0" ]; then
red_echo "Error in model test $errors_count tests failed, see: curl/models.html"
green_echo "$methods_count tests passed in $files_count models."
if [ -n "$open_browser" ] ; then
xdg-open curl/models.html 2>&1 1>/dev/null
fi
else
green_echo "$methods_count tests passed in $files_count models."
fi
echo ""
fi
######### STEP 4 - Check helpers for errors ####################################
if [ -z $skip_helpers ]; then
echo "=== CHECKING HELPERS ==="
echo ""
echo "Get unit tester results:"
echo ""
# Helper test
curl --cookie "curl/cookies_login.txt" "${url}/en/unit_tester/helpers" > curl/helpers.html
if [ $? -ne 0 ]; then
echo ""
red_echo "Can't connect to unit tester."
echo ""
exit 5
fi
# Test ouput
output=`perl utils/result_info.pl "curl/helpers.html" 2>&1`
if [ $? -ne 0 ]; then
echo ""
red_echo "Cannot validate ouput of test.\nError: ${output}"
echo ""
exit 6
fi
echo ""
errors_count=`echo $output | cut -d: -f1`
methods_count=`echo $output | cut -d: -f2`
files_count=`echo $output | cut -d: -f3`
if [ "$errors_count" != "0" ]; then
red_echo "Error in helper test $errors_count tests failed, see: curl/helpers.html"
green_echo "$methods_count tests passed in $files_count helpers."
if [ -n "$open_browser" ] ; then
xdg-open curl/helpers.html 2>&1 1>/dev/null
fi
else
green_echo "$methods_count tests passed in $files_count helpers."
fi
echo ""
fi
######### STEP 5 - Check controllers for errors ################################
if [ -z $skip_controlles ]; then
echo "=== CHECKING CONTROLLERS ==="
echo ""
echo "Wait please, this action can take several minutes..."
echo ""
output=`perl utils/controllers_test.pl "${url}" "curl/cookies_login.txt" 2>curl/tmp`
if [ "$?" != "0" ]; then
red_echo "Failed to check controllers, error:"
cat curl/tmp
rm curl/tmp
exit 7;
fi
errors_count=`echo $output | cut -d: -f1`
valid_count=`echo $output | cut -d: -f2`
if [ "$errors_count" != "0" ]; then
green_echo "$valid_count tests passed in controllers."
red_echo "$errors_count tests failed. Links to invalid tests:"
if [ -n "$open_browser" ] ; then
cat curl/tmp | while read url; do
echo $url
xdg-open "${url}" 2>&1 1>/dev/null
done
else
cat curl/tmp
fi
else
green_echo "$valid_count tests passed in controllers."
fi
rm curl/tmp
fi
################################################################################
echo ""
echo "=============================="
echo ""
green_echo "Done!"
echo ""
exit 0
freenetis/branches/device_templates/application/vendors/unit_tester/unit_testing_config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE unit_test SYSTEM "unit_testing_config.dtd">
<unit_test>
<controller name="access_rights">
<method name="index" autogenerate="off">
<attributes/>
<values>
<input>
<param name="get" value="jiosefo sef seS" type="get"/>
</input>
</values>
</method>
<method name="show_groups" autogenerate="off">
<attributes/>
<values>
<input>
<param name="get" value="jiosefo sef seS" type="get"/>
<param name="get 2" value="jiose" type="get"/>
</input>
</values>
</method>
<method name="edit_group" autogenerate="on">
<attributes>
<attribute name="group_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="show_acl" autogenerate="on">
<attributes></attributes>
<values>
<input></input>
</values>
</method>
</controller>
<controller name="accounts">
<method name="index" autogenerate="on">
<attributes></attributes>
<values>
<input></input>
</values>
</method>
<method name="show_all" autogenerate="on">
<attributes>
<attribute name="group" default_value="1" />
<attribute name="limit_results" default_value="500" />
<attribute name="order_by" default_value="id" />
<attribute name="order_by_direction" default_value="asc" />
<attribute name="page_word" default_value="" />
<attribute name="page" default_value="1" />
</attributes>
<values>
<input>
<param value="1" />
<param value="500" />
<param value="id" />
<param value="asc" />
<param value="" />
<param value="1" />
</input>
</values>
</method>
<method name="add_project" autogenerate="on">
<attributes></attributes>
<values>
<input></input>
</values>
</method>
<method name="edit" autogenerate="on">
<attributes>
<attribute name="acc_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="recalculate_account_balances" autogenerate="on">
<attributes></attributes>
<values>
<input></input>
</values>
</method>
</controller>
<controller name="address_points">
<method name="index" autogenerate="on">
<attributes></attributes>
<values>
<input></input>
</values>
</method>
<method name="show_all" autogenerate="on">
<attributes>
<attribute name="limit_results" default_value="500" />
<attribute name="order_by" default_value="id" />
<attribute name="order_by_direction" default_value="ASC" />
<attribute name="page_word" default_value="" />
<attribute name="page" default_value="1" />
</attributes>
<values>
<input>
<param value="500" />
<param value="id" />
<param value="ASC" />
<param value="" />
<param value="1" />
</input>
</values>
</method>
<method name="show" autogenerate="on">
<attributes>
<attribute name="address_point_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="add" autogenerate="on">
<attributes></attributes>
<values>
<input></input>
</values>
</method>
<method name="edit" autogenerate="on">
<attributes>
<attribute name="address_point_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="delete" autogenerate="on">
<attributes>
<attribute name="address_point_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
</controller>
<controller name="allowed_subnets">
<method name="show_by_member" autogenerate="on">
<attributes>
<attribute name="member_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="add" autogenerate="on">
<attributes>
<attribute name="member_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="delete" autogenerate="on">
<attributes>
<attribute name="allowed_subnet_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="change" autogenerate="on">
<attributes>
<attribute name="allowed_subnet_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
</controller>
<controller name="allowed_subnets_counts">
<method name="edit" autogenerate="on">
<attributes>
<attribute name="member_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
</controller>
<controller name="approval_template_items">
<method name="index" autogenerate="on">
<attributes></attributes>
<values>
<input></input>
</values>
</method>
<method name="add" autogenerate="on">
<attributes>
<attribute name="approval_template_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="edit" autogenerate="on">
<attributes>
<attribute name="approval_template_item_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="move_up" autogenerate="on">
<attributes>
<attribute name="approval_template_item_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="move_down" autogenerate="on">
<attributes>
<attribute name="approval_template_item_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="delete" autogenerate="on">
<attributes>
<attribute name="approval_template_item_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="valid_approval_type" autogenerate="on">
<attributes>
<attribute name="input" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="valid_priority" autogenerate="on">
<attributes>
<attribute name="input" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
</controller>
<controller name="approval_templates">
<method name="index" autogenerate="on">
<attributes></attributes>
<values>
<input></input>
</values>
</method>
<method name="show_all" autogenerate="on">
<attributes>
<attribute name="limit_results" default_value="100" />
<attribute name="order_by" default_value="id" />
<attribute name="order_by_direction" default_value="ASC" />
<attribute name="page_word" default_value="" />
<attribute name="page" default_value="1" />
</attributes>
<values>
<input>
<param value="100" />
<param value="id" />
<param value="ASC" />
<param value="" />
<param value="1" />
</input>
</values>
</method>
<method name="show" autogenerate="on">
<attributes>
<attribute name="approval_template_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="add" autogenerate="on">
<attributes></attributes>
<values>
<input></input>
</values>
</method>
<method name="edit" autogenerate="on">
<attributes>
<attribute name="approval_template_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="delete" autogenerate="on">
<attributes>
<attribute name="approval_template_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
</controller>
<controller name="approval_types">
<method name="index" autogenerate="on">
<attributes></attributes>
<values>
<input></input>
</values>
</method>
<method name="show_all" autogenerate="on">
<attributes>
<attribute name="limit_results" default_value="100" />
<attribute name="order_by" default_value="id" />
<attribute name="order_by_direction" default_value="ASC" />
<attribute name="page_word" default_value="" />
<attribute name="page" default_value="1" />
</attributes>
<values>
<input>
<param value="100" />
<param value="id" />
<param value="ASC" />
<param value="" />
<param value="1" />
</input>
</values>
</method>
<method name="show" autogenerate="on">
<attributes>
<attribute name="approval_type_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="add" autogenerate="on">
<attributes></attributes>
<values>
<input></input>
</values>
</method>
<method name="edit" autogenerate="on">
<attributes>
<attribute name="approval_type_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="delete" autogenerate="on">
<attributes>
<attribute name="approval_type_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="valid_majority_percent" autogenerate="on">
<attributes>
<attribute name="input" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="valid_interval" autogenerate="on">
<attributes>
<attribute name="input" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="valid_default_vote" autogenerate="on">
<attributes>
<attribute name="input" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
</controller>
<controller name="bank_accounts">
<method name="index" autogenerate="on">
<attributes></attributes>
<values>
<input></input>
</values>
</method>
<method name="show_all" autogenerate="on">
<attributes>
<attribute name="limit_results" default_value="500" />
<attribute name="order_by" default_value="id" />
<attribute name="order_by_direction" default_value="ASC" />
<attribute name="page_word" default_value="" />
<attribute name="page" default_value="1" />
</attributes>
<values>
<input>
<param value="500" />
<param value="id" />
<param value="ASC" />
<param value="" />
<param value="1" />
</input>
</values>
</method>
<method name="add" autogenerate="on">
<attributes>
<attribute name="member_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
</controller>
<controller name="bank_statements">
<method name="show_by_bank_account" autogenerate="on">
<attributes>
<attribute name="bank_account_id" default_value="" />
<attribute name="limit_results" default_value="500" />
<attribute name="order_by" default_value="id" />
<attribute name="order_by_direction" default_value="desc" />
<attribute name="page_word" default_value="" />
<attribute name="page" default_value="1" />
</attributes>
<values>
<input>
<param value="" />
<param value="500" />
<param value="id" />
<param value="desc" />
<param value="" />
<param value="1" />
</input>
</values>
</method>
<method name="edit" autogenerate="on">
<attributes>
<attribute name="bank_statement_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="delete" autogenerate="on">
<attributes>
<attribute name="bank_statement_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
</controller>
<controller name="bank_templates">
<method name="index" autogenerate="on">
<attributes></attributes>
<values>
<input></input>
</values>
</method>
<method name="show_all" autogenerate="on">
<attributes>
<attribute name="limit_results" default_value="200" />
<attribute name="order_by" default_value="id" />
<attribute name="order_by_direction" default_value="asc" />
<attribute name="page_word" default_value="" />
<attribute name="page" default_value="1" />
</attributes>
<values>
<input>
<param value="200" />
<param value="id" />
<param value="asc" />
<param value="" />
<param value="1" />
</input>
</values>
</method>
<method name="show" autogenerate="on">
<attributes>
<attribute name="template_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="add" autogenerate="on">
<attributes></attributes>
<values>
<input></input>
</values>
</method>
<method name="edit" autogenerate="on">
<attributes>
<attribute name="template_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
</controller>
<controller name="bank_transfers">
<method name="index" autogenerate="on">
<attributes></attributes>
<values>
<input></input>
</values>
</method>
<method name="show_by_bank_account" autogenerate="on">
<attributes>
<attribute name="bank_account_id" default_value="" />
<attribute name="limit_results" default_value="500" />
<attribute name="order_by" default_value="id" />
<attribute name="order_by_direction" default_value="desc" />
<attribute name="page_word" default_value="" />
<attribute name="page" default_value="1" />
</attributes>
<values>
<input>
<param value="" />
<param value="500" />
<param value="id" />
<param value="desc" />
<param value="" />
<param value="1" />
</input>
</values>
</method>
<method name="show_by_bank_statement" autogenerate="on">
<attributes>
<attribute name="bank_statement_id" default_value="" />
<attribute name="limit_results" default_value="500" />
<attribute name="order_by" default_value="id" />
<attribute name="order_by_direction" default_value="desc" />
<attribute name="page_word" default_value="" />
<attribute name="page" default_value="1" />
</attributes>
<values>
<input>
<param value="" />
<param value="500" />
<param value="id" />
<param value="desc" />
<param value="" />
<param value="1" />
</input>
</values>
</method>
<method name="unidentified_transfers" autogenerate="on">
<attributes>
<attribute name="limit_results" default_value="500" />
<attribute name="order_by" default_value="id" />
<attribute name="order_by_direction" default_value="asc" />
<attribute name="page_word" default_value="" />
<attribute name="page" default_value="1" />
</attributes>
<values>
<input>
<param value="500" />
<param value="id" />
<param value="asc" />
<param value="" />
<param value="1" />
</input>
</values>
</method>
<method name="assign_transfer" autogenerate="on">
<attributes>
<attribute name="trans_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="add" autogenerate="on">
<attributes>
<attribute name="baa_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="add_fee" autogenerate="on">
<attributes>
<attribute name="baa_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="valid_amount" autogenerate="on">
<attributes>
<attribute name="input" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="valid_correct_vs" autogenerate="on">
<attributes>
<attribute name="input" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
</controller>
<controller name="clouds">
<method name="index" autogenerate="on">
<attributes></attributes>
<values>
<input></input>
</values>
</method>
<method name="show_all" autogenerate="on">
<attributes>
<attribute name="limit_results" default_value="20" />
<attribute name="order_by" default_value="id" />
<attribute name="order_by_direction" default_value="ASC" />
<attribute name="page_word" default_value="" />
<attribute name="page" default_value="1" />
</attributes>
<values>
<input>
<param value="20" />
<param value="id" />
<param value="ASC" />
<param value="" />
<param value="1" />
</input>
</values>
</method>
<method name="show" autogenerate="on">
<attributes>
<attribute name="cloud_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="add" autogenerate="on">
<attributes></attributes>
<values>
<input></input>
</values>
</method>
<method name="add_subnet" autogenerate="on">
<attributes>
<attribute name="cloud_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="edit" autogenerate="on">
<attributes>
<attribute name="cloud_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="delete" autogenerate="on">
<attributes>
<attribute name="cloud_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
</controller>
<controller name="comments">
<method name="add" autogenerate="on">
<attributes>
<attribute name="comments_thread_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="edit" autogenerate="on">
<attributes>
<attribute name="comment_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="delete" autogenerate="on">
<attributes>
<attribute name="comment_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
</controller>
<controller name="comments_threads">
<method name="add" autogenerate="on">
<attributes>
<attribute name="type" default_value="" />
<attribute name="fk_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
<param value="" />
</input>
</values>
</method>
</controller>
<controller name="config_files">
<method name="index" autogenerate="on">
<attributes></attributes>
<values>
<input></input>
</values>
</method>
<method name="dhcp" autogenerate="on">
<attributes></attributes>
<values>
<input></input>
</values>
</method>
<method name="dns_reverse" autogenerate="on">
<attributes></attributes>
<values>
<input></input>
</values>
</method>
<method name="dns_forward" autogenerate="on">
<attributes></attributes>
<values>
<input></input>
</values>
</method>
<method name="mac_restriction" autogenerate="on">
<attributes></attributes>
<values>
<input></input>
</values>
</method>
<method name="settings" autogenerate="on">
<attributes></attributes>
<values>
<input></input>
</values>
</method>
<method name="generate_dhcp" autogenerate="on">
<attributes>
<attribute name="primary_dns" default_value="" />
<attribute name="secondary_dns" default_value="" />
<attribute name="tertiary_dns" default_value="" />
<attribute name="lease_time" default_value="" />
<attribute name="max_lease_time" default_value="" />
<attribute name="subnet_id" default_value="" />
<attribute name="subnet_id2" default_value="" />
<attribute name="subnet_id3" default_value="" />
</attributes>
<values>
<input>
<param value="" />
<param value="" />
<param value="" />
<param value="" />
<param value="" />
<param value="" />
<param value="" />
<param value="" />
</input>
</values>
</method>
<method name="dhcp_subnet" autogenerate="on">
<attributes>
<attribute name="subnet_id" default_value="" />
<attribute name="settings" default_value="" />
</attributes>
<values>
<input>
<param value="" />
<param value="" />
</input>
</values>
</method>
<method name="time_conversion" autogenerate="on">
<attributes>
<attribute name="time" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="generate_dns_reverse" autogenerate="on">
<attributes>
<attribute name="ip_prefix" default_value="0" />
<attribute name="cloud_id" default_value="0" />
<attribute name="refresh" default_value="28800" />
<attribute name="retry" default_value="7200" />
<attribute name="expire" default_value="604800" />
<attribute name="minimum" default_value="86400" />
<attribute name="time_to_live" default_value="86400" />
<attribute name="name_server" default_value="" />
<attribute name="name_server2" default_value="" />
<attribute name="mail_exchange" default_value="" />
<attribute name="soa_record" default_value="" />
<attribute name="dns_admin" default_value="" />
</attributes>
<values>
<input>
<param value="0" />
<param value="0" />
<param value="28800" />
<param value="7200" />
<param value="604800" />
<param value="86400" />
<param value="86400" />
<param value="" />
<param value="" />
<param value="" />
<param value="" />
<param value="" />
</input>
</values>
</method>
<method name="generate_dns_forward" autogenerate="on">
<attributes>
<attribute name="cloud_id" default_value="0" />
<attribute name="refresh" default_value="28800" />
<attribute name="retry" default_value="7200" />
<attribute name="expire" default_value="604800" />
<attribute name="minimum" default_value="86400" />
<attribute name="time_to_live" default_value="86400" />
<attribute name="name_server" default_value="" />
<attribute name="name_server2" default_value="" />
<attribute name="mail_exchange" default_value="" />
<attribute name="soa_record" default_value="" />
<attribute name="dns_admin" default_value="" />
</attributes>
<values>
<input>
<param value="0" />
<param value="28800" />
<param value="7200" />
<param value="604800" />
<param value="86400" />
<param value="86400" />
<param value="" />
<param value="" />
<param value="" />
<param value="" />
<param value="" />
</input>
</values>
</method>
<method name="generate_mac_restriction" autogenerate="on">
<attributes>
<attribute name="subnet_id" default_value="0" />
</attributes>
<values>
<input>
<param value="0" />
</input>
</values>
</method>
<method name="callback_valid_ip" autogenerate="on">
<attributes>
<attribute name="input" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="valid_ip" autogenerate="on">
<attributes>
<attribute name="input" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="valid_ip2" autogenerate="on">
<attributes>
<attribute name="input" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="valid_ip3" autogenerate="on">
<attributes>
<attribute name="input" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="check_ip" autogenerate="on">
<attributes>
<attribute name="ip" default_value="" />
<attribute name="net" default_value="" />
<attribute name="mask" default_value="" />
<attribute name="input" default_value="" />
</attributes>
<values>
<input>
<param value="" />
<param value="" />
<param value="" />
<param value="" />
</input>
</values>
</method>
</controller>
<controller name="device_admins">
<method name="edit" autogenerate="on">
<attributes>
<attribute name="device_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="edit_user" autogenerate="on">
<attributes>
<attribute name="user_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="delete" autogenerate="on">
<attributes>
<attribute name="device_admin_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
</controller>
<controller name="device_engineers">
<method name="add" autogenerate="on">
<attributes>
<attribute name="device_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
<method name="delete" autogenerate="on">
<attributes>
<attribute name="rel_id" default_value="" />
</attributes>
<values>
<input>
<param value="" />
</input>
</values>
</method>
</controller>
<controller name="devices">
<method name="index" autogenerate="on">
<attributes></attributes>
<values>
<input></input>
</values>
</method>
<method name="show_all" autogenerate="on">
<attributes>
<attribute name="limit_results" default_value="500" />
<attribute name="order_by" default_value="device_id" />
<attribute name="order_by_direction" default_value="ASC" />
<attribute name="page_word" default_value="" />
<attribute name="page" default_value="1" />
</attributes>
<values>
<input>
<param value="500" />
<param value="device_id" />
<param value="ASC" />
<param value="" />
<param value="1" />
</input>
</values>
</method>
<method name="show_by_user" autogenerate="on">
<attributes>
<attribute name="user_id" default_value="" />
<attribute name="limit_results" default_value="10" />
<attribute name="order_by" default_value="id" />
<attribute name="order_by_direction" default_value="asc" />
<attribute name="page_word" default_value="page" />
<attribute name="page" default_value="1" />
</attributes>
<values>
<input>
<param value="" />
... Rozdílový soubor je zkrácen, protože jeho délka přesahuje max. limit.

Také k dispozici: Unified diff