Bug #1829 Анонимы и пользователи без прав имеют доступ к странице организаций по прямой ссылке.

При переходе по прямой ссылке под анонимом, пользователем без прав,
представителем организации или экспертом Б на страницу организаций (
http://exmo.svobodainfo.org/exmo2010/monitoring/21/organizations/),
перешедший имеет доступ к списку организаций, к кодам приглашения, к
емейлам и телефонам каждой организации.
И может разослать приглашения через систему.
Bug #1659 Статистика зарегистрированных представителей и организаций.

В отчетах по комментариям /exmo2010/monitoring/104/comment_report/
указана неверная информация в графе
Зарегистрированные органы/организации: 17
В действительности, в этом цикле зарегистрировано 17 представителей, но
четыре организации имеют по два представителя, поэтому правильное число
зарегистрированных организаций должно быть 13.
То есть, значение в этой графе должно быть следующим:
количество организаций из списка организаций данного цикла, которые
имеют хотя бы одного пользователя, привязанного к ним.
Проверка:
1. Входные условия: цикл мониторинга, три организации в нем, по одной
задаче для каждой организации. Два пользователя без прав.
2. Действия:
  - Пользователь 1 вводит код задачи А. Количество зарегистрированных
органов на странице статистики должно стать 1.
  - Пользователь 2 вводит код задачи А. Количество зарегистрированных
органов должно остаться 1.
  - Пользователь 1 вводит код задачи Б. Количество зарегистрированных
органов должно стать 2.
  - Пользователь 2 вводит код задачи В. Количество зарегистрированных
органов должно стать 3.
User Story #1787 Возможность задать тему писем приглашения.

Прототип  http://share.axure.com/KVA6KK/

Что сделать:
1. На странице "пригласить" в организациях цикла мониторинга
(/exmo2010/monitoring/188/organizations/#invite) нужно добавить
обязательное поле для написания темы письма.
2. При отправке писем через эту форму в качестве темы письма
использовать текст, введенный в соответствующем поле, вместо
"Приглашение к взаимодействию в системе ЭКСМО", используемого сейчас.
Эту строку вообще не хранить более.
3. Поменять текст названий.
4. В истории отправленных писем сохранять тему.

Изменить тексты на страницах "Цикл мониторинга - Организация"
Речь идет о страницах находящихся по такому пути
/exmo2010/monitoring/187/organizations/
1. На всех вкладках заменить название переключателя "пригласить" на
"отправить письмо".
2. На всех вкладках заменить название переключателя "история
приглашений" на "история писем".
3. После отправки писем на странице "Организация - все" вместо текста
"Приглашения отправлены." должен быть текст "Письма отправлены."

Изменить страницу "Цикл мониторинга - Организация - отправить письмо"
1. Опустить форму создания текста письма и над ней добавить однострочное
поле с заголовком "Тема*", где звездочка цвета FF0000. Поле должно быть
обязательным для ввода. При попытке отправить письмо с незаполненной
темой показывать ошибку валидатора в стандартном виде (красный
прямоугольник сверху формы) с текстом "Тема является обязательным
полем."
2. Расстояние между полем ввода темы и формой редактирования содержания
письма 10 px.
3. Поле ввода текста письма также сделано обязательным, нужно поставить
звездочку в заголовок перед этим полем. Текст валидатора заменить на
"Текст письма является обязательным полем."

Изменить страницу "Цикл мониторинга - Организация - история писем"
1. Переименовать столбец "Текст письма" в "Тема и текст письма".
2. В свернутом состоянии в этом столбце выводить тему письма
форматированием псевдоссылки (так же, как сейчас там выводится начало
тела письма).
3. В развернутом состоянии тема письма форматируется стилем текста h2,
теряет вид псевдоссылки. Текст письма располагается ниже с отступом,
равным строке, с оригинальным форматированием.

Сценарии:
1. Цикл мониторинга с добавленной в него организацией с имеющимся у нее
адресом емейла.
2. Пользователь с правами эксперта А вводит текст письма ...
   1. и не вводит тему,
      1. нажимает на кнопку сабмита,
      2. тогда он получает ошибку валидатора
   2. и вводит тему,
      1. выбирает рассылку для всех статусов приглашения
      2. нажимает на кнопку сабмита
      3. тогда на адрес организации отправляется письмо с указанной
темой и телом, а пользователь перемещается на страницу "все" и видит
сообщение об успешной отправке писем.
Bug #1838 На страницах редактирования не проверяются права при
POST-запросах

Проверка прав сейчас осуществляется только в GET запросах. Если
аутентифицированный пользователь сформирует и отправит POST запрос на
удаление или изменение параметра\организации\мониторинга\оценки - ему
будет разрешено это сделать
Bug #1838 На страницах редактирования не проверяются права при POST-запросах.

Проверка прав сейчас осуществляется только в GET запросах. Если пользователь сформирует и отправит POST запрос на удаление или изменение параметра\организации\мониторинга\оценки - ему будет разрешено это сделать.
Bug #1783 В версию для печати с пояснениями не попадают пояснения по Наличию и Графической доступности.

По заданию в версии для печати должны быть пояснения ко всем критериям. Но пояснения к критериям Наличие и Граф. доступность в версию для печати не попадает:
 http://exmo-dev.svobodainfo.org/exmo2010/scores/21432/printfull
Bug #1845 Ошибка 500. Переход по ссылке размещения комментария под анонимом.

Аноним, отправляющий пустой GET-запрос на размещение комментария,
получает ошибку 500.
Воспроизведение ситуации:
Под анонимным пользователем отправить пустой GET-запрос для размещения
комментария: /comments/post/
Получается ошибка 500.
Bug #1604 Неправильный перевод статуса организации в цикле мониторинга.

ПО US #1258
На странице "Организации", после рассылки приглашений по организациям на
стадии "взаимодействие" цикла мониторинга некорректно отображается
статус "активна" для некоторых организацией.
Суть в следующем: если пользователь принимал ранее участие во
взаимодействии и оставлял комментарии, то после привязки к организации в
новом цикле мониторинга у организации сразу будет статус "активна"
вместо статуса "зарегистрирована", так как проверка идет на наличие хотя
бы одного комментария у пользователя привязанного к организации вне
зависимости от того в каком цикле и когда был оставлен комментарий. Это
дезинформирует руководителей циклов.
Для перевода статуса организации в "активна" должны учитываться только
те комментарии, которые оставлены представителем этой организации в этом
цикле мониторинга в задачах этой организации.

Как правильно:
1. Эксперт А разослал приглашения представителям организаций.
2. Представитель получил приглашение и перешел в систему.
3. Используя аккаунт, зарегистрированный ранее и привязанный к другому
циклу мониторинга где он оставлял комментарии, представитель входит в
систему.
4. Представитель вводит код приглашения от новой организации.
5. У эксперта А на вкладке организации статус организации к которой
привязался представитель меняется на "зарегистрирована".
6. Представитель оставляет комментарий в новом цикле мониторинга, к
которому только что получил доступ.
7. У эксперта А на вкладке организации статус организации к которой
привязан представитель меняется на "активна".
Bug #1822 В письме восстановления пароля осталось EXMO в тексте.

В письме восстановления пароля в тексте фигурирует EXMO:
"После этого вы попадете на страницу ввода нового пароля, по которому сможете входить в систему EXMO."
Bug #1844 Размещение комментария через прямой POST-запрос от пользователя без прав.

Пользователь без прав, отправляющий POST-запрос с правильными данными,
размещает комментарий от имени привязанного к задаче представителя
организации.
Воспроизведение ситуации:
Цикл мониторинга на стадии взаимодействия.
Залогиниться под представителем организации, привязанному к организации
в цикле.
В любом из параметров написать комментарий, отследив POST-запрос
Залогиниться под пользователем без прав.
Отправить POST-запрос, полученный от представителя.
Результат: от имени представителя будет размещен комментарий. Несмотря
на то, что результатом POST-запроса будет ошибка 403 (доступ запрещен).
Зная алгоритм вычисления параметра "security_hash", а узнать его легко
можно из скачанных исходников, можно таким образом оставлять комментарии
от юзера без прав в любом цикле мониторинга.
Bug #1823 Ошибка сервера 500 при переназначении задачи

Если форма не прошла валидацию получается ошибка 500.
 TemplateDoesNotExist: exmo2010/task_detail.html

Исправить view редактирования тасков

Также обход бага https://code.djangoproject.com/ticket/1891
Bug #1840 Эксперт Б может переназначить задачу POST запросом.

Из той же серии, что и #1838
Если эксперт Б сделает POST запрос на переназначение задачи, то он
пройдет.
Пример запроса:
POST  http://exmo-dev.svobodainfo.org/exmo2010/tasks/task/21404_update/?
POST data:
csrfmiddlewaretoken=c6suQ8MVaqsr4bWxGR4ozw4Y7BBuvWDv
organization=28630
status=2
user=1829
Bug #1827 Текст ссылки на странице помощи.

Ссылка на страницу регистрации выглядит так: /exmo2010/accounts/register/
что может смутить неопытного пользователя.
Ссылка должна быть полной,  http://system.infometer.org/exmo2010/accounts/register/
User Story #1736 Изменить страницу "Рейтинг" для представителя
организации

На этапах "взаимодействие" и "подведение итогов" пользователи с правами
представителей должны получить доступ к странице рейтинга цикла, в
котором пользователь имеет связанные одобренные задачи. На этих этапах
страница должна отображаться в обрезанном варианте. На этапе
"опубликован" пользователь должен видеть полный вариант страницы, как и
раньше. Отличия обрезанной версии:
В таблице выводить только те организации, к которым представитель
привязан.
Не отображать ссылку на карту до публикации результатов.
Не отображать ссылки на скачивание CSV и JSON до публикации результатов.
Не отображать среднее значение по таблице.
К странице "Задачи" более не должны иметь доступа пользователи с правами
представителя, пользователя без дополнительных прав и анонима на любых
этапах независимо ни от чего. Ссылок на страницу "задачи" у этих
категорий пользователей оставаться не должно.
Пользователи с правами представителя, пользователя без прав и анонима,
на всех доступных им страницах, относящихся к мониторингам, должны
оставаться в пределах такой последовательности хлебных крошек: Главная
-> Рейтинги -> Рейтинг -> Организация -> Параметр.
При переходе к мониторингу из списка циклов мониторинга, из рейтингов
или с главной страницы, представитель должен попадать не на страницу
"Задачи", а на страницу "Рейтинг" указанного мониторинга.
Bug #1825 Ошибка сервера 500 при редактировании параметра

Если отредактировать параметр и нажать "Сохранить и отправить
уведомление", то случается ошибка 500
param_pk = self.kwargs["pk"]
KeyError: 'pk'

Исправить pk на parameter_pk
Bug #1828 Ошибка 500 на страницах уточнений и претензий в админке

Исправить у моделей метод __unicode__
Bug #1810 Ошибка 500 при заказе сертификата на организацию с кириллицей
в названии

При нажатии "подтвердить заказ сертификата" на финальной странице заказа
Возникает ошибка "ascii" codec can't encode...

Исправить кодировку organization.name на UTF-8 для подставления в urlencode
Bug #1751 Анонимы и пользователи без прав имеют доступ к скрытым оценкам

Как воспроизвести: Зайти под анонимом и в адресную строку браузера ввести прямую
ссылку на страницу оценок в скрытом цикле мониторинга
Bug #1844 Размещение комментария через прямой POST-запрос от пользователя без прав.

Пользователь без прав, отправляющий POST-запрос с правильными данными, размещает комментарий от имени привязанного к задаче представителя организации.
Воспроизведение ситуации:
Цикл мониторинга на стадии взаимодействия.
Залогиниться под представителем организации, привязанному к организации в цикле.
В любом из параметров написать комментарий, отследив POST-запрос
Залогиниться под пользователем без прав.
Отправить POST-запрос, полученный от представителя.
Результат: от имени представителя будет размещен комментарий. Несмотря на то, что результатом POST-запроса будет ошибка 403 (доступ запрещен).
Зная алгоритм вычисления параметра "security_hash", а узнать его легко можно из скачанных исходников, можно таким образом оставлять комментарии от юзера без прав в любом цикле мониторинга.