Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue 1321 add teacher solution tab #1333

Merged
merged 5 commits into from Aug 12, 2022
Merged

Issue 1321 add teacher solution tab #1333

merged 5 commits into from Aug 12, 2022

Conversation

MAGLeb
Copy link
Contributor

@MAGLeb MAGLeb commented Aug 6, 2022

Добавил вкладку с решением для всех пользователей, даже если пользователь не решил задание.

  1. Мне показалось уместным добавить вкладку рядом с тестами и выводами. Однако, кажется необходимым добавить условие показывать решение, только когда пользователь выполнил задание.
  2. Буду рад рекомендациям, каким образом можно получить в react вкладке, доступ к данным пользователя, решил ли он задание или нет, чтобы выводить решение только тем, кто решил.
    Насколько я понял, нужно добавить в ExerciseHelper функцию, которая бы возвращала значение и через controllers/api/ExerciseController передать дополнительное поле. Если так, то я пробовал код ниже, но authUser постоянно принимает значение null.
$authUser = auth()->user();
$isExerciseSolved = $authUser->completedExercises()
    ->where('exercise_id', $exercise->id)
    ->exists();

P.S.
Если разворачивать в docker контейнере проект, то при попытки запушить в удаленный репозиторий, возникают проблемы, так как проверки версий php не дают запушить код. Обязательно нужно устанавливать локально php>=8.1 и php8.1-xml. Если добавить ssh ключ в контейнер, то возникают проблемы с правами.

@fey
Copy link
Collaborator

fey commented Aug 8, 2022

сли разворачивать в docker контейнере проект, то при попытки запушить в удаленный репозиторий, возникают проблемы, так как проверки версий php не дают запушить код. Обязательно нужно устанавливать локально php>=8.1 и php8.1-xml. Если добавить ssh ключ в контейнер, то возникают проблемы с правами.

При разработке в докере git работает локально, т.е. не нужно пробрасывать ключ или что-то делать с гитом внутри контейнера.

{
$underscoredExercisePath = $exercise->present()->underscorePath;

$path = implode(DIRECTORY_SEPARATOR, [
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

этот путь дублируется, предлагаю его переместить в приватный метод.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Добавил несколько приватных методов, чтобы убрать дублирования кода.

@fey
Copy link
Collaborator

fey commented Aug 8, 2022

Просьба задеплоить демку на Heroku и скинуть ссылку

@fey
Copy link
Collaborator

fey commented Aug 9, 2022

$authUser = auth()->user(); не будет работать, потому что состояние между бекендом и фронтендом не шарится.
Можно вкладочку оставить как есть и потом доработать проверку прохождения упражнения

@MAGLeb
Copy link
Contributor Author

MAGLeb commented Aug 9, 2022

Просьба задеплоить демку на Heroku и скинуть ссылку

https://shielded-reaches-62632.herokuapp.com/
Не смог разобраться почему редеректит на основной сайт.

сли разворачивать в docker контейнере проект, то при попытки запушить в удаленный репозиторий, возникают проблемы, так как проверки версий php не дают запушить код. Обязательно нужно устанавливать локально php>=8.1 и php8.1-xml. Если добавить ssh ключ в контейнер, то возникают проблемы с правами.

При разработке в докере git работает локально, т.е. не нужно пробрасывать ключ или что-то делать с гитом внутри контейнера.

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

@fey
Copy link
Collaborator

fey commented Aug 10, 2022

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

а, ну это да, тк запускается пре-хук. Можно добавить --no-verify, чтобы запуска проверки не было.
Ну или поставить пых локально

@MAGLeb MAGLeb requested a review from fey August 11, 2022 18:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants