Page Menu
Home
In-Portal Phabricator
Search
Configure Global Search
Log In
Files
F1169258
orders_edit_items.tpl
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Thu, Sep 25, 10:31 PM
Size
10 KB
Mime Type
text/html
Expires
Sat, Sep 27, 10:31 PM (1 d, 9 h)
Engine
blob
Format
Raw Data
Handle
757568
Attached To
rMINC Modules.In-Commerce
orders_edit_items.tpl
View Options
<
inp2:adm_SetPopupSize
width
=
"820"
height
=
"570"
/>
<
inp2:m_include
t
=
"incs/header"
/>
<
inp2:m_if
check
=
"ord_OrderEditable"
>
<
inp2:m_SetParam
grid
=
"Default"
/>
<
inp2:m_else
/>
<
inp2:m_SetParam
grid
=
"NotEditable"
/>
</
inp2:m_if
>
<
inp2:m_RenderElement
name
=
"combined_header"
prefix
=
"ord"
section
=
"in-commerce:orders"
title_preset
=
"orders_edit_items"
grid
=
"
$
grid"
pagination
=
"1"
pagination_prefix
=
"orditems"
tab_preset
=
"Default"
/>
<!-- ToolBar -->
<
table
class
=
"toolbar"
height
=
"30"
cellspacing
=
"0"
cellpadding
=
"0"
width
=
"100%"
border
=
"0"
>
<
tbody
>
<
tr
>
<
td
>
<
script
type
=
"text/javascript"
>
a_toolbar
=
new
ToolBar
();
a_toolbar
.
AddButton
(
new
ToolBarButton
(
'select'
,
'<inp2:m_phrase label="la_ToolTip_Save" escape="1"/>'
,
function
()
{
submit_event
(
'ord'
,
'<inp2:ord_SaveEvent/>'
);
}
)
);
a_toolbar
.
AddButton
(
new
ToolBarButton
(
'cancel'
,
'<inp2:m_phrase label="la_ToolTip_Cancel" escape="1"/>'
,
function
()
{
submit_event
(
'ord'
,
'OnCancelEdit'
);
}
)
);
a_toolbar
.
AddButton
(
new
ToolBarSeparator
(
'sep1'
)
);
a_toolbar
.
AddButton
(
new
ToolBarButton
(
'prev'
,
'<inp2:m_phrase label="la_ToolTip_Prev" escape="1"/>'
,
function
()
{
go_to_id
(
'ord'
,
'<inp2:ord_PrevId/>'
);
}
)
);
a_toolbar
.
AddButton
(
new
ToolBarButton
(
'next'
,
'<inp2:m_phrase label="la_ToolTip_Next" escape="1"/>'
,
function
()
{
go_to_id
(
'ord'
,
'<inp2:ord_NextId/>'
);
}
)
);
a_toolbar
.
AddButton
(
new
ToolBarSeparator
(
'sep2'
)
);
function
edit
(){
std_edit_temp_item
(
'orditems'
,
'in-commerce/orders/order_product_edit'
);
}
<
inp2
:
m_if
check
=
"ord_OrderEditable"
>
//Order items related:
a_toolbar
.
AddButton
(
new
ToolBarButton
(
'new_item'
,
'<inp2:m_phrase label="la_ToolTip_Add_Items" escape="1"/>'
,
function
()
{
openSelector
(
'orditems'
,
'<inp2:adm_SelectorLink prefix="ord" selection_mode="single" tab_prefixes="p" no_amp="1" js_escape="1"/>'
,
''
,
null
,
'OnSaveItems'
);
}
)
);
a_toolbar
.
AddButton
(
new
ToolBarButton
(
'delete'
,
'<inp2:m_phrase label="la_ToolTip_Delete" escape="1"/>'
,
function
()
{
std_delete_items
(
'orditems'
)
}
)
);
a_toolbar
.
AddButton
(
new
ToolBarButton
(
'in-commerce:recalculate_order'
,
'<inp2:m_phrase label="la_RecalculateOrder"/>'
,
function
()
{
submit_event
(
'ord'
,
'OnRecalculateItems'
);
}
)
);
a_toolbar
.
AddButton
(
new
ToolBarSeparator
(
'sep3'
)
);
<
/inp2:m_if>
a_toolbar
.
AddButton
(
new
ToolBarButton
(
'view'
,
'<inp2:m_phrase label="la_ToolTip_View" escape="1"/>'
,
function
()
{
show_viewmenu
(
a_toolbar
,
'view'
);
}
)
);
a_toolbar
.
Render
();
<
inp2
:
m_if
check
=
"ord_Status"
is_not
=
"incomplete"
>
a_toolbar
.
HideButton
(
'arrange'
);
<
/inp2:m_if>
<
inp2
:
m_if
check
=
"ord_IsSingle"
>
a_toolbar
.
HideButton
(
'prev'
);
a_toolbar
.
HideButton
(
'next'
);
a_toolbar
.
HideButton
(
'sep1'
);
//a_toolbar.HideButton('sep2');
<
inp2
:
m_else
/>
<
inp2
:
m_if
check
=
"ord_IsLast"
>
a_toolbar
.
DisableButton
(
'next'
);
<
/inp2:m_if>
<
inp2
:
m_if
check
=
"ord_IsFirst"
>
a_toolbar
.
DisableButton
(
'prev'
);
<
/inp2:m_if>
<
/inp2:m_if>
// stuff for updating extended price based on price & quantity entered
function
CalculateSubtotal
(
$
prefix_special
,
$
price_field
,
$
result_id
)
{
if
(
typeof
(
Grids
[
$
prefix_special
])
!=
'object'
)
{
return
false
;
}
var
$
sub_total
=
0
;
var
$
grid_items
=
Grids
[
$
prefix_special
].
Items
;
for
(
var
$
i
in
$
grid_items
)
{
$
id
=
$
grid_items
[
$
i
].
ItemId
;
var
$
price_control
=
document
.
getElementById
(
$
prefix_special
+
'['
+
$
id
+
']['
+
$
price_field
+
']'
);
$
sub_total
+=
NumberFormatter
.
Parse
(
$
price_field
==
'ExtendedPrice'
?
$
price_control
.
innerHTML
:
$
price_control
.
value
);
}
document
.
getElementById
(
$
result_id
).
innerHTML
=
NumberFormatter
.
Format
(
$
sub_total
.
toFixed
(
2
));
}
function
UpdateExtendedPrice
(
$
prefix_special
,
$
id
)
{
<
inp2
:
m_if
check
=
"ord_OrderEditable"
>
// 1. calculate current row extended price
var
$
qty
=
NumberFormatter
.
Parse
(
document
.
getElementById
(
$
prefix_special
+
'['
+
$
id
+
'][Quantity]'
).
value
);
var
$
price
=
NumberFormatter
.
Parse
(
document
.
getElementById
(
$
prefix_special
+
'['
+
$
id
+
'][Price]'
).
value
);
var
$
ext_price
=
Math
.
round
(
$
qty
*
$
price
*
100
)
/
100
;
document
.
getElementById
(
$
prefix_special
+
'['
+
$
id
+
'][ExtendedPrice]'
).
innerHTML
=
NumberFormatter
.
Format
(
$
ext_price
.
toFixed
(
2
));
// 2. recalculate subtotal
CalculateSubtotal
(
$
prefix_special
,
'ExtendedPrice'
,
'order_subtotal'
);
<
/inp2:m_if>
// 3. recalculate return total
CalculateSubtotal
(
'orditems'
,
'ReturnAmount'
,
'order_returntotal'
);
}
</
script
>
</
td
>
<
inp2:m_RenderElement
name
=
"search_main_toolbar"
prefix
=
"orditems"
grid
=
"
$
grid"
/>
</
tr
>
</
tbody
>
</
table
>
<
inp2:m_DefineElement
name
=
"option_value_element"
>
<
inp2:m_param
name
=
"value"
/>
<
inp2:m_if
check
=
"m_ParamEquals"
name
=
"price"
value
=
""
><
inp2:m_else
/>
(
<
inp2:m_param
name
=
"sign"
/><
inp2:m_param
name
=
"price"
/>
<
inp2:m_param
name
=
"price_type"
/>
)
</
inp2:m_if
>
<
inp2:m_if
check
=
"m_ParamEquals"
name
=
"is_last"
value
=
"1"
><
inp2:m_else
/>
,
</
inp2:m_if
>
</
inp2:m_DefineElement
>
<
inp2:m_DefineElement
name
=
"option_element"
>
<
inp2:m_if
check
=
"m_ParamEquals"
param
=
"type"
value
=
"6"
>
<!-- checkboxes - multiple -->
<
strong
><
inp2:m_param
name
=
"option"
/>
:
</
strong
>
<
inp2:PrintOptionValues
render_as
=
"option_value_element"
/>
<
inp2:m_else
/>
<
strong
><
inp2:m_param
name
=
"option"
/>
:
</
strong
>
<
inp2:m_param
name
=
"value"
/>
<
inp2:m_if
check
=
"m_ParamEquals"
name
=
"price"
value
=
""
><
inp2:m_else
/>
(
<
inp2:m_param
name
=
"sign"
/><
inp2:m_param
name
=
"price"
/>
<
inp2:m_param
name
=
"price_type"
/>
)
</
inp2:m_if
>
</
inp2:m_if
><
br
/>
</
inp2:m_DefineElement
>
<
inp2:m_DefineElement
name
=
"option_value_element_no_price"
>
<
inp2:m_param
name
=
"value"
/>
<
inp2:m_if
check
=
"m_ParamEquals"
name
=
"is_last"
value
=
"1"
><
inp2:m_else
/>
,
</
inp2:m_if
>
</
inp2:m_DefineElement
>
<
inp2:m_DefineElement
name
=
"option_element_no_price"
>
<
inp2:m_if
check
=
"m_ParamEquals"
param
=
"type"
value
=
"6"
>
<!-- checkboxes - multiple -->
<
strong
><
inp2:m_param
name
=
"option"
/>
:
</
strong
>
<
inp2:PrintOptionValues
render_as
=
"option_value_element_no_price"
/>
<
inp2:m_else
/>
<
strong
><
inp2:m_param
name
=
"option"
/>
:
</
strong
>
<
inp2:m_param
name
=
"value"
/>
</
inp2:m_if
><
br
/>
</
inp2:m_DefineElement
>
<
inp2:m_DefineElement
name
=
"product_image"
>
<
img
src
=
"<inp2:m_param name="
img_path
"
/>
" title="
<
inp2:m_param
name
=
"alt"
/>
" alt="
<
inp2:m_param
name
=
"alt"
/>
"
<
inp2:m_param
name
=
"img_size"
/>
border="0" />
<
br
/>
</
inp2:m_DefineElement
>
<
inp2:m_DefineElement
name
=
"grid_productname_td"
format
=
""
module
=
""
>
<
inp2:m_if
check
=
"m_GetConfig"
name
=
"ShowProductImagesInOrders"
>
<
div
style
=
"width: 120px;"
>
<
inp2:p_Image
render_as
=
"product_image"
thumbnail
=
"1"
DefaultImage
=
"noimage.gif"
MaxWidth
=
"120"
MaxHeight
=
"120"
DefaultWidth
=
"120"
/>
</
div
>
</
inp2:m_if
>
<
inp2:Field
field
=
"
$
fi
eld"
first_chars
=
"50"
/>
(
<
inp2:Field
field
=
"ProductId"
/>
)
<
inp2:m_if
check
=
"ord_BackOrderFlag"
><
span
class
=
"error"
><
inp2:m_Phrase
label
=
"la_ItemBackordered"
/></
span
></
inp2:m_if
>
<
inp2:m_if
check
=
"HasOptions"
>
<
br
/>
<
small
>
<
inp2:m_if
check
=
"FieldEquals"
field
=
"OptionsSelectionMode"
value
=
"0"
>
<!-- selectable options -->
<
inp2:PrintOptions
render_as
=
"option_element"
/>
<
inp2:m_else
/>
<!-- listed combinations -->
<
inp2:PrintOptions
render_as
=
"option_element_no_price"
/>
</
inp2:m_if
>
</
small
>
</
inp2:m_if
>
</
inp2:m_DefineElement
>
<
inp2:m_DefineElement
name
=
"grid_edit_td"
>
<
input
type
=
"text"
onkeyup
=
"UpdateExtendedPrice('<inp2:m_param name="
PrefixSpecial
"
/>
',
<
inp2:
{$
PrefixSpecial
}
_Field
field
=
"OrderItemId"
/>
);" class="text" name="
<
inp2:
{$
PrefixSpecial
}
_InputName
field
=
"
$
fi
eld"
/>
" id="
<
inp2:
{$
PrefixSpecial
}
_InputName
field
=
"
$
fi
eld"
/>
" value="
<
inp2:
{$
PrefixSpecial
}
_field
field
=
"
$
fi
eld"
grid
=
"
$
grid"
/>
" size="4">
</
inp2:m_DefineElement
>
<
inp2:m_DefineElement
name
=
"grid_quantity_td"
>
<
inp2:m_if
check
=
"FieldEquals"
field
=
"Type"
value
=
"1"
>
<
input
type
=
"text"
onkeyup
=
"UpdateExtendedPrice('<inp2:m_param name="
PrefixSpecial
"
/>
',
<
inp2:
{$
PrefixSpecial
}
_Field
field
=
"OrderItemId"
/>
);" class="text" name="
<
inp2:
{$
PrefixSpecial
}
_InputName
field
=
"
$
fi
eld"
/>
" id="
<
inp2:
{$
PrefixSpecial
}
_InputName
field
=
"
$
fi
eld"
/>
" value="
<
inp2:
{$
PrefixSpecial
}
_field
field
=
"
$
fi
eld"
grid
=
"
$
grid"
/>
" size="4">
<
inp2:m_else
/>
<
span
class
=
"text"
><
inp2:
{$
PrefixSpecial
}
_field
field
=
"
$
fi
eld"
grid
=
"
$
grid"
/></
span
>
<
inp2:m_RenderElement
name
=
"inp_edit_hidden"
prefix
=
"
$
PrefixSpecial"
field
=
"
$
fi
eld"
/>
</
inp2:m_if
>
</
inp2:m_DefineElement
>
<
inp2:m_DefineElement
name
=
"grid_price_td"
>
<
input
type
=
"text"
onkeyup
=
"UpdateExtendedPrice('<inp2:m_param name="
PrefixSpecial
"
/>
',
<
inp2:
{$
PrefixSpecial
}
_Field
field
=
"OrderItemId"
/>
);" class="text" name="
<
inp2:
{$
PrefixSpecial
}
_InputName
field
=
"
$
fi
eld"
/>
" id="
<
inp2:
{$
PrefixSpecial
}
_InputName
field
=
"
$
fi
eld"
/>
" value="
<
inp2:
{$
PrefixSpecial
}
_field
field
=
"
$
fi
eld"
grid
=
"
$
grid"
/>
" size="5">
</
inp2:m_DefineElement
>
<
inp2:m_DefineElement
name
=
"grid_extendedprice_td"
>
<
span
id
=
"<inp2:InputName field="
$
fi
eld
"
/>
">
<
inp2:Field
field
=
"
$
fi
eld"
grid
=
"
$
grid"
format
=
"%.2f"
/></
span
>
<
script
type
=
"text/javascript"
>
UpdateExtendedPrice
(
'<inp2:m_param name="PrefixSpecial"/>'
,
<
inp2
:
Field
field
=
"OrderItemId"
/>
);</
script
>
</
inp2:m_DefineElement
>
<
inp2:m_DefineElement
name
=
"orderitems_total_td"
>
<
inp2:m_if
check
=
"FieldOption"
field
=
"
$
fi
eld"
option
=
"totals"
>
<
inp2:FieldOption
field
=
"
$
fi
eld"
option
=
"totals"
result_to_var
=
"totals"
/>
'
<
inp2:FieldTotal
field
=
"
$
fi
eld"
function
=
"
$
totals"
/>
'
<
inp2:m_else
/>
<
inp2:m_if
check
=
"m_Param"
name
=
"field"
equals_to
=
"ReturnAmount"
>
'
<
span
id
=
"order_returntotal"
>
0.00
</
span
>
'
</
inp2:m_if
>
<
inp2:m_if
check
=
"m_Param"
name
=
"field"
equals_to
=
"ExtendedPrice"
>
<
inp2:m_if
check
=
"ord_OrderEditable"
>
'
<
span
id
=
"order_subtotal"
>
0.00
</
span
>
'
<
inp2:m_else
/>
'
<
span
id
=
"order_subtotal"
><
inp2:ord_Field
name
=
"SubTotal"
/></
span
>
'
</
inp2:m_if
>
</
inp2:m_if
>
<
inp2:m_ifnot
check
=
"m_Param"
name
=
"field"
equals_to
=
"ReturnAmount|ExtendedPrice"
>
'
'
</
inp2:m_ifnot
>
</
inp2:m_if
>
<
inp2:m_ifnot
check
=
"m_Param"
name
=
"is_last"
>
,
</
inp2:m_ifnot
>
</
inp2:m_DefineElement
>
<
inp2:m_RenderElement
name
=
"grid"
grid
=
"
$
grid"
PrefixSpecial
=
"orditems"
IdField
=
"OrderItemId"
totals_block
=
"orderitems_total_td"
totals_render_as
=
"grid_total_row"
/>
<
script
type
=
"text/javascript"
>
Grids
[
'orditems'
].
SetDependantToolbarButtons
(
new
Array
(
'delete'
)
);
<
inp2
:
m_if
check
=
"ord_OrderEditable"
>
CalculateSubtotal
(
'orditems'
,
'ExtendedPrice'
,
'order_subtotal'
);
<
/inp2:m_if>
CalculateSubtotal
(
'orditems'
,
'ReturnAmount'
,
'order_returntotal'
);
</
script
>
<
input
type
=
"hidden"
name
=
"main_prefix"
id
=
"main_prefix"
value
=
"ord"
>
<
inp2:m_include
t
=
"incs/footer"
/>
Event Timeline
Log In to Comment