Module: SpreeCmCommissioner::OrderRequestable
- Extended by:
- ActiveSupport::Concern
- Defined in:
- app/models/concerns/spree_cm_commissioner/order_requestable.rb
Instance Method Summary collapse
-
#accepted_by(user) ⇒ Object
allow authorized user to accept all requested line items.
-
#can_accept_all? ⇒ Boolean
can_accepted? already use by ransack/visitor.rb.
- #can_alert_request_to_vendor? ⇒ Boolean
- #can_reject_all? ⇒ Boolean
- #need_confirmation? ⇒ Boolean
- #notify_order_complete_app_notification_to_user ⇒ Object
- #notify_order_complete_telegram_notification_to_user ⇒ Object
- #payment_state_changed_to_paid? ⇒ Boolean
- #rejected_by(user) ⇒ Object
- #requested_state? ⇒ Boolean
- #send_order_accepted_app_notification_to_user ⇒ Object
- #send_order_accepted_telegram_alert_to_store ⇒ Object
- #send_order_complete_telegram_alert_to_store ⇒ Object
- #send_order_complete_telegram_alert_to_vendors ⇒ Object
- #send_order_rejected_app_notification_to_user ⇒ Object
- #send_order_rejected_telegram_alert_to_store ⇒ Object
- #send_order_request_telegram_confirmation_alert_to_vendor ⇒ Object
- #send_order_requested_app_notification_to_user ⇒ Object
- #send_order_requested_telegram_alert_to_store ⇒ Object
Instance Method Details
#accepted_by(user) ⇒ Object
allow authorized user to accept all requested line items
69 70 71 72 73 74 75 76 77 |
# File 'app/models/concerns/spree_cm_commissioner/order_requestable.rb', line 69 def accepted_by(user) transaction do accept! line_items.each do |line_item| line_item.accepted_by(user) end end end |
#can_accept_all? ⇒ Boolean
can_accepted? already use by ransack/visitor.rb
80 81 82 |
# File 'app/models/concerns/spree_cm_commissioner/order_requestable.rb', line 80 def can_accept_all? approved? && requested? end |
#can_alert_request_to_vendor? ⇒ Boolean
88 89 90 |
# File 'app/models/concerns/spree_cm_commissioner/order_requestable.rb', line 88 def can_alert_request_to_vendor? !accepted? && approved? && need_confirmation? end |
#can_reject_all? ⇒ Boolean
84 85 86 |
# File 'app/models/concerns/spree_cm_commissioner/order_requestable.rb', line 84 def can_reject_all? approved? && requested? end |
#need_confirmation? ⇒ Boolean
96 97 98 |
# File 'app/models/concerns/spree_cm_commissioner/order_requestable.rb', line 96 def need_confirmation? line_items.any?(&:need_confirmation) end |
#notify_order_complete_app_notification_to_user ⇒ Object
117 118 119 |
# File 'app/models/concerns/spree_cm_commissioner/order_requestable.rb', line 117 def notify_order_complete_app_notification_to_user SpreeCmCommissioner::OrderCompleteNotificationSender.call(order: self) end |
#notify_order_complete_telegram_notification_to_user ⇒ Object
121 122 123 |
# File 'app/models/concerns/spree_cm_commissioner/order_requestable.rb', line 121 def notify_order_complete_telegram_notification_to_user SpreeCmCommissioner::OrderCompleteTelegramSenderJob.perform_later(id) if user_id.present? end |
#payment_state_changed_to_paid? ⇒ Boolean
100 101 102 |
# File 'app/models/concerns/spree_cm_commissioner/order_requestable.rb', line 100 def payment_state_changed_to_paid? saved_change_to_payment_state? && payment_state == 'paid' end |
#rejected_by(user) ⇒ Object
58 59 60 61 62 63 64 65 66 |
# File 'app/models/concerns/spree_cm_commissioner/order_requestable.rb', line 58 def rejected_by(user) transaction do reject! line_items.each do |line_item| line_item.rejected_by(user) end end end |
#requested_state? ⇒ Boolean
92 93 94 |
# File 'app/models/concerns/spree_cm_commissioner/order_requestable.rb', line 92 def requested_state? request_state == 'requested' end |
#send_order_accepted_app_notification_to_user ⇒ Object
129 130 131 |
# File 'app/models/concerns/spree_cm_commissioner/order_requestable.rb', line 129 def send_order_accepted_app_notification_to_user SpreeCmCommissioner::OrderAcceptedNotificationSender.call(order: self) end |
#send_order_accepted_telegram_alert_to_store ⇒ Object
144 145 146 147 148 149 |
# File 'app/models/concerns/spree_cm_commissioner/order_requestable.rb', line 144 def send_order_accepted_telegram_alert_to_store title = '✅ --- [ORDER ACCEPTED BY VENDOR] ---' chat_id = store.preferred_telegram_order_request_alert_chat_id factory = OrderTelegramMessageFactory.new(title: title, order: self) TelegramNotificationSenderJob.perform_later(chat_id: chat_id, message: factory., parse_mode: factory.parse_mode) end |
#send_order_complete_telegram_alert_to_store ⇒ Object
158 159 160 161 162 163 |
# File 'app/models/concerns/spree_cm_commissioner/order_requestable.rb', line 158 def send_order_complete_telegram_alert_to_store title = '🎫 --- [NEW ORDER] ---' chat_id = store.preferred_telegram_order_alert_chat_id factory = OrderTelegramMessageFactory.new(title: title, order: self) TelegramNotificationSenderJob.perform_later(chat_id: chat_id, message: factory., parse_mode: factory.parse_mode) end |
#send_order_complete_telegram_alert_to_vendors ⇒ Object
106 107 108 109 110 111 112 113 114 115 |
# File 'app/models/concerns/spree_cm_commissioner/order_requestable.rb', line 106 def send_order_complete_telegram_alert_to_vendors vendor_list.each do |vendor| title = '🎫 --- [NEW ORDER FROM BOOKME+] ---' chat_id = vendor.preferred_telegram_chat_id if chat_id.present? factory = OrderTelegramMessageFactory.new(title: title, order: self, vendor: vendor) TelegramNotificationSenderJob.perform_later(chat_id: chat_id, message: factory., parse_mode: factory.parse_mode) end end end |
#send_order_rejected_app_notification_to_user ⇒ Object
133 134 135 |
# File 'app/models/concerns/spree_cm_commissioner/order_requestable.rb', line 133 def send_order_rejected_app_notification_to_user SpreeCmCommissioner::OrderRejectedNotificationSender.call(order: self) end |
#send_order_rejected_telegram_alert_to_store ⇒ Object
151 152 153 154 155 156 |
# File 'app/models/concerns/spree_cm_commissioner/order_requestable.rb', line 151 def send_order_rejected_telegram_alert_to_store title = '❌ --- [ORDER REJECTED BY VENDOR] ---' chat_id = store.preferred_telegram_order_request_alert_chat_id factory = OrderTelegramMessageFactory.new(title: title, order: self) TelegramNotificationSenderJob.perform_later(chat_id: chat_id, message: factory., parse_mode: factory.parse_mode) end |
#send_order_request_telegram_confirmation_alert_to_vendor ⇒ Object
104 |
# File 'app/models/concerns/spree_cm_commissioner/order_requestable.rb', line 104 def send_order_request_telegram_confirmation_alert_to_vendor; end |
#send_order_requested_app_notification_to_user ⇒ Object
125 126 127 |
# File 'app/models/concerns/spree_cm_commissioner/order_requestable.rb', line 125 def send_order_requested_app_notification_to_user SpreeCmCommissioner::OrderRequestedNotificationSender.call(order: self) end |
#send_order_requested_telegram_alert_to_store ⇒ Object
137 138 139 140 141 142 |
# File 'app/models/concerns/spree_cm_commissioner/order_requestable.rb', line 137 def send_order_requested_telegram_alert_to_store title = '🔔 --- [NEW REQUESTED BY USER] ---' chat_id = store.preferred_telegram_order_request_alert_chat_id factory = OrderTelegramMessageFactory.new(title: title, order: self) TelegramNotificationSenderJob.perform_later(chat_id: chat_id, message: factory., parse_mode: factory.parse_mode) end |