Обработка события создания договора
Материал из BiTel WiKi
(Различия между версиями)
Snark (Обсуждение | вклад)
(Новая: Все приведенные ниже скрипты привязываются к событию ядра "Договор создан". == Модуль Dialup == === Создани...)
Следующая правка →
(Новая: Все приведенные ниже скрипты привязываются к событию ядра "Договор создан". == Модуль Dialup == === Создани...)
Следующая правка →
Версия 12:26, 23 декабря 2008
Все приведенные ниже скрипты привязываются к событию ядра "Договор создан".
Модуль Dialup
Создание алиаса для договора
Все создаваемые договора должны иметь алиас идеинтичный номеру договора.
Для этого необходимо:
- В шаблоне, на основе которого создается договор, указать необходимость создания для него логина.
- Создать скрипт следующего содержания:
import java.util.*; import java.sql.*; // код модуля dialup RADIUS_MID = 1; cid = event.getContractID(); query = "INSERT INTO user_alias_" + RADIUS_MID + " SELECT ul.id, c.title FROM contract c LEFT JOIN user_login_" + RADIUS_MID + " ul ON (ul.cid = c.id) WHERE c.id = ?"; stmnt = con.prepareStatement(query); stmnt.setInt(1, cid); stmnt.executeUpdate();
Пароль на доступ к статистике из логина
Все создаваемые договора должны иметь пароль на доступ к статистике идеинтичный паролю логина.
Для этого необходимо:
- В шаблоне, на основе которого создается договор, указать необходимость создания для него логина (см. изображение выше).
- Создать скрипт следующего содержания:
import java.util.*; import java.sql.*; // код модуля dialup RADIUS_MID = 1; cid = event.getContractID(); query = "UPDATE contract SET pswd = (SELECT pswd FROM user_login_" + RADIUS_MID + " WHERE cid = ?) WHERE id = ?"; stmnt = con.prepareStatement(query); stmnt.setInt(1, cid); stmnt.setInt(2, cid); stmnt.executeUpdate();
--snark