sadr0b0t / vkurse

Automatically exported from code.google.com/p/vkurse
0 stars 0 forks source link

Отсутствует возможность редактирования элементов списка + подтверждение удаления элемента #12

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago

Переношу обсуждение сюда:

>>добавление возможности редактирования 
существующих записей

>    нам точно это нужно прямо в первом 
релизе?

>    там максимум по 3 параметра у каждого 
элемента. Проще удалить и добавить.

Точно нужно. Удаление  будет подходить 
только до тех пор, пока на запись нет 
внешних ссылок из других таблиц - как 
только на преподавателя появится ссылка из 
внешней таблицы - например из списка 
лекций, операция удаления начнет выдавать 
ошибку нарушения внешнего ключа. Исправить 
опечатку в фамилии или ученой степени 
будет невозможно.

 >   Тем более, что редактирование имеет смысл только когда интерфейс базы
 >   это поддерживает. А у нас не поддерживает.

Как же не поддерживает, когда во всех 
таблицах есть метод update?

    >>добавление экранов
    > подтверждения

    >Может, просто на javascript сделать окошко всплывающее?

Давайте не будем фантазировать в последние 
минуты - нам бы с html'ем плоским разобраться, 
а ты еще JavaScript предлагаешь. Если бы 
основная версия была готова вовремя месяц 
назад, то можно было бы и с яваскриптом 
поэкспериментировать для улучшения 
удобства, сейчас - однозначно нет.

Добавление допстраниц - нет ничего 
сложного - просто передавай id записи в 
качестве параметра и считывай ее на новой 
странице. Тем более, что если для удаления 
можно было обойтись без экрана 
подтверждения, то для редактирования без 
него уже не обойтись, т.к. нужно где-то 
отображать список редактируемых элементов.

Логика работы примерно такая - для 
редактирования:

У нас есть 2 страницы:
- страница list_items.jsp - список элементов
- страница edit_item.jsp - экран редактирования 
выбранной записи

1. Кликаем на элементе списка - открывает 
экран редактирования выбранной записи с 
указанным айдишником:
list_items.jsp -> edit_item.jsp?itemId=123

2. На странице edit_item.jsp по параметру itemId 
редактируемая запись достается из базы 
данных:
Item editedItem = ItemTable.get(itemId)

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

3. На странице edit_item.jsp пользователь 
сабмитит форму - все введенные значения 
отправляются обратно на страницу list_items.jsp, 
в шапке которой находится Java-код, который 
принимает акшен "edit", считывает переданные 
параметры и делает ItemTable.update(item). В общем все 
тоже самое, что сейчас сделано для акшенов 
"add" и "delete", только появляется еще 
дополнительная промежуточная страница.

Абсолютно аналогично делается экран 
подтверждения для удаления элементов - 
только еще проще - обратно на list_items.jsp нужно 
передавать только itemId - сейчас это уже 
должно быть выполнено насколько я понимаю.

Original issue reported on code.google.com by bender...@gmail.com on 4 Nov 2010 at 11:21

GoogleCodeExporter commented 9 years ago
Так, сделано.

Сделаны подтверждения и редактирование.

Ну, по крайне мере, для меня работают.

Проверяйте, если устраивает - закрывайте 
баг.

Original comment by Lockyw...@gmail.com on 7 Nov 2010 at 3:23

GoogleCodeExporter commented 9 years ago
Спасибо - так намного лучше.

По этой теме только два пожелания:
- В форму редактирования добавить кнопку 
"отмена"
- Для единообразия в диалоге подтверждения 
удаления ссылки "да"/"нет" также заменить 
кнопками - реализовать несложно - нужно 
просто сделать форму с одним невидимым 
полем ввода, значением которого будет id 
(надо полагать редактирование формы сейчас 
сделано таким же образом).

Original comment by bender...@gmail.com on 7 Nov 2010 at 4:47

GoogleCodeExporter commented 9 years ago

Original comment by Lockyw...@gmail.com on 14 Nov 2010 at 6:01