Обработка события создания договора

Материал из BiTel WiKi

(Различия между версиями)
Перейти к: навигация, поиск
Snark (Обсуждение | вклад)
(Новая: Все приведенные ниже скрипты привязываются к событию ядра "Договор создан". == Модуль Dialup == === Создани...)
Следующая правка →

Версия 12:26, 23 декабря 2008

Все приведенные ниже скрипты привязываются к событию ядра "Договор создан".

Модуль Dialup

Создание алиаса для договора

Все создаваемые договора должны иметь алиас идеинтичный номеру договора.

Для этого необходимо:

  • В шаблоне, на основе которого создается договор, указать необходимость создания для него логина.
Изображение:Dialup_create_login.jpg
  • Создать скрипт следующего содержания:
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

Личные инструменты