Книга заказов на типах контента

InstantCMS 2.X

Написать дополнение для организации заказов. Своего рода МиниERP система

#1 5 сентября 2024 в 12:54

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

1.Вощем есть производство, это я, делаем зеркала

2. Есть перекупы, мебельщики, частные лица и прочие люди.

Люди зарегистрированы на сайте, они создают заказ — запись в типе контента, добавляют фотки, пишут задание, чертежи, файлы еще что-то

С помощь. дополнения «ТОЛЬКО СВОЁ» люди видят в одном типе контента только свои записи. Они мной модерируются, я вношу изменения (считаю цену, ставлю дату производства, комментирую и прочее)

В заказе есть статус готовности, статус оплаченности, итоговая цена, дата сдачи, и АВТОР

У меня на главной выведен список заказов (2 Виджета) в котором с  помощью наборов и фильтров выведены оплаченные заказы, неоплаченные, готовы и не готовые. С помощью дописки сделанной программистом суммируются поля ИТОГО по деньгам готовых неоплаченных заказов. То есть человек видит, что заказы выполнены на сумму такую-то и в производстве лежит еще на сумму такую-то.

Уведомления

Когда кто-то из пользователей создаёт заказ (а они все подписаны на тип контента заказ) все остальные получают уведомление на почту, о том, что появился новый заказ, но ссылка на него не открывается — оно и понятно, работает дополнение «ТОЛЬКО СВОЁ», заказчики не должны видеть заказы друг друга, иначе они увидят цены, а они разные. То есть нужно чтобы уведомление о новом заказе приходило только тому для кого этот заказ.

Но есть ситуация, когда заказчик ленится и заказ создаю я сам для него, с помощью дополнения «СМЕНА АВТОРА» я заказ создаю и меняю автора, но до того, как я сменил автора все опять получают уведомления о том, что я создал заказ… Вобщем всё это неочень удобно.

ЧТО хочется. 

Некое подобие личного кабинета, где заказчик создаёт заказ, заполняет поля, я модерирую, меняю статусы, содержимое полей, а он получается уведомления, видит итоговые суммы сколько должен, сколько в производстве, что готово, что нет. Я после того как установлю зеркало на адресе цепляю фотоальбом к заказу, гружу фотки, меняю статус иполнения, статус оплаты и прочее.

Еще раз повторюсь, сейчас всё это работает, но допиливать какими-то хвостиками всё это неочень, потом каждый пишет «Я не знаю как работает компонент „ТОЛЬКО СВОЁ“ я не знаю что будет если эта штука перехватывает ID Пользователя и прочее. Может у кого-то есть опыт подобного ?

#2 6 сентября 2024 в 03:26

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

(а они все подписаны на тип контента заказ) все остальные получают уведомление на почту

Для чего это требуется, для уведомления админа о новом заказе и об уведомлении заказчика о том что админ там что то ответил или поправил?

Как вариант отключаем подписку, добавляем хук отслеживающий добавление и редактирование записи. Если добавил заказчик, отправляем письмо админу(типа новый заказ), если админ что то отредактировал, отправляем письмо заказчику(администратор внес изменения в ваш заказ).

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

При беглом взгляде на код компонента „ТОЛЬКО СВОЁ“ он перехватывает события просмотра списка записей и просмотр самой записи, т.е. на создание и редактирование записей оно никак не влияет, поэтому выше описанный способ хуком отправлять уведомления при создании и редактировании никак не должен конфликтовать.

#3 6 сентября 2024 в 10:27

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

(а они все подписаны на тип контента заказ) все остальные получают уведомление на почту

Для чего это требуется, для уведомления админа о новом заказе и об уведомлении заказчика о том что админ там что то ответил или поправил?

Как вариант отключаем подписку, добавляем хук отслеживающий добавление и редактирование записи. Если добавил заказчик, отправляем письмо админу(типа новый заказ), если админ что то отредактировал, отправляем письмо заказчику(администратор внес изменения в ваш заказ).

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

При беглом взгляде на код компонента „ТОЛЬКО СВОЁ“ он перехватывает события просмотра списка записей и просмотр самой записи, т.е. на создание и редактирование записей оно никак не влияет, поэтому выше описанный способ хуком отправлять уведомления при создании и редактировании никак не должен конфликтовать.

AtlantisWeb

Вобщем да, всё правильно, в принципе работа устраивает на типах контента. Вы всё правльно написали, если человек создаёт, то админу уведомление, если админ создал, то человеку уведомление

Если отписываться, то можно автоматом сделать отправление человеку, а можно и вручную кнопку «Оповестить о создании заказа» 

Есть момент просто один, когда я создал заказ, вот он появился, я захожу в запись и с помощью компонента «Смена автора» меняю создателя записи с себя, на кого-то, вот тут автоматический хук может споткнуться, Поэтому я предложил сделать кнопкой.

Ну и контролить изменение полей, необязательно делать сложно, с отслеживанием истории, делать сравнение, достаточно просто знать, что поле какое-то изменено.

#4 6 сентября 2024 в 11:46

Есть момент просто один, когда я создал заказ, вот он появился, я захожу в запись и с помощью компонента «Смена автора» меняю создателя записи с себя, на кого-то, вот тут автоматический хук может споткнуться, Поэтому я предложил сделать кнопкой.

По идее споткнуться не должно, т.к. в любом случае будет проверка является ли создавший запись админом, если да то ничего не отправляем т.к. незачем уведомлять админа о том что он и так сам сделал. Тут вопрос в том как работает «СМЕНА АВТОРА», если это поле и оно подменяет ИД админа в момент обновления записи, то проблем нет, т.к. хук будет обрабатывать уже обновленную запись(после сохранения) и увидит ID нового пользователя и вышлет ему уведомление что «админ изменил ваш заказ».

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

#5 6 сентября 2024 в 12:01

Для чего это требуется, для уведомления админа о новом заказе и об уведомлении заказчика о том что админ там что то ответил или поправил?

IceBreaker

Есть заказчик и есть исполнитель, бывает исполнитель что-то меняет (размеры цвет, дополнят чего-то) а бывает и заказчик что-то меняет

А также когда заказ появился, об этом должен узнать исполнитель, что его делать нужно, когда заказ готов заказчик видит, что заказ готов (меняется статус готовности на ГОТОВ, также поступает оплата, исполнитель меняет статус оплаты ОПЛАЧЕН)

По поводу оплаты кстати, по-моему LOADbIPb делал какую-то дописку в виджете вывода неоплаченных заказов там по полю Сумма\остаток сумма выводится под всеми записями, а также во втором виджете, где готовые НЕоплаченные выводится сумма сколько не заплатили, долг.

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

Вообще такие системы называют ERP, но у меня всё просто достаточно, а системы громоздкие, пытался настраивать для себя, но очень громоздко получается. Инстант очень удобен в плане настроек, доводок.

Есть еще производство, думал у них комп поставить, где рабочие работают, чтобы всё видели сразу что делать в первую очередь, что в последнюю, сортировка по дате сдачи помогает, но компонент ТОЛЬКО СВОЁ не позволяет им без админских прав видеть заказы, вобщем такая вот петрушка. А админские если им дать, во-первых могут нажать что-нибудь, во-вторых видят деньги и прочее.

#6 6 сентября 2024 в 13:31

Если я правильно понимаю то вариантов не особо много и выбор зависит от сроков, бюджета и желаемого итога.

  1. Писать четкое ТЗ с описанием всего функционала, доступов, куда что ткнуть, какие поля заполнить и что куда отправиться как с точки зрения админа, так и с точки зрения заказчика. Плюсом расписать все необходимые поля и их функционал. Т.е. весь функционал будет именно в этом стороннем компоненте. На мой взгляд создание стороннего компонента аналогичного «Типов контента» с добавляемыми полями, будет не быстро и точно ценник будет конский, сами подумайте это почти основа инстанта и сколько времени все это писалось и доводилось до ума.
  2. Хуки и сторонние компоненты, как сейчас, просто выписать по пунктам какие моменты поправить, какой функционал добавить. Предоставляете исполнителю дистрибутив сайта и доступы к нему, скидываете список задач и обговариваете стоимость и сроки по каждому пункту. После согласования, правки создаются, заливаются на сайт, тестируются вами и оплачиваются по мере выполнения.
  3. Пишется новый компонент который будет работать с вашими типами контента, но уже заново написанным функционалом схожим с «СМЕНА АВТОРА» и «ТОЛЬКО СВОЁ» и всеми ранее добавленными сторонними хуками, костылями и т.п. но уже одним разработчиком в едином компоненте. Тут уже можно изгаляться почти как угодно, в том числе и сделать подобие личного кабинета, настроек оповещений, даже редактирование писем уведомлений. 
#7 6 сентября 2024 в 23:51

Если я правильно понимаю то вариантов не особо много и выбор зависит от сроков, бюджета и желаемого итога.

  1. Писать четкое ТЗ с описанием всего функционала, доступов, куда что ткнуть, какие поля заполнить и что куда отправиться как с точки зрения админа, так и с точки зрения заказчика. Плюсом расписать все необходимые поля и их функционал. Т.е. весь функционал будет именно в этом стороннем компоненте. На мой взгляд создание стороннего компонента аналогичного «Типов контента» с добавляемыми полями, будет не быстро и точно ценник будет конский, сами подумайте это почти основа инстанта и сколько времени все это писалось и доводилось до ума.
  2. Хуки и сторонние компоненты, как сейчас, просто выписать по пунктам какие моменты поправить, какой функционал добавить. Предоставляете исполнителю дистрибутив сайта и доступы к нему, скидываете список задач и обговариваете стоимость и сроки по каждому пункту. После согласования, правки создаются, заливаются на сайт, тестируются вами и оплачиваются по мере выполнения.
  3. Пишется новый компонент который будет работать с вашими типами контента, но уже заново написанным функционалом схожим с «СМЕНА АВТОРА» и «ТОЛЬКО СВОЁ» и всеми ранее добавленными сторонними хуками, костылями и т.п. но уже одним разработчиком в едином компоненте. Тут уже можно изгаляться почти как угодно, в том числе и сделать подобие личного кабинета, настроек оповещений, даже редактирование писем уведомлений. 
AtlantisWeb

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

Второй вариант тоже жизнеспособен, попечальнее, но можно обкатать

Можете две цены примерно назвать?

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