Coder Social home page Coder Social logo

mmb's Issues

проверка корректности времени

на времени не стоит проверки корректности при введении. Хорошо бы, чтобы ввести что-нибудь вроде 1968 - вообще было нельзя,
а при введении времени, выходящего за КВ, у пользователя спрашивали, уверен ли он, что время такое.

Favicon для ММБ

Хочется сделать favicon (иконку сайта) для mmb.progressor.ru. Есть идеи как она должна выглядеть?

JSON-дамп

Сделать генерацию JSON-дампа для автономных судейских терминалов.

Цвет галочек

Пожелание от Саши Т: Сделать серый цвет галочек КП, недоступных для изменения, более тёмным. А то почти не видно, кто что взял.

Смена пароля

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

При неудачном поиске по номеру команды справа - пустая половина экрана

При неудачном поиске нужно перейти либо к списку ММБ либо к списку команд того ММБ, в котором искали
Возможно при неудачном поиске пол фио участника нужно показать справа спсиок Марш-бросков, а не сообщение "Не найдено"

Javascript в карточке команды

По аналогии с проверкой e-mail на решистрации нужно сделать такую же проверку при добавлении новго участника.
Сделать по аналогии срегистрацией пользователя поведение текстовых полей (название команды и e-mail нового участника) при потере фокуса (только для регистрации не для правки!)

Расчет штрафа с учетом подгруппы кп

На некотором подмножестве этапа может быть задан разрешенный пропуск - штраф, который не учитывается, если команда не превысила его (на заданном подмножестве).

Изменил уведомления по e-mail

Теперь всем участника команды высылаются уведомления только в случае создания команды и удаления.
Во всех остальных случаях email высылается всем участникам, кроме автора изменений - это сделано, чтобы уменьшить число писем-уведомлений. Не знаю, нужно ли вводить отдлеьную опцию отключающую любые уведомления об изменении команды.

"Опасные" операции через ХП

Если мы озабочены безопасностью, что правильно все операции с правами delete и update (мжно и insert) делать в Хранимых процедурах с параметром - идентификатор сессиии - это позволяет ограничить права пользователя под которым выполняются скрипты до exec на эти процедуры.
В mysql мне показалось очень неудобной работа с ХП.

Новые таблицы

Созданы новые таблицы:
PointTypes - Типы контрольных точек
LevelPoints - Контрольные точки на этапе
TeamLevelPoints - Данные о прохождении контрольных точек
Devices - Устройства

Удалены таблицы Files и FilesData

Скрипт свежей структуры пока не выложил

Впечатления

Сделать таблицу впечатлений (ключ пользователя, ключ ммб, текст, ссылка)
и интерфейс из карточки пользователя, позволяющий работать с этой таблицей.

Обработка ситуации "Сход всех участников"

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

Сейчас система будет ожидать время финиша в любом случае, если не указано, что команда не вышла на этап.
Если это время не указано, то результат команды на этапе считается некорректным и ставится NULL
В результате, в общей таблице такая команда не получит места вообще, хотя могла пройти 2 этапа из трёх.

Решение:

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

При этом не будет разницы между командой, которая не вышла на этап и сошла на нём, если обе команды имели на финише предыдущего этапа одинаковый результат.

Не работает регистрация пользователя

Ошибка в файле viewuserdata.php вот в этой строчке

if (isset($_POST['viewmode'])) $viewmode = $_POST['viewmode']; else $viewmode = "";

Если кто имеет доступ к правке скриптов - уберите просто эту строку - всё должно заработать.

P.S. в данном случае нужно было написать сначала if !isset($viewmode), а потом уже проверку на существование POST, т.к. переменная инициализируется раньше в файле useraction.php , а не передаётся из формы.

Статитстика

Пользователи просят добавить статитстику по стартовавшим/дошедшим
Думаю, что это разумно делать в описании этапа за колонкой число КП

Управление модераторами

В арточке пользователя можно сделать дополнительную форму, которую показывать только администратору: дбавление/удаление для данного пользователя прав модератора марш-броска

Отображение карточки для гостей

Не показывать не залогиненным пользователям чекбоксы КП на карточке команды (или сделать их нередактируемыми). Несмотря на отсутствие кнопки сохранения, сбивает с толку.

Валидация Email

Мой email адрес содержит сдвоенный символ "-". К сожалению, не могу зарегистрироваться на сайте, получаю сообщение "E-mail не проходит проверку формата."

Две кнопки "Сохранить изменения" на странице команды

Сделать названия кнопок разными, например "Сохранить данные команды" и "Сохранить результаты"

Более сложный вариант, и ещё нужно хорошо подумать, стоит ли так делать - менять алгоритм и оставлять только одну кнопку.

Быстрая отметка невыхода на этап

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

Тестовая БД mmb_test

Нужно перенести данные (структуру уже перенёс) из mmb в mmb_test
В настройках в _git прописать mmb_test

расчёт штрафов

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

Сервисные скрипты администратора

Нужны ссылки в меню (появляются только для администратора сервиса), по которым:

  1. Пересчёт результатов - запускается в случае ошибки ввода штрафа КП (см. памятку Администратора БД)
  2. Очистка таблиц от удаленных записей (не знаю, надо ли)
  3. Очистка таблицы пользователей от неактивированных
  4. Очистка таблицы сессиий - при кажом логине добавляет запись - таблица будет быстро расти и без регулярной чистки будут проблемы
    М.б. последний скрипт нужно посадить на регулярное автовыполнение.

Переход при сохранении информации

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

Про сортировку результатов

В "осени 2011", в "2011" и в "2010" странно ранжируются результаты: у кого больше итоговое время у того выше место.

При этом в "2010 осень" результаты, согласно итоговому времени, распределяются корректно.

Цвет посещенных ссылок

Мне кажется стоит сменить цвет посещенных ссылок на более близкий к цвету непосещенных, а возможно лучше отказаться от различий вовсе. Мне кажется, что это наследие интернета где все страницы были статичными и чтобы не ходить лишний раз на страницу, информацию из которой в себя уже закачал, посещенные страницы помечались. (Впрочем, может я и погорячился. Но такое большое различие всё равно смущает)

(Сегодня задумался над тем почему некоторые ссылки красные. Подсознательно казалось, что это отсутствующие страницы)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.