• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Dialog Server Side.help

  • Автор темы Автор темы susinmn
  • Дата начала Дата начала
S

susinmn

Задача: утвердить выделенные документы во view. Причем нужно, если документ не получилось утвердить (есть стоп-условия), нужно вывести диалог со стоп-условиями и вопросом продолжить выполнение остальных документов (Ок/Отмена).

Пытаюсь сделать через Dialog библиотеки XPagesExtensionLibrary. Возможно ли дождаться ответа от пользователя и отловить события нажатия кнопок в диалоговом окне?
 
Получилось пока только так:

Обрабатываю ssjs выделенные документы во view. Как только в документе возникает стоп-условие:
1. передаю в viewScope стоп-условие
1. передаю в viewScope NoteID оставшихся выделенных документов
2. вывожу Dialog из XPages Extension Library с кнопками OK и Cancel

На кнопке OK ssjs обрабатываю оставшиеся документы c Partial Update view, csjs-XSP.closeDialog('#{id:dialog1}');

Вопрос: в IE после выполнения, при нажатии F5 вылазиет сообщение *Что бы еще раз отобразить эту веб-страницу, веб-обозревателю нужно повторить отправку указанных данных...*. Как это обойти?

P.S.: Если сделать на страничке только view, по кнопке утвердить только обработку выделенных документов, запись стоп-условий в viewTitle и Partial Update view, то при нажатии F5 в IE сообщение не возникает. Если же view поместить в табличку с закладками и переключиться с одной закладки на другой, то после нажатия F5 сообщение вылазиет(
 
P.S.: Если сделать на страничке только view, по кнопке утвердить только обработку выделенных документов, запись стоп-условий в viewTitle и Partial Update view, то при нажатии F5 в IE сообщение не возникает. Если же view поместить в табличку с закладками и переключиться с одной закладки на другой, то после нажатия F5 сообщение вылазиет(
Помогает context.redirectToPage().
 
Можно пример как выводите диалог после серверной обработки
Посмотри пример в XPages Extension Library
Код:
var d = getComponent('dialog1');
d.show()
Не стали так делать. Сейчас стоп-условия вывожу по каждому документу через dojo dGrowl. Комментарий при отклонении через xe:tooltipDialog.
 
Последнее редактирование:
Если же view поместить в табличку с закладками и переключиться с одной закладки на другой, то после нажатия F5 сообщение вылазиет(
Естественно - там не оптимальная логика: работа в клиенте, а логика через жопу сервер. Плохо это. И Дожо этим же часто грешит.
Да и диалоги, часто, лучше делать ручками, через обычный контейнер.
 
Как только в документе возникает стоп-условие
стоп-условие зависит от обработки предыдущих доков или специфично документу?
Если документу - то может стоп условия вынести сразу в клиентскую часть?
м.б. я процесс не правильно понимаю - звиняйте, что помешал общаться :)
 
стоп-условие зависит от обработки предыдущих доков или специфично документу?
Если документу - то может стоп условия вынести сразу в клиентскую часть?
м.б. я процесс не правильно понимаю - звиняйте, что помешал общаться :)
Изначально делалось это, например, для случая, когда сотрудник пытается утверждить несколько документов, но у него нет доверенности для их утверждения. Что бы не выводить 10 стоп-условий, хотели сделать остановку.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab