[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>&nbsp;|&nbsp;<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>&nbsp;
+     <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