Aliaksandr
Aliaksandr
Завтра проверю)
Без такой корзины не возвращайся 😂😂😂
Сергей
Без такой корзины не возвращайся 😂😂😂
Откуда у нас такие корзины)
Aliaksandr
Барышне для весу один ядовитый строчок накинули, похоже
Aliaksandr
Справа коричневый )))
Сергей
Справа коричневый )))
Вроде большие нормальные, это мелкие не едят
Aliaksandr
Aliaksandr
О как растут @Serg_64j
Сергей
О как растут @Serg_64j
Круто. Мне бы что завтра найти на супчик
Alexander
Круто. Мне бы что завтра найти на супчик
Мухоморов нет еще? А то можно насобирать и нахер этот супчик 🤪
Alexander
Это всё слухи, и мухоморы едят
Так да, вместо супчика)
Pathologic
я мухоморы уже забыл как выглядят, вот раньше их полно было в любом лесу
Aliaksandr
Aliaksandr
Я вроде специально для тебя фоткал в прошлом году 😎😂😂😂
Pathologic
😺
Pathologic
ну тогда я спокоен
Pathologic
почитал сейчас, они разных видов бывают, съедобные и не скажешь, что мухомор
Pathologic
Pathologic
Aliaksandr
Чё-то тебя торкнуло сегодня )))
Andrey
Уж эти Евгении.
Am
Дык, он же к коллегам обращается. А тут их нет.
Aliaksandr
Ему пох, он удаленный ))
Илья
христос воскресе
Илья
пардон что не утром, работа
Alexey
Воистину!
Dmytro
Илья
))
dv
Может проблема в композере актуальная версия 2
+ через второй все отработало без ошибок
Axenia
dv (0) увеличил карму Dmi3yy (2019.46)
Ilya
ребят, поставил через Extras tinyMCE 4 на 3.1.3, но не меняется язык - отображается англ
Ilya
как поменять ?
Marc
🤣
Am
Классическая пивасочка. (:
Dmitry
ребят, как сбросить блокировку админа? пароль забыл))
Anonymous
через базу данных, или ждите - через 60 мин само разблокируется
Anonymous
1 исправить на 0
Anonymous
Вы погуглите - это есть в интернете для modx evo
Andrey
А в Ларке наследуется доступ? Если есть /machine/id/ который завернут в middle(auth) А дальше юзер пойдет по урлам /machine/id/parts/id/ К запчастям от машины.
Andrey
Или надо привязаться к parts ещё и им выдумать доступ?
Andrey
Или это смотреть в сторону gate для контроллера? Запутался в доках шо капец.
Am
Доброго и Вам. Запутались. Начинать нужно от того что все держится на роутах. 1. Создаете роут. 2. Привязываете контроллер. 3. Привязываете мидлвару на роут. Можно роуты объединять в группы и привязывать мидлвару на группу роутов. Так же у роутов могут быть "не обязательные" части.
Am
Так понимаю Вы хотите закрыть доступ к роутам?
Andrey
Обычный юзер моде видеть только свои машины. Я так понимаю сделаю табличку на связь его и айди машины. Админ может все смотреть/добавлять/редактировать. У машины есть запчасти, доки. С ними та же петрушка. И я думаю, надо ли и их вязать с юзерами?
Andrey
По уму юзеров будет фиг знает сколько. И не факт что система такой и останется. Мб надо выдумывать роли.
Pathologic
К машинам их нужно вязать
Pathologic
Не к машинам юзеров, а вообще
Andrey
Ну это в лоб слишком. Или нет?
Pathologic
Ну одна запчасть может на кучу машин подходить
Andrey
Не в этом случае. Тут очень индивидуально. Чисто 1 к 1
Pathologic
Не получится 1к 1
Andrey
А даже если и так, это будет создаваться как отдельная сущность. Тайтл там свой, артикул.
Andrey
Условный болт М6 к одной и другой машине это разные вещи
Pathologic
Нет, болт м6 какого-то класса прочности он всюду болт
Andrey
Блин. Это для слесаря. А для софта разные. Они с разных стран приедут даже. Суть не этом.
Pathologic
Номенклатура одна
Pathologic
С запчастями только проблема с аналогами, разными артикулами у разных производителей
Andrey
Суть не этом. Ты говоришь про привязку запчасти к машине. Оно логично. Сам бы так делал по умолчанию. Но тут типа ларка и я начитался всякого про политики, про то, что создаются для каждого типа материала какие-то то ли провайдеры тотли ещё что для контроллеров. Где уже роли расписывают. Кто что может делать.
Artem
Alexander
есть такое)
Am
Суть не этом. Ты говоришь про привязку запчасти к машине. Оно логично. Сам бы так делал по умолчанию. Но тут типа ларка и я начитался всякого про политики, про то, что создаются для каждого типа материала какие-то то ли провайдеры тотли ещё что для контроллеров. Где уже роли расписывают. Кто что может делать.
В процессах разобраться действительно нужно, возможно все еще проще. По Вашим словам у меня вот такое есть видение. Нужно сделать: - таблицу пользователей - таблицу ролей пользователя - таблицу машин - таблицу запчастей - таблицу доков - таблицу отношения машин к пользователю - таблицу отношения запчасти к машине - таблицу отношения машины к докам (и/или вдруг нужно к запчастям) По простому можно в таблице с пользователями сделать поле role_id в котором int представление ролей. Создаем группу роутов /user. Создаем middleware для проверки авторизации пользователя НЕ админской роли и вешаем на группу роутов /user (возможно избыточно, хотя можно расширять именно в сторону пользователей и ролей не трогая админов). Создаем роут для списка пользовательских машин, например, /user/car/list. Создаем контроллер для работы с пользовательскими машинами - UserCarController - в методе (функции) list() будем получать данные из service'a, вешаем его на роут /user/car/list по правилам ларавеля. В контроллере получаем из сессии информацию об user_id и передаем в метод list() service'a для получения списка машин пользователя. Создаем service "список машин пользователя" UserCarList с методом list(), в котором получаем список машин пользователя по user_id из нужного репозитория. Создаем роут /user/car/{car_id}/view. И т.д. Для работы админа: Создаем middleware для проверки авторизации пользователя админской роли и вешаем на группу роутов /admin. Создаем роут для списка пользовательских машин, например, /admin/car/list. Создаем контроллер для работы с пользовательскими машинами AdminCarController - в методе (функции) list() будем получать данные из service'a, вешаем его на нужный роут по правилам ларавеля. Создаем сервис AdminUserCarList в котором получаем список машин пользователей по нужным критериям. Что это нам дает? Разделяя роуты, контроллеры, сервисы на user и admin: - можем перенести нагруженную часть на отдельный сервер без гимора; - контролировать доступ через мидлвару для каждой части, например для админов можно повесить вход через 2FA; - обезопасть от кривых рук себя путем создания для каждого роута своих контроллеров и сервисом с нужными методами, тогда не паримся с наследованием - больше радости от безопасности; В ларавели много лишнего, как по мне, и удобнее все-таки было бы использовать ADR для такого проекта.
Andrey
В процессах разобраться действительно нужно, возможно все еще проще. По Вашим словам у меня вот такое есть видение. Нужно сделать: - таблицу пользователей - таблицу ролей пользователя - таблицу машин - таблицу запчастей - таблицу доков - таблицу отношения машин к пользователю - таблицу отношения запчасти к машине - таблицу отношения машины к докам (и/или вдруг нужно к запчастям) По простому можно в таблице с пользователями сделать поле role_id в котором int представление ролей. Создаем группу роутов /user. Создаем middleware для проверки авторизации пользователя НЕ админской роли и вешаем на группу роутов /user (возможно избыточно, хотя можно расширять именно в сторону пользователей и ролей не трогая админов). Создаем роут для списка пользовательских машин, например, /user/car/list. Создаем контроллер для работы с пользовательскими машинами - UserCarController - в методе (функции) list() будем получать данные из service'a, вешаем его на роут /user/car/list по правилам ларавеля. В контроллере получаем из сессии информацию об user_id и передаем в метод list() service'a для получения списка машин пользователя. Создаем service "список машин пользователя" UserCarList с методом list(), в котором получаем список машин пользователя по user_id из нужного репозитория. Создаем роут /user/car/{car_id}/view. И т.д. Для работы админа: Создаем middleware для проверки авторизации пользователя админской роли и вешаем на группу роутов /admin. Создаем роут для списка пользовательских машин, например, /admin/car/list. Создаем контроллер для работы с пользовательскими машинами AdminCarController - в методе (функции) list() будем получать данные из service'a, вешаем его на нужный роут по правилам ларавеля. Создаем сервис AdminUserCarList в котором получаем список машин пользователей по нужным критериям. Что это нам дает? Разделяя роуты, контроллеры, сервисы на user и admin: - можем перенести нагруженную часть на отдельный сервер без гимора; - контролировать доступ через мидлвару для каждой части, например для админов можно повесить вход через 2FA; - обезопасть от кривых рук себя путем создания для каждого роута своих контроллеров и сервисом с нужными методами, тогда не паримся с наследованием - больше радости от безопасности; В ларавели много лишнего, как по мне, и удобнее все-таки было бы использовать ADR для такого проекта.
Спасибо. Подумаю... Сорян что не сразу. Я в болничку загремел, тут оно такое. То три часа никому не нужен, то бегом-бегом куда-то.
Andrey
Надо бы )
Andrey
Ничего такого. Затянул гайморит, лечили то л плохо. То ли просто ещё погодка сверху накрыла. Оглох нафиг, ушло в уши. Сгонял к Лору, тот офигел от такого подарка и позавчера законопатил в больницу.
Andrey
Так что у меня теперь расписание, офигенная пшённая кашка на завтрак, примерно с 7 вечера не выйти покурить, ну и масса времени. И какой-то термоядерный антибиотик в жёппу. От которого на второй день слух прорезался.
Dmitry
Ребят, хочу небольшой Гайд для себя написать. Можете направить на актуальные методы для Evo3? Вопросы по стандартным задачам: - На чём делать блог(что-то типа Collections в Revo)? - Чем обрабатывать изображения? - Чем делать галереи? - Чем делать формы (тут вроде я так понял Laravel Routes рекомендуют для Аякс запросов) - Чем делать кастомные ТВ и мульти ТВ? - Чем делать меню? (Тут я так понял работаем с SiteContent)
Andrey
Кстати про кастом ТВ норм вопрос такой. У меня до сих пор понимания нет про них. Да и про остальное.... Пакет делать или нет, чё куда.
Andrey
В процессах разобраться действительно нужно, возможно все еще проще. По Вашим словам у меня вот такое есть видение. Нужно сделать: - таблицу пользователей - таблицу ролей пользователя - таблицу машин - таблицу запчастей - таблицу доков - таблицу отношения машин к пользователю - таблицу отношения запчасти к машине - таблицу отношения машины к докам (и/или вдруг нужно к запчастям) По простому можно в таблице с пользователями сделать поле role_id в котором int представление ролей. Создаем группу роутов /user. Создаем middleware для проверки авторизации пользователя НЕ админской роли и вешаем на группу роутов /user (возможно избыточно, хотя можно расширять именно в сторону пользователей и ролей не трогая админов). Создаем роут для списка пользовательских машин, например, /user/car/list. Создаем контроллер для работы с пользовательскими машинами - UserCarController - в методе (функции) list() будем получать данные из service'a, вешаем его на роут /user/car/list по правилам ларавеля. В контроллере получаем из сессии информацию об user_id и передаем в метод list() service'a для получения списка машин пользователя. Создаем service "список машин пользователя" UserCarList с методом list(), в котором получаем список машин пользователя по user_id из нужного репозитория. Создаем роут /user/car/{car_id}/view. И т.д. Для работы админа: Создаем middleware для проверки авторизации пользователя админской роли и вешаем на группу роутов /admin. Создаем роут для списка пользовательских машин, например, /admin/car/list. Создаем контроллер для работы с пользовательскими машинами AdminCarController - в методе (функции) list() будем получать данные из service'a, вешаем его на нужный роут по правилам ларавеля. Создаем сервис AdminUserCarList в котором получаем список машин пользователей по нужным критериям. Что это нам дает? Разделяя роуты, контроллеры, сервисы на user и admin: - можем перенести нагруженную часть на отдельный сервер без гимора; - контролировать доступ через мидлвару для каждой части, например для админов можно повесить вход через 2FA; - обезопасть от кривых рук себя путем создания для каждого роута своих контроллеров и сервисом с нужными методами, тогда не паримся с наследованием - больше радости от безопасности; В ларавели много лишнего, как по мне, и удобнее все-таки было бы использовать ADR для такого проекта.
Внимательно перечитал, пока не понял ) А именно, зачем делить на /user и /admin именно в роуте. Странные урлы просто выходят. Мб это можно как-то прокинуть по-другому?
Andrey
И "будем получать данные из service" тоже. Что за зверь? Я думал из метода в контроллере.
Am
Внимательно перечитал, пока не понял ) А именно, зачем делить на /user и /admin именно в роуте. Странные урлы просто выходят. Мб это можно как-то прокинуть по-другому?
Т.к. работа в веб привязана к роутам и передвигаетесь Вы по ним, то есть разные варианты архитектуры приложения. Например: 1. разделить роуты, контроллеры, сервисы для админа и остальных пользователей - тем самым получаем более гибкое приложение. 2. не разделять на роуты и все доступы проверять в контроллерах или мидлварах - в таком случае придется писать лишние проверки, имхо, не очень удобно.
Am
И "будем получать данные из service" тоже. Что за зверь? Я думал из метода в контроллере.
http://design-pattern.ru/patterns/service-layer.html Это шаблон проектирования. Простой пример: 1. Получаем данные в контроллере, который привязан к роуту (запрос id пользователя, данные формы, общий список и т.д.). 2. Передаем данные на обработку в Service - в нем могут быть разные манипуляции, например подготовка списка, взять данные из репозитория (БД, файла, АПИ, другого приложения), после обработки возвращаем в контроллер готовый результат. В таком случае контроллер оперирует только конечными данными и его удобнее читать-понимать.
Am
Правильно написанные сервисы можно применять к различным схожим ситуациям и проще переносить между проектами.
Andrey
Вот я и думаю... И у юзеров и у админов очень много же похожих операций. Чтобы не дублировать.
Am
На самом деле не так много. Операции админа будут похожи только в получении данных сущности. А списки уже будут разные.