[limb-svn] r6742 - in 3.x/examples/shop: src/controller src/model template template/admin template/admin_order template/admin_product template/admin_user
svn at limb-project.com
svn at limb-project.com
Thu Jan 24 18:54:25 MSK 2008
Author: serega
Date: 2008-01-24 18:54:25 +0300 (Thu, 24 Jan 2008)
New Revision: 6742
URL: http://fisheye.limb-project.com/changelog/limb/?cs=6742
Added:
3.x/examples/shop/template/admin/display.phtml
3.x/examples/shop/template/admin_order/details.phtml
3.x/examples/shop/template/admin_order/display.phtml
3.x/examples/shop/template/admin_page.phtml
3.x/examples/shop/template/admin_product/create.phtml
3.x/examples/shop/template/admin_product/display.phtml
3.x/examples/shop/template/admin_product/edit.phtml
3.x/examples/shop/template/admin_product/form_fields.phtml
3.x/examples/shop/template/admin_user/change_password.phtml
3.x/examples/shop/template/admin_user/create.phtml
3.x/examples/shop/template/admin_user/display.phtml
3.x/examples/shop/template/admin_user/edit.phtml
3.x/examples/shop/template/admin_user/form_fields.phtml
Modified:
3.x/examples/shop/src/controller/AdminOrderController.class.php
3.x/examples/shop/src/controller/AdminProductController.class.php
3.x/examples/shop/src/controller/AdminUserController.class.php
3.x/examples/shop/src/model/Order.class.php
3.x/examples/shop/template/admin_page.html
Log:
-- making SHOP example compatible with 2007.4 and to work both with MACRO and WACT
Modified: 3.x/examples/shop/src/controller/AdminOrderController.class.php
===================================================================
--- 3.x/examples/shop/src/controller/AdminOrderController.class.php 2008-01-24 13:38:44 UTC (rev 6741)
+++ 3.x/examples/shop/src/controller/AdminOrderController.class.php 2008-01-24 15:54:25 UTC (rev 6742)
@@ -5,7 +5,7 @@
{
function doDisplay()
{
- $this->setViewFormDatasource($this->request, 'filter_form');
+ $this->setFormDatasource($this->request, 'filter_form');
}
function doDelete()
@@ -34,15 +34,13 @@
}
catch(lmbARException $e)
{
- $this->flashError('Wrond Order ID');
- $this->redirect(array('controller' => 'admin'));
- return;
+ return $this->flashErrorAndRedirect('Wrond Order ID', array('controller' => 'admin'));
}
$status = $this->request->get('status');
- $this->flashMessage('Order status was changed');
$order->setStatus($status);
$order->save();
+ $this->flashMessage('Order status was changed');
}
}
?>
Modified: 3.x/examples/shop/src/controller/AdminProductController.class.php
===================================================================
--- 3.x/examples/shop/src/controller/AdminProductController.class.php 2008-01-24 13:38:44 UTC (rev 6741)
+++ 3.x/examples/shop/src/controller/AdminProductController.class.php 2008-01-24 15:54:25 UTC (rev 6742)
@@ -20,7 +20,8 @@
$item = new Product($id);
$this->useForm('product_form');
- $this->setViewFormDatasource($item);
+ $this->setFormDatasource($item);
+ $this->product = $item;
if($this->request->hasPost())
{
Modified: 3.x/examples/shop/src/controller/AdminUserController.class.php
===================================================================
--- 3.x/examples/shop/src/controller/AdminUserController.class.php 2008-01-24 13:38:44 UTC (rev 6741)
+++ 3.x/examples/shop/src/controller/AdminUserController.class.php 2008-01-24 15:54:25 UTC (rev 6742)
@@ -20,7 +20,7 @@
$item = new User($id);
$this->useForm('user_form');
- $this->setViewFormDatasource($item);
+ $this->setFormDatasource($item);
if($this->request->hasPost())
{
@@ -52,7 +52,7 @@
return;
$this->useForm('user_form');
- $this->setViewFormDatasource($this->request);
+ $this->setFormDatasource($this->request);
$this->_validatePasswordField();
Modified: 3.x/examples/shop/src/model/Order.class.php
===================================================================
--- 3.x/examples/shop/src/model/Order.class.php 2008-01-24 13:38:44 UTC (rev 6741)
+++ 3.x/examples/shop/src/model/Order.class.php 2008-01-24 15:54:25 UTC (rev 6742)
@@ -43,7 +43,10 @@
{
$statuses = $this->getStatusOptions();
if(isset($statuses[$value]))
+ {
$this->_setRaw('status', $value);
+ $this->markDirty(true);
+ }
}
function getStatusName()
Added: 3.x/examples/shop/template/admin/display.phtml
===================================================================
--- 3.x/examples/shop/template/admin/display.phtml (rev 0)
+++ 3.x/examples/shop/template/admin/display.phtml 2008-01-24 15:54:25 UTC (rev 6742)
@@ -0,0 +1,4 @@
+<? $this->title = 'Main page'; ?>
+{{wrap with='admin_page.phtml' in='content'}}
+<b>Wellcome to Shop Example control panel!</b>
+{{/wrap}}
Added: 3.x/examples/shop/template/admin_order/details.phtml
===================================================================
--- 3.x/examples/shop/template/admin_order/details.phtml (rev 0)
+++ 3.x/examples/shop/template/admin_order/details.phtml 2008-01-24 15:54:25 UTC (rev 6742)
@@ -0,0 +1,46 @@
+<? $this->title ='Single order'; ?>
+{{wrap with="admin_page.phtml" in="content"}}
+
+<? $order = lmbActiveRecord :: findById("Order", (int)$this->request->get('id'), false); ?>
+
+<h2>Items</h2>
+{{list using='$order.lines' parity='$parity' as='$line'}}
+<table cellpadding="0" cellspacing="0" class='list'>
+ <thead>
+ <tr>
+ <th>Title</th>
+ <th>Price</th>
+ <th>Quantity</th>
+ <th>Summ</th>
+ </tr>
+ </thead>
+ {{list:item}}
+ <tr class='{$parity}'>
+ <td>{$line.product.title}</td>
+ <td>${$line.price|number:2, '.', ' '}</td>
+ <td>{$line.quantity}</td>
+ <td>${$line.summ|number:2, '.', ' '}</td>
+ </tr>
+ {{/list:item}}
+</table>
+{{/list}}
+
+<h2>Order status</h2>
+Status : {$order.status_name}<br/>
+Address : {$order.address}<br/>
+
+<h2>Set other order status</h2>
+{{form id='form_status' name='form_status' method='post'}}
+ <?php $statuses = Order :: getStatusOptions(); ?>
+ Status : {{select id='status' name='status' options="$statuses"}}{{option value='0' prepend='true'}}--------{{/option}}{{/select}}
+<br/>
+<input type='submit' class='button' name='set_status' value="Set new status" class='button'/><br/>
+{{/form}}
+
+
+<h2>Customer</h2>
+Name : {$order.user.name}<br/>
+Email : <a href='mailto:{$order.user.email}'>{$order.user.email}</a><br/>
+Login : {$order.user.login}<br/>
+
+{{/wrap}}
Added: 3.x/examples/shop/template/admin_order/display.phtml
===================================================================
--- 3.x/examples/shop/template/admin_order/display.phtml (rev 0)
+++ 3.x/examples/shop/template/admin_order/display.phtml 2008-01-24 15:54:25 UTC (rev 6742)
@@ -0,0 +1,40 @@
+<? $this->title = 'Orders'; ?>
+{{wrap with="admin_page.phtml" in="content"}}
+
+<p/><b>Filter orders:</b>
+{{form method="GET" id='filter_form'}}
+ <?php $statuses = Order :: getStatusOptions(); ?>
+ Filter : {{select id='status' name='status' options="$statuses"}}{{option value='0' prepend='true'}}Show all{{/option}}{{/select}}
+ <input type='submit' name='filter' value="Filter" class='button'/><br/>
+{{/form}}
+
+<? $orders = Order :: findForAdmin()->sort(array('date' => 'DESC')); ?>
+
+{{paginate iterator='$orders' pager="pager"}}
+
+{{include file='pager.phtml'/}}
+
+{{list using="$orders" parity="$parity"}}
+<table cellpadding="0" cellspacing="0" class='list'>
+ <thead>
+ <tr>
+ <th>Date</th>
+ <th>Status</th>
+ <th>Summ</th>
+ <th>Actions</th>
+ </tr>
+ </thead>
+ <list:item>
+ <tr class='{$parity}'>
+ <td><a href='{{route_url params="action:details,id:{$item.id}"}}'>{$item.date|date:"F j, Y, G:i"}</a></td>
+ <td>{$item.status_name}</td>
+ <td>${$item.summ|number:2, '.', ' '}</td>
+ <td>
+ <a href='{{route_url params="action:delete,id:{$id}"}}'>Delete</a>
+ </td>
+ </tr>
+ </list:item>
+</table>
+{{/list}}
+
+{{/wrap}}
Modified: 3.x/examples/shop/template/admin_page.html
===================================================================
--- 3.x/examples/shop/template/admin_page.html 2008-01-24 13:38:44 UTC (rev 6741)
+++ 3.x/examples/shop/template/admin_page.html 2008-01-24 15:54:25 UTC (rev 6742)
@@ -3,7 +3,7 @@
<html>
<head>
<base href="{$'LIMB_HTTP_BASE_PATH'|const}" />
- <title>{$title} :: Limb shop example application</title>
+ <title>{$title} :: Limb shop example application on WACT</title>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
<link rel=stylesheet type="text/css" href="styles/main.css"/>
</head>
Added: 3.x/examples/shop/template/admin_page.phtml
===================================================================
--- 3.x/examples/shop/template/admin_page.phtml (rev 0)
+++ 3.x/examples/shop/template/admin_page.phtml 2008-01-24 15:54:25 UTC (rev 6742)
@@ -0,0 +1,66 @@
+<!-- Powered by LIMB | http://www.limb-project.com/ -->
+<!-- Designed by BIT | http://www.bit-creative.com/ -->
+<html>
+<head>
+ <base href="<?= LIMB_HTTP_BASE_PATH ?>"/>
+ <title>{$#title} :: Limb shop example application on Macro</title>
+ <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+ <link rel=stylesheet type="text/css" href="styles/main.css"/>
+</head>
+<body>
+
+<div id="header">
+ <div class="center">
+ <img src="images/logo.limb.gif" width='384' height='46' alt='logo.limb' id='logo'/>
+ <span>control panel</span>
+ <div id="limb_links"><a href="http://limb-project.com">limb-project.com</a> | <a href="http://projects.limb-project.com">projects.limb-project.com</a></div>
+ </div>
+</div>
+
+
+
+ <div id="center">
+
+ <div id="wrapper" >
+
+ <div id="container">
+ <div id="content">
+ <h1>{$#title}</h1>
+
+ {{include file='flash_box.phtml' /}}
+
+ {{slot id='content'/}}
+ </div>
+ </div>
+
+ <div id="sidebar">
+ <div id="navigation">
+ <ul>
+ <li><a href="admin_product">Products</a></li>
+ <li><a href="admin_order">Orders</a></li>
+ <li><a href="admin_user">Users</a></li>
+ </ul>
+ </div>
+
+ <dl id="profile">
+ <dt>Profile</dt>
+ <dd>
+ <core:datasource from='#user'>
+ User: {$#user.name}<br/>
+ Login: {$#user.login}<br/>
+ Email: {$#user.email}<br/>
+ <a href="{{route_url params='controller:login,action:logout'}}">logout</a>
+ </core:datasource>
+ </dd>
+ </dl>
+
+ <a href='wact_template_source/?t[]={$#this_template_path}' target='_blank' class='view_template'>View template</a>
+
+ </div>
+
+ </div>
+</div>
+
+</body>
+</html>
+
Added: 3.x/examples/shop/template/admin_product/create.phtml
===================================================================
--- 3.x/examples/shop/template/admin_product/create.phtml (rev 0)
+++ 3.x/examples/shop/template/admin_product/create.phtml 2008-01-24 15:54:25 UTC (rev 6742)
@@ -0,0 +1,13 @@
+<? $this->title = 'Create new product'; ?>
+{{wrap with="admin_page.phtml" in="content"}}
+
+{{form id='product_form' name='product_form' method='post' enctype="multipart/form-data"}}
+
+{{include file="form_errors.phtml"/}}
+
+{{include file="admin_product/form_fields.phtml"/}}
+
+<input name='create' type='submit' value='Create'/>
+{{/form}}
+
+{{/wrap}}
Added: 3.x/examples/shop/template/admin_product/display.phtml
===================================================================
--- 3.x/examples/shop/template/admin_product/display.phtml (rev 0)
+++ 3.x/examples/shop/template/admin_product/display.phtml 2008-01-24 15:54:25 UTC (rev 6742)
@@ -0,0 +1,61 @@
+<? $this->title='Products'; ?>
+{{wrap with="admin_page.phtml" in="content"}}
+
+<a href='{{route_url params="action:create"}}'>Create new product</a>
+<p/>
+
+<? $products = lmbActiveRecord :: find('Product'); ?>
+
+{{paginate iterator='$products' pager='pager' /}}
+
+{{include file='pager.phtml'/}}
+
+<form name='list_form' method='post'>
+{{list using="$products"}}
+<table cellpadding="0" cellspacing="0" class='list' width='100%'>
+ <thead>
+ <tr>
+ <th>Select</th>
+ <th>Title/Image/Price/Description</th>
+ <th>Actions</th>
+ </tr>
+ </thead>
+ {{list:item}}
+ <tr>
+ <td>
+ <input type='checkbox' name='ids[]' value='{$item.id}' class='input'/>
+ <? if($item->getIsAvailable()) { ?>
+ <img src='images/available.gif' class=''/>
+ <? } else { ?>
+ <img src='images/not_available.gif'/>
+ <? } ?>
+ </td>
+ <td>
+ <dl>
+ <dt>
+ <b>{$item.title}</b><br />
+ Price:<b>{$item.price}</b><br/>
+
+ </dt>
+ <dd>
+ <img src='{$item.image_path}' class='img'/>
+ {$item.description|nl2br}
+ </dd>
+ </dl>
+
+ </td>
+
+ <td>
+ <a href='{{route_url params="action:edit,id:{$item.id}"}}'>Edit</a>
+ <a href='{{route_url params="action:delete,id:{$item.id}"}}'>Delete</a>
+ </td>
+ </tr>
+ {{/list:item}}
+</table>
+{{/list}}
+<input type='hidden' name='action' value='change_availability'/>
+<input type='submit' name='set_available' value='Set available'/>
+<input type='submit' name='set_not_available' value='Set not available'/>
+</form>
+
+{{/wrap}}
Added: 3.x/examples/shop/template/admin_product/edit.phtml
===================================================================
--- 3.x/examples/shop/template/admin_product/edit.phtml (rev 0)
+++ 3.x/examples/shop/template/admin_product/edit.phtml 2008-01-24 15:54:25 UTC (rev 6742)
@@ -0,0 +1,13 @@
+<? $this->title = 'Edit product'; ?>
+{{wrap with="admin_page.phtml" in="content"}}
+
+{{form id='product_form' name='product_form' method='post' enctype="multipart/form-data"}}
+
+ {{include file="form_errors.phtml"/}}
+
+ {{include file="admin_product/form_fields.phtml"/}}
+
+ <input name='edit' type='submit' value='Edit'/>
+{{/form}}
+
+{{/wrap}}
Added: 3.x/examples/shop/template/admin_product/form_fields.phtml
===================================================================
--- 3.x/examples/shop/template/admin_product/form_fields.phtml (rev 0)
+++ 3.x/examples/shop/template/admin_product/form_fields.phtml 2008-01-24 15:54:25 UTC (rev 6742)
@@ -0,0 +1,28 @@
+<div class="field">
+ <label for="title">Title:</label>
+ {{input name='title' type='text' title='Title' size='50' class='input'/}}<br/>
+</div>
+<div class="field">
+ <label for="price">Price:</label>
+ {{input name='price' type='text' title='Price' size='20' class='input'/}}<br/>
+</div>
+<div class="field">
+ <label for="is_available">Available at the moment?:</label>
+ {{js_checkbox name='is_available' class='input'/}}<br/>
+</div>
+<div class="field">
+ <label for="description">Description:</label>
+ {{textarea name='description' rows='2' title='Description' cols='40' rows='8' class='input'/}}<br/>
+</div>
+<div class="field">
+ <label for="image">Image:</label>
+ {{input name="image" type="file" size="40" class='input'/}}<br/>
+</div>
+<div class="field">
+ <? if($this->product->getImagePath()) { ?>
+ <img src='{$#product.image_path}' class='img' />
+ <? } ?>
+ Specify image file path to upload new image.
+</div>
+<div class="hr"></div>
+
Added: 3.x/examples/shop/template/admin_user/change_password.phtml
===================================================================
--- 3.x/examples/shop/template/admin_user/change_password.phtml (rev 0)
+++ 3.x/examples/shop/template/admin_user/change_password.phtml 2008-01-24 15:54:25 UTC (rev 6742)
@@ -0,0 +1,22 @@
+<? $this->title='Change user password'; ?>
+{{wrap with='admin_page.phtml' in='content'}}
+
+{{form method="post" name="user_form" id="user_form"}}
+
+ {{include file='form_errors.phtml'/}}
+
+ <div class='field'>
+ <label for="password">New password:</label>
+ {{input name="password" type="password" title="New password" class="input"/}}
+ </div>
+
+ <div class='field'>
+ <label for="repeat_password">Repeat password:</label>
+ {{input name="repeat_password" type="password" title="Repeat password" class="input"/}}
+ </div>
+
+ <input type="submit" name="submitted" value="Change password"/>
+
+{{/form}}
+
+{{/wrap}}
Added: 3.x/examples/shop/template/admin_user/create.phtml
===================================================================
--- 3.x/examples/shop/template/admin_user/create.phtml (rev 0)
+++ 3.x/examples/shop/template/admin_user/create.phtml 2008-01-24 15:54:25 UTC (rev 6742)
@@ -0,0 +1,23 @@
+<? $this->title='Create user'; ?>
+{{wrap with="admin_page.phtml" in="content"}}
+
+{{form id='user_form' name='user_form' method='post'}}
+
+ {{include file='form_errors.phtml'/}}
+
+ <div class="field">
+ <label for="password">Password:</label>
+ {{input name="password" type="password" title="Password" class="req"/}}
+ </div>
+
+ <div class="field">
+ <label for="repeat_password">Repeat password:</label>
+ {{input name="repeat_password" type="password" title="Repeat password" class="req"/}}
+ </div>
+
+ {{include file='admin_user/form_fields.phtml'/}}
+
+ <input id='create' name='create' type='submit' value='Create'/>
+{{/form}}
+
+{{/wrap}}
Added: 3.x/examples/shop/template/admin_user/display.phtml
===================================================================
--- 3.x/examples/shop/template/admin_user/display.phtml (rev 0)
+++ 3.x/examples/shop/template/admin_user/display.phtml 2008-01-24 15:54:25 UTC (rev 6742)
@@ -0,0 +1,39 @@
+<? $this->title='Users'; ?>
+{{wrap with="admin_page.phtml" in="content"}}
+
+<a href="{{route_url params='action:create'}}">Create user</a>
+
+<? $users = lmbActiveRecord :: find('User'); ?>
+
+{{paginate iterator='$users' pager='pager'/}}
+
+{{include file='pager.phtml'/}}
+
+{{list using='$users' as="$user" parity='$parity'}}
+<table cellspacing=0 cellpadding=0 class='list'>
+<thead>
+<tr>
+ <th>Name</th>
+ <th>Login</th>
+ <th>E-mail</th>
+ <th>Actions</th>
+</tr>
+</thead>
+<tbody>
+{{list:item}}
+<tr class='{$parity}'>
+ <td>{$user.name}</td>
+ <td>{$user.login}</td>
+ <td><a href='mailto:{$user.email}'>{$user.email}</a></td>
+ <td>
+ <a href="{{route_url params='action:change_password,id:{$user.id}'}}">Change password</a>
+ <a href="{{route_url params='action:edit,id:{$user.id}'}}">Edit</a>
+ <a href="{{route_url params='action:delete,id:{$user.id}'}}">Delete</a>
+ </td>
+</tr>
+{{/list:item}}
+</tbody>
+</table>
+{{/list}}
+
+{{/wrap}}
Added: 3.x/examples/shop/template/admin_user/edit.phtml
===================================================================
--- 3.x/examples/shop/template/admin_user/edit.phtml (rev 0)
+++ 3.x/examples/shop/template/admin_user/edit.phtml 2008-01-24 15:54:25 UTC (rev 6742)
@@ -0,0 +1,13 @@
+<? $this->title='Edit user'; ?>
+{{wrap with="admin_page.phtml" in="content"}}
+
+{{form id='user_form' name='user_form' method='post'}}
+
+ {{include file='form_errors.phtml'/}}
+
+ {{include file='admin_user/form_fields.phtml'/}}<br/>
+
+ <input id='edit' type='submit' value='Edit'/>
+{{/form}}
+
+{{/wrap}}
Added: 3.x/examples/shop/template/admin_user/form_fields.phtml
===================================================================
--- 3.x/examples/shop/template/admin_user/form_fields.phtml (rev 0)
+++ 3.x/examples/shop/template/admin_user/form_fields.phtml 2008-01-24 15:54:25 UTC (rev 6742)
@@ -0,0 +1,23 @@
+<div class="field">
+<label for="login">Login:</label>
+{{input name="login" type="text" title="Login" class="input"/}}
+</div>
+
+<div class="field">
+<label for="name">Name:</label>
+{{input name="name" type="text" title="Name" class="input"/}}
+</div>
+
+<div class="field">
+<label for="email">Email:</label>
+{{input name="email" type="text" title="Email" class="input"/}}
+</div>
+
+<div class="field">
+<label for="email">Is admin:</label>
+{{js_checkbox id='is_admin' name='is_admin' class="input"/}}
+</div>
+
+<div class="hr"></div>
+
+
More information about the limb-svn
mailing list