Update delivery process fields and sample form
This commit is contained in:
@@ -90,7 +90,7 @@ class Wiaas_Admin_Order_Process_Flow {
|
||||
|
||||
$order_id = $entry['wiaas_delivery_order_id'];
|
||||
|
||||
$suppliers = wiaas_get_order_delivery_suppliers($order_id);
|
||||
$suppliers = Wiaas_Order::get_suppliers($order_id);
|
||||
$final_estimated_date = Wiaas_Order::get_final_estimated_date($order_id);
|
||||
$final_confirmed_date = Wiaas_Order::get_final_confirmed_date($order_id);
|
||||
$earliest_installation_date = Wiaas_Order::get_earliest_installation_date($order_id);
|
||||
@@ -102,6 +102,24 @@ class Wiaas_Admin_Order_Process_Flow {
|
||||
|
||||
$admin_action = rgpost( 'wiaas_delivery_process_navigation_action' );
|
||||
|
||||
if ($admin_action === 'complete') {
|
||||
|
||||
$api = new Gravity_Flow_API( $form['id'] );
|
||||
|
||||
$current_step = $api->get_current_step($entry);
|
||||
|
||||
if ( $current_step ) {
|
||||
$current_step->purge_assignees();
|
||||
$current_step->update_step_status( 'complete' );
|
||||
}
|
||||
|
||||
$api->process_workflow($entry['id']);
|
||||
|
||||
$feedback = esc_html__( 'Workflow Complete', 'wiaas' );
|
||||
|
||||
return $feedback;
|
||||
}
|
||||
|
||||
list( $base_admin_action, $action_id ) = rgexplode( '|', $admin_action, 2 );
|
||||
|
||||
if ( $base_admin_action == 'send_to_step' ) {
|
||||
@@ -162,11 +180,12 @@ class Wiaas_Admin_Order_Process_Flow {
|
||||
<input type="hidden" name="_gravityflow_admin_action" value="1">
|
||||
|
||||
<input
|
||||
data-step="send_to_step|<?php esc_attr_e($next_step_id, 'wiaas') ?>"
|
||||
data-step="<?php echo empty($next_step_id) ? 'complete' : 'send_to_step|'.$next_step_id ?>"
|
||||
type="submit"
|
||||
<?php disabled(empty($next_step_id), true, true) ?>
|
||||
class="button button-primary wiaas_delivery_step_nav"
|
||||
style="float:right; margin-left: 20px;" value="NEXT STEP">
|
||||
style="float:right; margin-left: 20px;"
|
||||
value="<?php echo empty($next_step_id) ? 'COMPLETE' : 'NEXT STEP' ?>"
|
||||
>
|
||||
|
||||
<input
|
||||
data-step="send_to_step|<?php esc_attr_e($previous_step_id, 'wiaas') ?>"
|
||||
@@ -390,6 +409,7 @@ class Wiaas_Admin_Order_Process_Flow {
|
||||
<hr />
|
||||
<?php
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Wiaas_Admin_Order_Process_Flow::init();
|
||||
|
||||
@@ -443,6 +443,12 @@ class Wiaas_Cart {
|
||||
'_wiaas_option_group_name',
|
||||
'_wiaas_standard_package',
|
||||
'_wiaas_documents',
|
||||
'_wiaas_category',
|
||||
'_wiaas_manufacturer_product_no',
|
||||
'_wiaas_supplier_product_no',
|
||||
'_wiaas_supplier_organization_id',
|
||||
'_wiaas_product_price',
|
||||
'_wiaas_earliest_installation_additional_days'
|
||||
) );
|
||||
}
|
||||
|
||||
@@ -470,15 +476,19 @@ class Wiaas_Cart {
|
||||
|
||||
|
||||
// add supplier organizations information to order
|
||||
// save installation suppliers separately
|
||||
$suppliers_info = array();
|
||||
$installation_suppliers_info = array();
|
||||
|
||||
$items = $order->get_items('line_item');
|
||||
|
||||
foreach($items as $item) {
|
||||
|
||||
if (! empty($item['wiaas_supplier_organization_id']) &&
|
||||
empty($suppliers_info[$item['wiaas_supplier_organization_id']]) ) {
|
||||
$supplier_organization_id = $item['wiaas_supplier_organization_id'];
|
||||
|
||||
if (! empty($supplier_organization_id) && $item['wiaas_category'] !== 'installation' &&
|
||||
empty($suppliers_info[$supplier_organization_id]) ) {
|
||||
|
||||
$supplier_organization_id = $item['wiaas_supplier_organization_id'];
|
||||
$suppliers_info[$supplier_organization_id] = array(
|
||||
'id' => $supplier_organization_id,
|
||||
'estimated_delivery_date' => null,
|
||||
@@ -491,9 +501,23 @@ class Wiaas_Cart {
|
||||
$suppliers_info[$supplier_organization_id][$key] = $info;
|
||||
}
|
||||
}
|
||||
|
||||
if (! empty($supplier_organization_id) && $item['wiaas_category'] === 'installation' &&
|
||||
empty($installation_suppliers_info[$supplier_organization_id]) ) {
|
||||
|
||||
$installation_suppliers_info[$supplier_organization_id] = array(
|
||||
'id' => $supplier_organization_id,
|
||||
);
|
||||
|
||||
$supplier_organization_info = wiaas_get_organization_info($supplier_organization_id);
|
||||
foreach ($supplier_organization_info as $key => $info) {
|
||||
$installation_suppliers_info[$supplier_organization_id][$key] = $info;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$order->add_meta_data('_wiaas_suppliers', $suppliers_info, true);
|
||||
$order->add_meta_data('_wiaas_delivery_suppliers', $suppliers_info, true);
|
||||
$order->add_meta_data('_wiaas_installation_suppliers', $installation_suppliers_info, true);
|
||||
|
||||
// add additional date fields to order
|
||||
$order->add_meta_data('_wiaas_estimated_delivery_date', null, true);
|
||||
|
||||
@@ -85,10 +85,10 @@ class Wiaas_Delivery_Process {
|
||||
* @param $form
|
||||
*/
|
||||
public static function maybe_complete_parent_order($entry_id, $form) {
|
||||
|
||||
$entry = GFAPI::get_entry($entry_id);
|
||||
|
||||
$order_field = GFCommon::get_fields_by_type($form, 'wiaas_order')[0];
|
||||
$order_id = empty($order_field) ? null : absint($entry[$order_field->id]);
|
||||
$order_id = $entry['wiaas_delivery_order_id'];
|
||||
|
||||
if (!isset($order_id)) {
|
||||
return;
|
||||
@@ -97,7 +97,7 @@ class Wiaas_Delivery_Process {
|
||||
$process_entry_id = get_post_meta($order_id, 'wiaas_delivery_process_entry_id', true);
|
||||
|
||||
// order process entry completed, so complete order
|
||||
if (absint($process_entry_id) === $entry_id) {
|
||||
if (absint($process_entry_id) === absint($entry_id)) {
|
||||
$order = wc_get_order($order_id);
|
||||
$order->update_status('completed', 'Completed order delivery process.', true);
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ class Wiaas_Order {
|
||||
);
|
||||
|
||||
$order = wc_get_order($order_id);
|
||||
$order->update_meta_data('_wiaas_suppliers', $suppliers);
|
||||
$order->update_meta_data('_wiaas_delivery_suppliers', $suppliers);
|
||||
$order->save_meta_data();
|
||||
return true;
|
||||
}
|
||||
@@ -79,7 +79,7 @@ class Wiaas_Order {
|
||||
|
||||
|
||||
$order = wc_get_order($order_id);
|
||||
$order->update_meta_data('_wiaas_suppliers', $suppliers);
|
||||
$order->update_meta_data('_wiaas_delivery_suppliers', $suppliers);
|
||||
$order->save_meta_data();
|
||||
return true;
|
||||
}
|
||||
@@ -95,7 +95,7 @@ class Wiaas_Order {
|
||||
unset($suppliers[$key]['tracking_info'][$tracking_index]);
|
||||
|
||||
$order = wc_get_order($order_id);
|
||||
$order->update_meta_data('_wiaas_suppliers', $suppliers);
|
||||
$order->update_meta_data('_wiaas_delivery_suppliers', $suppliers);
|
||||
$order->save_meta_data();
|
||||
return true;
|
||||
}
|
||||
@@ -105,7 +105,7 @@ class Wiaas_Order {
|
||||
}
|
||||
|
||||
public static function save_estimated_date($order_id, $supplier_id, $date){
|
||||
$suppliers = wiaas_get_order_delivery_suppliers($order_id);
|
||||
$suppliers = self::get_suppliers($order_id);
|
||||
$updated = false;
|
||||
foreach($suppliers as $key => $supplier){
|
||||
if ($supplier['id'] === $supplier_id){
|
||||
@@ -120,7 +120,7 @@ class Wiaas_Order {
|
||||
|
||||
$order = wc_get_order($order_id);
|
||||
|
||||
$order->update_meta_data('_wiaas_suppliers', $suppliers);
|
||||
$order->update_meta_data('_wiaas_delivery_suppliers', $suppliers);
|
||||
self::_update_max_and_earliest_dates($order, $suppliers);
|
||||
|
||||
$order->save_meta_data();
|
||||
@@ -129,7 +129,7 @@ class Wiaas_Order {
|
||||
|
||||
public static function save_confirmed_date($order_id, $supplier_id, $date){
|
||||
|
||||
$suppliers = wiaas_get_order_delivery_suppliers($order_id);
|
||||
$suppliers = self::get_suppliers($order_id);
|
||||
$updated = false;
|
||||
|
||||
foreach($suppliers as $key => $supplier){
|
||||
@@ -148,7 +148,7 @@ class Wiaas_Order {
|
||||
|
||||
$order = wc_get_order($order_id);
|
||||
|
||||
$order->update_meta_data('_wiaas_suppliers', $suppliers);
|
||||
$order->update_meta_data('_wiaas_delivery_suppliers', $suppliers);
|
||||
self::_update_max_and_earliest_dates($order, $suppliers);
|
||||
|
||||
$order->save_meta_data();
|
||||
@@ -201,7 +201,7 @@ class Wiaas_Order {
|
||||
*/
|
||||
public static function get_suppliers($order_id){
|
||||
$order = wc_get_order($order_id);
|
||||
return $order->get_meta('_wiaas_suppliers');
|
||||
return $order->get_meta('_wiaas_delivery_suppliers');
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,233 +1 @@
|
||||
{
|
||||
"0": {
|
||||
"title": "DELIVERY PROCESS EXAMPLE: Copy and set to active to create new delivery process",
|
||||
"description": "",
|
||||
"labelPlacement": "top_label",
|
||||
"descriptionPlacement": "below",
|
||||
"button": {
|
||||
"type": "text",
|
||||
"text": "Submit",
|
||||
"imageUrl": ""
|
||||
},
|
||||
"fields": [
|
||||
{
|
||||
"type": "wiaas_order",
|
||||
"id": 1,
|
||||
"label": "Order number",
|
||||
"adminLabel": "",
|
||||
"isRequired": false,
|
||||
"size": "medium",
|
||||
"errorMessage": "",
|
||||
"visibility": "visible",
|
||||
"inputs": null,
|
||||
"formId": 24,
|
||||
"description": "",
|
||||
"allowsPrepopulate": false,
|
||||
"inputMask": false,
|
||||
"inputMaskValue": "",
|
||||
"inputType": "",
|
||||
"labelPlacement": "",
|
||||
"descriptionPlacement": "",
|
||||
"subLabelPlacement": "",
|
||||
"placeholder": "",
|
||||
"cssClass": "",
|
||||
"inputName": "",
|
||||
"noDuplicates": false,
|
||||
"defaultValue": "",
|
||||
"choices": "",
|
||||
"conditionalLogic": "",
|
||||
"enableCalculation": false,
|
||||
"numberFormat": "decimal_dot",
|
||||
"rangeMin": "",
|
||||
"rangeMax": "",
|
||||
"productField": "",
|
||||
"multipleFiles": false,
|
||||
"maxFiles": "",
|
||||
"calculationFormula": "",
|
||||
"calculationRounding": "",
|
||||
"disableQuantity": false,
|
||||
"displayAllCategories": false,
|
||||
"useRichTextEditor": false,
|
||||
"displayOnly": "",
|
||||
"enablePrice": ""
|
||||
}
|
||||
],
|
||||
"version": "2.3.2",
|
||||
"id": 24,
|
||||
"useCurrentUserAsAuthor": true,
|
||||
"postContentTemplateEnabled": false,
|
||||
"postTitleTemplateEnabled": false,
|
||||
"postTitleTemplate": "",
|
||||
"postContentTemplate": "",
|
||||
"lastPageButton": null,
|
||||
"pagination": null,
|
||||
"firstPageCssClass": null,
|
||||
"wiaas_delivery_process": {
|
||||
"delivery_form_type": "process",
|
||||
"delivery_country": "se"
|
||||
},
|
||||
"notifications": [
|
||||
{
|
||||
"id": "5bdb1c7c26952",
|
||||
"to": "{admin_email}",
|
||||
"name": "Admin Notification",
|
||||
"event": "form_submission",
|
||||
"toType": "email",
|
||||
"subject": "New submission from {form_title}",
|
||||
"message": "{all_fields}"
|
||||
}
|
||||
],
|
||||
"confirmations": [
|
||||
{
|
||||
"id": "5bdb1c7c26da9",
|
||||
"name": "Default Confirmation",
|
||||
"isDefault": true,
|
||||
"type": "message",
|
||||
"message": "Thanks for contacting us! We will get in touch with you shortly.",
|
||||
"url": "",
|
||||
"pageId": "",
|
||||
"queryString": ""
|
||||
}
|
||||
],
|
||||
"feeds": {
|
||||
"gravityflow": [
|
||||
{
|
||||
"id": "83",
|
||||
"form_id": "24",
|
||||
"is_active": "1",
|
||||
"feed_order": "0",
|
||||
"meta": {
|
||||
"step_name": "Delivery Step Placeholder (Change this to start creating workflow)",
|
||||
"description": "",
|
||||
"step_type": "wiaas_delivery_step",
|
||||
"step_highlight": "0",
|
||||
"step_highlight_type": "color",
|
||||
"step_highlight_color": "#dd3333",
|
||||
"feed_condition_conditional_logic": "0",
|
||||
"feed_condition_conditional_logic_object": [],
|
||||
"scheduled": "0",
|
||||
"schedule_type": "delay",
|
||||
"schedule_date": "",
|
||||
"schedule_delay_offset": "",
|
||||
"schedule_delay_unit": "hours",
|
||||
"schedule_date_field_offset": "0",
|
||||
"schedule_date_field_offset_unit": "hours",
|
||||
"schedule_date_field_before_after": "after",
|
||||
"instructionsEnable": "0",
|
||||
"instructionsValue": "",
|
||||
"is_visible_to_customer": "1",
|
||||
"target_form_id": "",
|
||||
"destination_complete": "next"
|
||||
},
|
||||
"addon_slug": "gravityflow",
|
||||
"event_type": null
|
||||
},
|
||||
{
|
||||
"id": "84",
|
||||
"form_id": "24",
|
||||
"is_active": "1",
|
||||
"feed_order": "0",
|
||||
"meta": {
|
||||
"step_name": "Complete",
|
||||
"description": "",
|
||||
"step_type": "approval",
|
||||
"step_highlight": "0",
|
||||
"step_highlight_type": "color",
|
||||
"step_highlight_color": "#dd3333",
|
||||
"feed_condition_conditional_logic": "0",
|
||||
"feed_condition_conditional_logic_object": [],
|
||||
"scheduled": "0",
|
||||
"schedule_type": "delay",
|
||||
"schedule_date": "",
|
||||
"schedule_delay_offset": "",
|
||||
"schedule_delay_unit": "hours",
|
||||
"schedule_date_field_offset": "0",
|
||||
"schedule_date_field_offset_unit": "hours",
|
||||
"schedule_date_field_before_after": "after",
|
||||
"type": "select",
|
||||
"assignees": [
|
||||
"role|administrator"
|
||||
],
|
||||
"routing": [
|
||||
{
|
||||
"assignee": "user_id|1",
|
||||
"fieldId": "0",
|
||||
"operator": "is",
|
||||
"value": "",
|
||||
"type": ""
|
||||
}
|
||||
],
|
||||
"assignee_policy": "all",
|
||||
"instructionsEnable": "0",
|
||||
"instructionsValue": "Instructions: please review the values in the fields below and click on the Approve or Reject button",
|
||||
"display_fields_mode": "all_fields",
|
||||
"assignee_notification_enabled": "0",
|
||||
"assignee_notification_from_name": "",
|
||||
"assignee_notification_from_email": "{admin_email}",
|
||||
"assignee_notification_reply_to": "",
|
||||
"assignee_notification_bcc": "",
|
||||
"assignee_notification_subject": "",
|
||||
"assignee_notification_message": "A new entry is pending your approval. Please check your Workflow Inbox.",
|
||||
"assignee_notification_disable_autoformat": "0",
|
||||
"resend_assignee_emailEnable": "0",
|
||||
"resend_assignee_emailValue": "7",
|
||||
"resend_assignee_email_repeatEnable": "0",
|
||||
"resend_assignee_email_repeatValue": "3",
|
||||
"rejection_notification_enabled": "0",
|
||||
"rejection_notification_type": "select",
|
||||
"rejection_notification_routing": [
|
||||
{
|
||||
"assignee": "user_id|1",
|
||||
"fieldId": "0",
|
||||
"operator": "is",
|
||||
"value": "",
|
||||
"type": ""
|
||||
}
|
||||
],
|
||||
"rejection_notification_from_name": "",
|
||||
"rejection_notification_from_email": "{admin_email}",
|
||||
"rejection_notification_reply_to": "",
|
||||
"rejection_notification_bcc": "",
|
||||
"rejection_notification_subject": "",
|
||||
"rejection_notification_message": "Entry {entry_id} has been rejected",
|
||||
"rejection_notification_disable_autoformat": "0",
|
||||
"approval_notification_enabled": "0",
|
||||
"approval_notification_type": "select",
|
||||
"approval_notification_routing": [
|
||||
{
|
||||
"assignee": "user_id|1",
|
||||
"fieldId": "0",
|
||||
"operator": "is",
|
||||
"value": "",
|
||||
"type": ""
|
||||
}
|
||||
],
|
||||
"approval_notification_from_name": "",
|
||||
"approval_notification_from_email": "{admin_email}",
|
||||
"approval_notification_reply_to": "",
|
||||
"approval_notification_bcc": "",
|
||||
"approval_notification_subject": "",
|
||||
"approval_notification_message": "Entry {entry_id} has been approved",
|
||||
"approval_notification_disable_autoformat": "0",
|
||||
"note_mode": "not_required",
|
||||
"expiration": "0",
|
||||
"expiration_type": "delay",
|
||||
"expiration_date": "",
|
||||
"expiration_delay_offset": "",
|
||||
"expiration_delay_unit": "hours",
|
||||
"expiration_date_field_offset": "0",
|
||||
"expiration_date_field_offset_unit": "hours",
|
||||
"expiration_date_field_before_after": "after",
|
||||
"status_expiration": "rejected",
|
||||
"destination_expired": "next",
|
||||
"destination_rejected": "complete",
|
||||
"destination_approved": "next"
|
||||
},
|
||||
"addon_slug": "gravityflow",
|
||||
"event_type": null
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"version": "2.3.2"
|
||||
}
|
||||
{"0":{"title":"DELIVERY PROCESS EXAMPLE: Copy and set to active to create new delivery process","description":"","labelPlacement":"top_label","descriptionPlacement":"below","button":{"type":"text","text":"Submit","imageUrl":""},"fields":[{"type":"wiaas_order","id":1,"label":"Order number","adminLabel":"","isRequired":false,"size":"medium","errorMessage":"","visibility":"visible","inputs":null,"formId":36,"description":"","allowsPrepopulate":false,"inputMask":false,"inputMaskValue":"","inputType":"","labelPlacement":"","descriptionPlacement":"","subLabelPlacement":"","placeholder":"","cssClass":"","inputName":"","noDuplicates":false,"defaultValue":"","choices":"","conditionalLogic":"","enableCalculation":false,"numberFormat":"decimal_dot","rangeMin":"","rangeMax":"","productField":"","multipleFiles":false,"maxFiles":"","calculationFormula":"","calculationRounding":"","disableQuantity":false,"displayAllCategories":false,"useRichTextEditor":false,"displayOnly":"","enablePrice":""}],"version":"2.3.2","id":36,"useCurrentUserAsAuthor":true,"postContentTemplateEnabled":false,"postTitleTemplateEnabled":false,"postTitleTemplate":"","postContentTemplate":"","lastPageButton":null,"pagination":null,"firstPageCssClass":null,"wiaas_delivery_process":{"delivery_form_type":"process","delivery_country":"se"},"is_active":"1","date_created":"2018-11-02 10:15:28","is_trash":"0","confirmations":[{"id":"5bdb1c7c26da9","name":"Default Confirmation","isDefault":true,"type":"message","message":"Thanks for contacting us! We will get in touch with you shortly.","url":"","pageId":"","queryString":""}],"notifications":[{"id":"5bdb1c7c26952","to":"{admin_email}","name":"Admin Notification","event":"form_submission","toType":"email","subject":"New submission from {form_title}","message":"{all_fields}"}],"feeds":{"gravityflow":[{"id":"120","form_id":"36","is_active":"1","feed_order":"0","meta":{"step_name":"Delivery Step Placeholder (Use Delivery Step type to create process workflow steps)","description":"","step_type":"wiaas_delivery_step","step_highlight":"0","step_highlight_type":"color","step_highlight_color":"#dd3333","feed_condition_conditional_logic":"0","feed_condition_conditional_logic_object":[],"scheduled":"0","schedule_type":"delay","schedule_date":"","schedule_delay_offset":"","schedule_delay_unit":"hours","schedule_date_field_offset":"0","schedule_date_field_offset_unit":"hours","schedule_date_field_before_after":"after","instructionsEnable":"0","instructionsValue":"","is_visible_to_customer":"1","target_form_id":"","destination_complete":"next"},"addon_slug":"gravityflow","event_type":null}]}},"version":"2.3.2"}
|
||||
@@ -62,22 +62,16 @@ class Wiaas_Delivery_Process_Step extends Gravity_Flow_Step {
|
||||
|
||||
public function start() {
|
||||
|
||||
$complete = parent::start();
|
||||
parent::start();
|
||||
|
||||
if ($complete) {
|
||||
$this->update_step_status('pending');
|
||||
|
||||
$this->update_step_status('complete');
|
||||
} else {
|
||||
|
||||
$this->update_step_status('pending');
|
||||
}
|
||||
|
||||
return $complete;
|
||||
return false;
|
||||
}
|
||||
|
||||
public function evaluate_status() {
|
||||
|
||||
return 'pending';
|
||||
return $this->get_status();
|
||||
}
|
||||
|
||||
public function get_status_label($status) {
|
||||
|
||||
@@ -32,6 +32,19 @@ class Wiaas_Field_Order_Bundle_Document extends GF_Field_FileUpload {
|
||||
return 'fileupload';
|
||||
}
|
||||
|
||||
public function add_button( $field_groups ) {
|
||||
$field_groups = Wiaas_Order_Fields::maybe_add_order_field_group($field_groups);
|
||||
|
||||
return parent::add_button( $field_groups );
|
||||
}
|
||||
|
||||
public function get_form_editor_button() {
|
||||
return array(
|
||||
'group' => 'wiaas_order_fields',
|
||||
'text' => $this->get_form_editor_field_title(),
|
||||
);
|
||||
}
|
||||
|
||||
public function get_form_editor_field_title() {
|
||||
return esc_attr__( 'Bundle Document', 'wiaas' );
|
||||
}
|
||||
|
||||
@@ -8,6 +8,19 @@ class Wiaas_Field_Order_Bundle extends GF_Field_Text {
|
||||
return esc_attr__( 'Bundle', 'wiaas' );
|
||||
}
|
||||
|
||||
public function add_button( $field_groups ) {
|
||||
$field_groups = Wiaas_Order_Fields::maybe_add_order_field_group($field_groups);
|
||||
|
||||
return parent::add_button( $field_groups );
|
||||
}
|
||||
|
||||
public function get_form_editor_button() {
|
||||
return array(
|
||||
'group' => 'wiaas_order_fields',
|
||||
'text' => $this->get_form_editor_field_title(),
|
||||
);
|
||||
}
|
||||
|
||||
public function get_value_entry_list( $value, $entry, $field_id, $columns, $form ) {
|
||||
return $this->get_bundle_display_name($value);
|
||||
}
|
||||
|
||||
@@ -36,6 +36,19 @@ class Wiaas_Field_Order_Document extends GF_Field_FileUpload {
|
||||
return esc_attr__( 'Order Document', 'wiaas' );
|
||||
}
|
||||
|
||||
public function add_button( $field_groups ) {
|
||||
$field_groups = Wiaas_Order_Fields::maybe_add_order_field_group($field_groups);
|
||||
|
||||
return parent::add_button( $field_groups );
|
||||
}
|
||||
|
||||
public function get_form_editor_button() {
|
||||
return array(
|
||||
'group' => 'wiaas_order_fields',
|
||||
'text' => $this->get_form_editor_field_title(),
|
||||
);
|
||||
}
|
||||
|
||||
public function get_download_url( $file, $force_download = false ) {
|
||||
|
||||
$upload_root = GFFormsModel::get_upload_url( $this->formId );
|
||||
|
||||
@@ -13,6 +13,19 @@ class Wiaas_Order_Installation_Select extends GF_Field_Select {
|
||||
return 'workflow_assignee_select';
|
||||
}
|
||||
|
||||
public function add_button( $field_groups ) {
|
||||
$field_groups = Wiaas_Order_Fields::maybe_add_order_field_group($field_groups);
|
||||
|
||||
return parent::add_button( $field_groups );
|
||||
}
|
||||
|
||||
public function get_form_editor_button() {
|
||||
return array(
|
||||
'group' => 'wiaas_order_fields',
|
||||
'text' => $this->get_form_editor_field_title(),
|
||||
);
|
||||
}
|
||||
|
||||
public function get_field_input( $form, $value = '', $entry = null ) {
|
||||
|
||||
if ( empty($entry) ) {
|
||||
|
||||
@@ -36,6 +36,19 @@ class Wiaas_Field_Order_Number extends GF_Field_Number {
|
||||
return esc_attr__( 'Order Number', 'wiaas' );
|
||||
}
|
||||
|
||||
public function add_button( $field_groups ) {
|
||||
$field_groups = Wiaas_Order_Fields::maybe_add_order_field_group($field_groups);
|
||||
|
||||
return parent::add_button( $field_groups );
|
||||
}
|
||||
|
||||
public function get_form_editor_button() {
|
||||
return array(
|
||||
'group' => 'wiaas_order_fields',
|
||||
'text' => $this->get_form_editor_field_title(),
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
public function get_value_entry_list( $value, $entry, $field_id, $columns, $form ) {
|
||||
return "#100000$value";
|
||||
|
||||
@@ -13,6 +13,29 @@ class Wiaas_Order_Fields {
|
||||
add_filter('gform_fileupload_entry_value_file_path', array( __CLASS__, 'display_order_document_fields' ), 999, 2);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds the Order Fields group to the form editor.
|
||||
*
|
||||
* @param array $field_groups The properties for the field groups.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public static function maybe_add_order_field_group( $field_groups ) {
|
||||
foreach ( $field_groups as $field_group ) {
|
||||
if ( $field_group['name'] == 'wiaas_order_fields' ) {
|
||||
return $field_groups;
|
||||
}
|
||||
}
|
||||
|
||||
$field_groups[] = array(
|
||||
'name' => 'wiaas_order_fields',
|
||||
'label' => __( 'Order Fields', 'wiaas' ),
|
||||
'fields' => array()
|
||||
);
|
||||
|
||||
return $field_groups;
|
||||
}
|
||||
|
||||
|
||||
public static function display_order_document_fields($file_path, $field) {
|
||||
|
||||
|
||||
@@ -42,13 +42,22 @@ function wiaas_get_order_procurement_info($order_id) {
|
||||
|
||||
$order_items = $order->get_items();
|
||||
|
||||
$order_suppliers_info = $order->get_meta('_wiaas_suppliers');
|
||||
$order_suppliers_info = array();
|
||||
$order_delivery_suppliers_info = $order->get_meta('_wiaas_delivery_suppliers');
|
||||
$order_installation_suppliers_info = $order->get_meta('_wiaas_installation_suppliers');
|
||||
|
||||
foreach ($order_delivery_suppliers_info as $id => $order_delivery_supplier_info) {
|
||||
$order_suppliers_info[$id] = $order_delivery_supplier_info;
|
||||
}
|
||||
foreach ($order_installation_suppliers_info as $id => $order_installation_supplier_info) {
|
||||
$order_suppliers_info[$id] = $order_installation_supplier_info;
|
||||
}
|
||||
|
||||
$data = array();
|
||||
|
||||
foreach ($order_items as $order_item_id => $order_item) {
|
||||
|
||||
$category = $order_item['_wiaas_category'];
|
||||
$category = $order_item['wiaas_category'];
|
||||
$supplier_organization_id = $order_item['wiaas_supplier_organization_id'];
|
||||
$supplier_info = $order_suppliers_info[$supplier_organization_id];
|
||||
|
||||
@@ -80,35 +89,4 @@ function wiaas_get_order_procurement_info($order_id) {
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve delivery supplier organizations for order which does not include installation providers
|
||||
*
|
||||
* @param int $order_id
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
function wiaas_get_order_delivery_suppliers($order_id) {
|
||||
|
||||
$order = wc_get_order($order_id);
|
||||
|
||||
$supplier_organizations = $order->get_meta('_wiaas_suppliers', true);
|
||||
|
||||
$delivery_supplier_organizations = array();
|
||||
|
||||
$order_items = $order->get_items();
|
||||
|
||||
foreach ($order_items as $order_item_id => $order_item) {
|
||||
|
||||
$supplier_organization_id = $order_item['wiaas_supplier_organization_id'];
|
||||
|
||||
if (! empty($supplier_organization_id) && $order_item['wiaas_category'] !== 'installation' &&
|
||||
empty($delivery_supplier_organizations[$supplier_organization_id])) {
|
||||
|
||||
$delivery_supplier_organizations[$supplier_organization_id] = $supplier_organizations[$supplier_organization_id];
|
||||
}
|
||||
}
|
||||
|
||||
return $delivery_supplier_organizations;
|
||||
}
|
||||
@@ -61,7 +61,7 @@ class CartUploadDocument extends Component {
|
||||
</div>
|
||||
|
||||
<Dropzone className={classnames('upload-file-drop-zone', { 'pending-upload': !uploadedDocument })}
|
||||
accept=".pdf,.docx,.doc,.xlsx,.xls,.odt,.ods"
|
||||
accept=".pdf,.docx,.doc,.xlsx,.xls,.odt,.ods, .zip"
|
||||
onDrop={(acceptedFiles, rejectedFiles)=>{this.uploadFile(cartItem.key, idDocumentType, acceptedFiles, rejectedFiles, packages)}}>
|
||||
{
|
||||
uploadedDocument
|
||||
|
||||
@@ -135,7 +135,7 @@ class CustomerAcceptance extends Component {
|
||||
<Col xl="4" lg="5" md="4">
|
||||
<Dropzone className="upload-file-drop-zone"
|
||||
multiple={false}
|
||||
accept=".pdf,.docx,.doc,.xlsx,.xls,.odt,.ods,.jpg,.png,.jpeg"
|
||||
accept=".pdf,.docx,.doc,.xlsx,.xls,.odt,.ods,.jpg,.png,.jpeg, .zip"
|
||||
activeClassName="upload-file-accept"
|
||||
onDrop={(acceptedFiles, rejectedFiles)=>{this.uploadFile(step.idOrder, acceptedFiles, rejectedFiles)}}>
|
||||
<h5 className="drop-zone-text">{orderTexts.labels.UPLOAD_ACCEPTANCE_LABEL}</h5>
|
||||
|
||||
@@ -67,7 +67,7 @@ class ValidateQuestionnaireItem extends Component {
|
||||
<Col xl="5">
|
||||
<Dropzone className="upload-file-drop-zone"
|
||||
multiple={false}
|
||||
accept=".pdf,.docx,.doc,.xlsx,.xls,.odt,.ods"
|
||||
accept=".pdf,.docx,.doc,.xlsx,.xls,.odt,.ods, .zip"
|
||||
activeClassName="upload-file-accept"
|
||||
onDrop={(acceptedFiles, rejectedFiles)=>{this.uploadFile(action, acceptedFiles, rejectedFiles)}}>
|
||||
<h5 className="drop-zone-text">{orderTexts.labels.SELECT_OR_DROP}</h5>
|
||||
|
||||
Reference in New Issue
Block a user