denny/ShinyCMS

View on GitHub
root/admin/shop/edit_item.tt

Summary

Maintainability
Test Coverage
[%- IF item.id;
        meta.title = 'Edit Item';
    ELSE;
        meta.title = 'Add Item';
    END;
-%]

<script type="text/javascript">
function itemPreview(itemForm) {
    var f=itemForm;
    var action=f.action;
    f.action='[% c.uri_for( "/shop", "item", item.code, "preview" ) %]';
    f.target='preview';
    window.open('','preview','width=1000,height=750,resizable=yes,status=yes,toolbar=no,location=no,menubar=no,scrollbars=yes');
    f.submit();
    f.action=action;
    f.target='_self';
    return false;
}
</script>

<script type="text/javascript">
$(document).ready(
    function() {
        $("#restock_pick").datepicker({
            dateFormat: 'dd M yy',
            altFormat:  'yy-mm-dd',
            altField:   '#restock_date'
        }
    );
});
</script>

[%- IF item.id %]
<form id="edit_item" action="[% c.uri_for( '/admin/shop/item', item.id, 'save' ) %]" method="post">
[%- ELSE %]
<form id="add_item" action="[% c.uri_for( '/admin/shop/item/add-do' ) %]" method="post">
[%- END %]
    <p>
        <label for="name">Item Name</label>
        <br><input class="textlong" type="text" name="name" value="[% item.name | html %]">
        [%- IF item.id %]
        <span class="small">
            &nbsp;<a class="action" href="[% c.uri_for( '/shop', 'item', item.code ) %]">View item</a>
        </span>
        [%- END %]
    </p>
    <p>
        <label for="code">Item Code</label>
        <br><input class="textshort" type="text" name="code" value="[% item.code | html %]">
    </p>
    [%- IF c.user.has_role( 'CMS Template Admin' ) OR NOT item.id %]
    <p>
        <label for="product_type">Product Type</label>
        <br><select id="product_type" name="product_type">
                [%- FOREACH temp IN product_types %]
                <option [% IF item.product_type.id == temp.id %]selected="selected" [% END %]value="[% temp.id %]">[% temp.name | html %]</option>
                [%- END %]
        </select>
    </p>
    [%- END %]
    <p>
        <label for="description">Description</label>
        <br><textarea name="description" cols="60" rows="4">[% item.description | html %]</textarea>
    </p>
    <p>
        <label>Categories</label>
        [%- FOREACH category IN categories %]
        <br><input type="checkbox" name="categories" value="[% category.id %]" id="category_[% category.id %]" [% 'checked="checked"' IF item.in_category(category.id) %]> <label for="category_[% category.id %]">[% category.name | html %]</label>
        [%- END %]
    </p>
    <p>
        <label for="tags">Tags</label>
        <br><input class="textlong" type="text" name="tags" value="[% shop_item_tags.join(', ') %]">
    </p>
    <p>
        <label for="image">Image (optional)</label>
        <br><select id="image" name="image">
            <option value="">None</option>
            [%- FOREACH image IN images %]
            [%- IF image == item.image %]
            <option value="[% image %]" selected="selected">[% image %]</option>
            [%- ELSE %]
            <option value="[% image %]">[% image %]</option>
            [%- END %]
            [%- END %]
        </select>
    </p>
    <p>
        <label for="price">Price</label>
        <br><input class="textshort" type="text" name="price" value="[% item.price %]">
    </p>
    <p>
        <label for="price">Quantity in stock</label>
        <br><input class="textnumber" type="text" name="stock" value="[% item.stock %]">
    </p>
    <p>
        <label for="price">Next restock date</label>
        <br><input id="restock_pick" class="textveryshort" type="text" value="[% item.restock_date.day %] [% item.restock_date.month_abbr %] [% item.restock_date.year %]">
        <input id="restock_date" type="hidden" name="restock_date" value="[% item.restock_date.ymd %]">
    </p>
    <p>
        <label>Postage Options</label>
        [%- FOREACH option IN postage_options %]
        <br><input id="postage_[% option.id %]" name="postage_options" value="[% option.id %]" type="checkbox" [%- 'checked="checked"' IF item.has_postage_option(option.id) %]> <label for="postage_[% option.id %]">[% option.name | html %]</label>
        [%- END %]
    </p>
    <p>
        <label for="allow_comments">Allow comments</label>
        <br><input type="checkbox" id="allow_comments" name="allow_comments" [% 'checked="checked"' IF item.discussion OR ( comments_default_on AND NOT item.id ) %]>
    </p>
    <p>
        <label for="hidden">Hide item</label>
        <br><input type="checkbox" id="hidden" name="hidden"[% ' checked="checked"' IF item.hidden OR ( hide_new_items AND NOT item.id ) %]>
    </p>

    [%- FOREACH element IN shop_item_elements %]
    <p>
        [%- IF c.user.has_role( 'CMS Template Admin' ) %]
        <input class="textshort" type="text" id="name_[% element.id %]" name="name_[% element.id %]" value="[% element.name | html %]">
        <select id="type_[% element.id %]" name="type_[% element.id %]">
            [%- FOREACH type IN types %]
            [%- IF type == element.type %]
            <option value="[% type %]" selected="selected">[% type %]</option>
            [%- ELSE %]
            <option value="[% type %]">[% type %]</option>
            [%- END %]
            [%- END %]
        </select>
        [%- ELSE %]
        <label for="content_[% element.id %]">[% element.name | html %]</label>
        <input type="hidden" id="name_[% element.id %]" name="name_[% element.id %]" value="[% element.name | html %]">
        [%- END %]
        <br>
        [%- IF element.type == 'Image' %]
        <select id="content_[% element.id %]" name="content_[% element.id %]">
            <option value="">None</option>
            [%- FOREACH image IN images %]
            [%- IF image == element.content %]
            <option value="[% image %]" selected="selected">[% image %]</option>
            [%- ELSE %]
            <option value="[% image %]">[% image %]</option>
            [%- END %]
            [%- END %]
        </select>
        [%- ELSE %]
        [%- IF element.type == 'HTML' %]
        <textarea class="ckeditor" id="content_[% element.id %]" name="content_[% element.id %]" cols="60" rows="4">[% element.content | html %]</textarea>
        [%- ELSE %]
        [%- IF element.type == 'Long Text' %]
        <textarea cols="60" rows="4" id="content_[% element.id %]" name="content_[% element.id %]">[% element.content | html %]</textarea>
        [%- ELSE %]
        [%# IF element.type == 'Short Text' %]
        <input class="textlong" type="text" id="content_[% element.id %]" name="content_[% element.id %]" value="[% element.content | html %]">
        [%- END %][% END %][% END %]
    </p>
    [%- END %]

    <p>
[%- IF item.id %]
<script type="text/javascript">
<!--
if (document.getElementById) {
    document.write('<input type="button" value="Preview" onclick="itemPreview(this.form)">');
}
// -->
</script>
[%- END %]
        <input type="submit" value="Save">
        <input type="reset"  value="Reset">
        [%- IF item.id %]
        <input name="delete" type="submit" value="Delete" onclick="javascript:return confirm('Are you sure you want to delete this item?')">
        [%- END %]
    </p>
</form>

[%- IF c.user.has_role( 'Shop Admin' ) AND item.id %]
<p>
    &nbsp;
</p>

<hr>

<h3>
    <a name="add_element"></a>Add Element
</h3>

<form id="add_element" action="add_element_do" method="post">
    <p>
        <label for="new_element">Element name</label>
        <br><input class="textshort" type="text" id="new_element" name="new_element" value="">
        <select name="new_type">
            [%- FOREACH type IN types %]
            <option value="[% type %]">[% type %]</option>
            [%- END %]
        </select>
    </p>
    <p>
        <input name="submit" type="submit" value="Add New Element">
    </p>
</form>
[%- END %]