Перейти до

Заморозка пользователя по указанному числу


Рекомендованные сообщения

Здравствуйте , существует ли возможность заморозки пользователей по дате в UBILLING. Возможно догадываюсь что это может собака наблюдака? подскажите если реализация?

Ссылка на сообщение
Поделиться на других сайтах

Посмотрите в доке параметр autofreeze.

Запускайте в нужное Вам число месяца.

У нас 28 замораживаются те, кто так и не пополнил баланс в текущем месяце.

Ссылка на сообщение
Поделиться на других сайтах

Не совсем вы меня поняли, допуситим клиент звонит, и говорит, Уезжаю в отпуск замарозте меня с 8 числа следующего месяца,  хотя на данный момент допустим 26 текущего, диспетчер хоп и не парится, автозамарозку включила и все, ну я посмотрю всетаки апи, может свое допишу чего. спасибо все равно

Ссылка на сообщение
Поделиться на других сайтах

Было бы кстати интересно. 

Я понял Вашу мысль.

Пока выходим следующим образом: 

Допустим есть клиент с АП - 65 грн/мес. Он проплатил текущий месяц и не проплатил следующий, но просит заморозить с 8-го следующего.

Просто ставим кредит до 8 на 65 грн.

8-го числа кредит истекает и его отключает.

После он приезжает и говорит включите я приехала из Бразилии. Бух смотрит на LAT (там 8-е число) и уже пересчитывает.

Ссылка на сообщение
Поделиться на других сайтах

А если абонентская плата снимается каждый день? (да да, знаю что это не правильно). То эта фишка была б очень интересной.

Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)

Написал модуль по быстрому для заморозки, кому нужно посмотрите. строго не судите.

https://yadi.sk/d/o9TjdzkJkEkvf

может кто напишет лучше

, для установки создать таблицу

CREATE TABLE `usersfreeze` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `login` varchar(255) NOT NULL,
  `date` int(11) NOT NULL,
  `datefreez` int(11) NOT NULL,
  `active` tinyint(3) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

в alter.ini

TIMEFREEZE_ENABLED=1

в globalmenu.ini

[timefreez]
 
NAME="Заказ заморозки"
URL="?module=timefreez"
ICON=""
CATEGORY=2
NEED_RIGHT=TIMEFREEZ
NEED_OPTION=

 

 

добавить в крон скрипт в архиве на выполнение ежесуточно. думаю разберетесь

Відредаговано AlexSt
Ссылка на сообщение
Поделиться на других сайтах
  • 2 weeks later...
  В 05.11.2015 в 05:06, AlexSt сказав:
Написал модуль по быстрому для заморозки, кому нужно посмотрите. строго не судите.

Посмотрел по коду - вполне себе вменяемо.  С API Astral даже разобрались :)

 

Несколько нюансов:

            $tablecells=wf_TableCell(__('Логин'));
            $tablecells.=wf_TableCell(__('Дата постановки задачи'));
            $tablecells.=wf_TableCell(__('Дата включения замарозки'));
            $tablecells.=wf_TableCell(__('Статус задачи'));
            $tablecells.=wf_TableCell(__('Грохнуть задачу'));

Это функции gettext-образной локализации, ожидающие соответствующей локали в /languages/. Собсно __('Login') и другие должны таки быть изначально в en и транслироваться на ходу функцией __().

$active="<font color='red'>Активная задача</font>";

В таких ситуациях лучше использовать что-то типа

wf_tag('font',false,'','color="#FF0000"')

И да, начиная с 0.7.3 как-то так

 

dealwithit.png

Відредаговано nightfly
Ссылка на сообщение
Поделиться на других сайтах

Взял модуль на вооружение.

И даже немного подправил в плане того, что если перейти на него из профиля пользователя, указав в url логин, то логин уже подставляется в нужное поле.

и .... 

Обновился до каррента .... 

Но за идею спасибо, и спасибо nightfly за полновесное решение ;)

Ссылка на сообщение
Поделиться на других сайтах
  В 14.11.2015 в 12:27, nightfly сказав:

 

  В 05.11.2015 в 05:06, AlexSt сказав:
Написал модуль по быстрому для заморозки, кому нужно посмотрите. строго не судите.

Посмотрел по коду - вполне себе вменяемо.  С API Astral даже разобрались :)

 

Несколько нюансов:

            $tablecells=wf_TableCell(__('Логин'));
            $tablecells.=wf_TableCell(__('Дата постановки задачи'));
            $tablecells.=wf_TableCell(__('Дата включения замарозки'));
            $tablecells.=wf_TableCell(__('Статус задачи'));
            $tablecells.=wf_TableCell(__('Грохнуть задачу'));

Это функции gettext-образной локализации, ожидающие соответствующей локали в /languages/. Собсно __('Login') и другие должны таки быть изначально в en и транслироваться на ходу функцией __().

$active="<font color='red'>Активная задача</font>";

В таких ситуациях лучше использовать что-то типа

wf_tag('font',false,'','color="#FF0000"')

И да, начиная с 0.7.3 как-то так

 

dealwithit.png

 

 

 

 

 

 

 

 

 

 

 

 

 

 

буду иметь ввиду за обнову спасибо

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

  • Схожий контент

    • Від camchatix
      Добрий день,
      створили запасний NAS із зайвою хромосомою, все працює але коли треба вбити сесію користувача - то у списку NAS серверів лише один (той що основний)
      переназначити швидкість теж не можу
      я так розумію пакети CoA Disconnect, CoA connect, PoD - ідуть на IP адресу старого NAS ?
    • Від grach_witch_cheese
      Вітаю, колеги!
      Маю наступну схему:
      DHCP-сервер: Accel-PPP (IPoE) DHCP-Relay: MikroTik RADIUS: Запущений безпосередньо на сервері uBilling Зараз авторизація абонентів здійснюється за MAC-адресою, але планується перехід на авторизацію через Option 82.
      У документації uBilling наведені приклади конфігурацій, коли DHCP-сервер працює локально (на самому uBilling) і містить відповідні шаблони для обробки Option 82.
      Однак немає чіткої інформації про використання Option 82 при віддаленому DHCP-сервері, зокрема, коли Accel-PPP використовується як DHCP-сервер у режимі remote та налаштований через Купаген.
      Питання:
      Чи можливо використовувати Accel-PPP як віддалений DHCP-сервер з авторизацією через Option 82? Якщо так, то де відбувається парсинг значень Remote-ID і Circuit-ID? Де в цьому випадку мають зберігатися шаблони для Option 82? Буду вдячний за роз'яснення або посилання на відповідні приклади.
    • Від nightfly
      Ubilling 1.5.2 rev 9302 Book of Endings
       
      Зміни в структурі БД. alter.ini: нова опція FASTPROFITCALC_ENABLED, що вмикає швидкий підрахунок прибутку. alter.ini: нова необов'язкова опція KARMA_IN_PROFILE що вмикає показ карми в профілі користувача. alter.ini: нова опція SWITCHES_AUTH_ENABLED, що вмикає довідник даних авторизації пристроїв. alter.ini: нова опція PON_SCRIPTS_ENABLED, що вмикає підтримку скриптів OLT в ПОНізаторі. alter.ini: нова опція PON_ONU_FDB_SELFFILTER, що вмикає фільтр MAC-ів при відображенні FDB за ONU. alter.ini: нова опція USERBYIP_ENABLED, що вмикає виклик userbyip в RemoteAPI. alter.ini: пачка нових опцій PB_FASTURL_*, що керують поведінкою модулю відсилання коротких посилань на оплату. Модуль PONizer: виправлена помилка зникнення PON інтерфейсів при опиті BDCOM GP3600 Модуль “Профіль користувача”: для опису плагінів профілю та оверлеїв на кшталт “чорної магії” тепер опційно можливо вказувати link_target. Модуль “Панель задач”: для опису елементів панелі задач, тепер опційно можна вказувати LINK_TARGET. Модуль Записи телефонних розмов: вирішено проблеми швидкодії, при перегляді списку записів дзвінків. Модуль “Записи телефонних розмов”: більше не призводить до вичерпання пам'яті процесу, при перегляді великих архівів дзвінків. Модуль “Записи телефонних розмов”: новий аудіо-плеєр для прослуховування записів з візуалізацією аудіо-хвилі. Модуль “Пошук оплат”: реалізовано можливість швиденького підрахунку прибутку по обраних чекбоксами платежах. Модуль УКВ: реалізовано можливість швиденького підрахунку прибутку по обраних чекбоксами платежах. Модулі Мапа обладнання та користувачів: трішки вичищено код. Ліпше не стало. Модуль “Мапа будинків”: поле пошуку при розташуванні будинку, тепер попередньо заповнено локацією, при переході за посиланням “розташувати на мапі”. Модуль “Панель задач”: опція TB_QUICKSEARCH_INLINE змінила свою поведінку, та може тепер приймати значення 0|1|2. Модуль “Звіт по трафіку”: виправлено проблему відображення графіків OphanimFlow для NAS на роздільних здатностях менше ніж FullHD. Кабінет користувача: в модулі “Відеоспостереження” відображення попереднього перегляду каналів користувача, стало трішки притомнішим. Сховище зображень: трішки покращено поведінку форми завантаження. RemoteAPI: новий виклик onusigcompressor, що радикально стискає розпухаючі дані історії сигналів ONU. RemoteAPI: новий виклик pbxmonrefill, що оновлює кеш записів телефонних розмов. RemoteAPI: новий виклик userbyip, що повертає дані про користувача за його IP. OpenPayz: в бекенді та фронтенді platon виправлено проблему диких заокруглень, при вказанні зовнішньої комісії.  
      Повний чейнджлог
      Оновлена демка
       

    • Від ppv
      Після оновлення до 1.5.1 не відображаються сигнали на
      OLT BDCOM P3310B (Device version10.1.0B)

      та
      P3608-2TE (Firmware Version10.1.0E). 

      3310C та P3608B ніяких проблем немає, знімає все добре. 
      З GPON3600-8 все зрозуміло будуть виправлення в Ubilling: 1.5.2.
       
      Може в когось було щось подібне? Хочу знати куди копати.
    • Від mac
      Глюк в тому, що один (так - тільки один) mac адрес onu існує в білінгу у вигляді строки. Це трохи заважає.
      olt - bdcom gepon.
      Наскільки зрозумів, це виключно проблема реалізації snmpwalk у freebsd, де snmpwalk може на свій розсуд віддати mac адресу не як hex-string, а як звичайний string.
      Можливо snmpwalk тригериться на якомусь символі, мені невідомо.
       
      # tcpdump -vv -i em0 udp port 161 and host olt and host ub | grep "3320.101.10.4.1.1.241 ... olt.snmp > ub.47940: [udp sum ok] { SNMPv2c C="*****" { GetResponse(44) R=93278354 E:3320.101.10.4.1.1.241="8LO"W*" } } ub.47940 > olt.snmp: [udp sum ok] { SNMPv2c C="*****" { GetNextRequest(34) R=93278355 E:3320.101.10.4.1.1.241 } } snmpwalk -c***** -v2c -t5 olt .1.3.6.1.4.1.3320.101.10.4.1.1 SNMPv2-SMI::enterprises.3320.101.10.4.1.1.241 = STRING: "8LO\"W*" snmpwalk -Ox -c***** -v2c -t5 olt .1.3.6.1.4.1.3320.101.10.4.1.1 SNMPv2-SMI::enterprises.3320.101.10.4.1.1.241 = Hex-STRING: 38 4C 4F 22 57 2A  
      Це стосується таких параметрів у snmp конфізі bdcom
       
      [signal] MACINDEX=".1.3.6.1.4.1.3320.101.10.4.1.1" [misc] ONUINDEX=".1.3.6.1.4.1.3320.101.11.1.1.3"  
      За для усунення глюку спробував трошки змінити код і завдати тип snmp параметру явно у ./api/libs/api.ponbdcom.php у function collect()
      Це працює. Мабуть станеться у нагоді:
       
      # diff api.ponbdcom.php{.new,.bak} 37c37 < $onuIndex = $this->snmp->walk('-Ox ' . $oltIp . ':' . self::SNMPPORT, $oltCommunity, $onuIndexOid, self::SNMPCACHE); --- > $onuIndex = $this->snmp->walk($oltIp . ':' . self::SNMPPORT, $oltCommunity, $onuIndexOid, self::SNMPCACHE); 91c91 < $macIndex = $this->snmp->walk('-Ox ' . $oltIp . ':' . self::SNMPPORT, $oltCommunity, $macIndexOID, self::SNMPCACHE); --- > $macIndex = $this->snmp->walk($oltIp . ':' . self::SNMPPORT, $oltCommunity, $macIndexOID, self::SNMPCACHE);  
      P.S. Створив тему, а зараз міркую: а може це глюк у ПЗ olt. Оновлю фірмваре olt та перевірю...
       

×
×
  • Створити нове...