From 0b94eed730387309261cb78e8f8218dcf6e7a7cc Mon Sep 17 00:00:00 2001 From: BDC Date: Wed, 10 Apr 2013 20:41:59 -0400 Subject: [PATCH 01/10] admin restaurant page --- .../crunchbutton/admin/restaurants/index.php | 22 +- .../crunchbutton/admin/save/.index.php.swp | Bin 0 -> 12288 bytes .../default/crunchbutton/admin/save/index.php | 48 ++ .../library/Crunchbutton/.Restaurant.php.swp | Bin 0 -> 45056 bytes include/library/Crunchbutton/Restaurant.php | 28 +- .../admin/restaurants/.restaurant.phtml.swp | Bin 32768 -> 40960 bytes .../admin/restaurants/legacy/fax.phtml | 40 + .../admin/restaurants/legacy/image.phtml | 38 + .../admin/restaurants/legacy/index.phtml | 80 ++ .../admin/restaurants/legacy/pay.phtml | 230 ++++++ .../admin/restaurants/legacy/restaurant.phtml | 507 +++++++++++++ .../admin/restaurants/restaurant.phtml | 713 ++++++------------ www/assets/css/.admin.css.swp | Bin 28672 -> 45056 bytes www/assets/css/admin.css | 221 +++++- www/assets/js/.admin_restaurant.js.swp | Bin 0 -> 16384 bytes www/assets/js/admin_restaurant.js | 565 ++++++++++++++ 16 files changed, 1997 insertions(+), 495 deletions(-) create mode 100644 include/controllers/default/crunchbutton/admin/save/.index.php.swp create mode 100644 include/controllers/default/crunchbutton/admin/save/index.php create mode 100644 include/library/Crunchbutton/.Restaurant.php.swp create mode 100644 include/views/default/crunchbutton/admin/restaurants/legacy/fax.phtml create mode 100644 include/views/default/crunchbutton/admin/restaurants/legacy/image.phtml create mode 100644 include/views/default/crunchbutton/admin/restaurants/legacy/index.phtml create mode 100644 include/views/default/crunchbutton/admin/restaurants/legacy/pay.phtml create mode 100644 include/views/default/crunchbutton/admin/restaurants/legacy/restaurant.phtml create mode 100644 www/assets/js/.admin_restaurant.js.swp create mode 100644 www/assets/js/admin_restaurant.js diff --git a/include/controllers/default/crunchbutton/admin/restaurants/index.php b/include/controllers/default/crunchbutton/admin/restaurants/index.php index 6acc57405..df8f07dd2 100644 --- a/include/controllers/default/crunchbutton/admin/restaurants/index.php +++ b/include/controllers/default/crunchbutton/admin/restaurants/index.php @@ -30,7 +30,10 @@ class Controller_admin_restaurants extends Crunchbutton_Controller_Account $view->communities = $communities; $view->restaurantCommunity = $community; - $view->display('admin/restaurants/restaurant'); + $view_name = c::getPagePiece(2) == 'legacy' ? + 'admin/restaurants/legacy/restaurant' : + 'admin/restaurants/restaurant' ; + $view->display($view_name); } /** @@ -52,15 +55,24 @@ class Controller_admin_restaurants extends Crunchbutton_Controller_Account c::view()->layout('layout/admin'); c::view()->page = 'admin/restaurants'; - $restaurant = Restaurant::o(c::getPagePiece(2)); + if(c::getPagePiece(2) == 'legacy') { + c::view()->page = 'admin/restaurants'; + $page_piece_index = 3; + } + else { + $page_piece_index = 2; + } + + $restaurant = Restaurant::o(c::getPagePiece($page_piece_index)); + /* @var $restaurant Crunchbutton_Restaurant */ $this->restaurant = $restaurant; - if (c::getPagePiece(2) == 'new') { + if (c::getPagePiece($page_piece_index) == 'new') { $this->_restaurantForm(); } elseif ($restaurant->id_restaurant) { c::view()->restaurant = $restaurant; - switch (c::getPagePiece(3)) { + switch (c::getPagePiece($page_piece_index+1)) { case 'pay': c::view()->display('admin/restaurants/pay'); break; @@ -93,4 +105,4 @@ class Controller_admin_restaurants extends Crunchbutton_Controller_Account } -} \ No newline at end of file +} diff --git a/include/controllers/default/crunchbutton/admin/save/.index.php.swp b/include/controllers/default/crunchbutton/admin/save/.index.php.swp new file mode 100644 index 0000000000000000000000000000000000000000..48f791dd28cb32351eada519600d40329f071610 GIT binary patch literal 12288 zcmeI2O>Y!87{{FoRaz(o!5QSXktR80H4`yffacVb-3EJt0w* z0%}h^wZ}^R9OV~(LzvuB`6?dku zeX+<-)lV`!hZ&oC7+?JMzn{itZZjql(eJ1@udrQD&W9$}o_rYL? z;l}~Kj}6+@d(fm85g-CYfCvx)B0vO)01+SpM1Tko0V41Y5)cVvFZMHb{{Vu=|NpDs z|8EX4_8R&H`Wd(C^S==n?b)@_V@l(L)4? z01+SpM1Tko0U|&I-dh4^XR)|GSs((D6nw9IB$(@~; z^n*3u<8RlFG*!Pe7|*43qR54Il`Ws)m$o{aO*1iK(~4Bm9!`mt!z9(++lGIQC>jke z_;4!k35$-7zc0*9ms?kKyIg6m9IIuyS`$w4E=HX)n)~QS{EoVt#Ofs%8TSmoZjEkB z9h*eL%4Q+JfG7L`3!Akfndc^tma)}nVLg_achZb_osY|@*%j#)rL|(E0ydb0;Bj@i zoK-Fm=x*{@IBa5KYbC7WqXPLdF?e@!DQ*PwkdJLKT-C@&D*IA9nQ+s&E@Q{tMkdSb z`i084cL||Z8{DgI2B&Xz*S9NW=$FBAP&UJb6X8S{9(O%u%W~NUe6@u_SZzfJFIp}W zkNL5%l1Ib5Mr8>0rUDb6r)ow;q}s@8=?(^`Icnp|()<$lzBxYHIId;vlaO!tExCLn z0QHqt2H2ObXOf9YK7$-)#=59<5VE`@$>$fYghg$U`MQ@$I5m4h-NhA(W8kUU$gn7u zz6{Iy0aR9N+2`96Kw}U!8U@Z)IEY!%NmV?oaitXou+2CX*7CWnTl4L3KfdkH0GI1d Y>I9=B7wy|4rkAj~KM-fm`aAUh1MBjW!~g&Q literal 0 HcmV?d00001 diff --git a/include/controllers/default/crunchbutton/admin/save/index.php b/include/controllers/default/crunchbutton/admin/save/index.php new file mode 100644 index 000000000..79ec3e067 --- /dev/null +++ b/include/controllers/default/crunchbutton/admin/save/index.php @@ -0,0 +1,48 @@ +request(); + $rsp = []; + $rsp['result'] = 'OK'; + if($this->method() == 'get') { + $rsp['result'] = 'error'; + $rsp['error'] = 'GET not supported'; + } + if($this->method() == 'post') { + try { + $rsp['req'] = $req; // TODO this is not necessary + switch($req['obj']) { + case 'restaurant': + $rsp['data'] = $this->save_restaurant($req[$req['obj']]); + $rsp['msg'] = 'Saved.'; + break; + default: + $rsp['result'] = 'error'; + $rsp['error'] = 'Unimplemented object type.'; + break; + } + } catch (Exception $e) { + $rsp['result'] = 'error'; + $rsp['error'] = 'Exception:' . $e->getMessage(); + } + } + echo json_encode($rsp); + } + + private function save_restaurant($restaurant) { + // a restaurant has a bunch of stuff in it + if($restaurant['id_restaurant']) { + $r = Restaurant::o($restaurant['id_restaurant']); + $r->imports($restaurant); + $r->save(); + return $r->exports(); + } + return 'no id.'; + } + +} + + +?> + diff --git a/include/library/Crunchbutton/.Restaurant.php.swp b/include/library/Crunchbutton/.Restaurant.php.swp new file mode 100644 index 0000000000000000000000000000000000000000..f1f02a4f7d9253bbf6ea15372cfaea22468d6eb6 GIT binary patch literal 45056 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 literal 0 HcmV?d00001 diff --git a/include/library/Crunchbutton/Restaurant.php b/include/library/Crunchbutton/Restaurant.php index 541a0f290..bc74d2bb2 100644 --- a/include/library/Crunchbutton/Restaurant.php +++ b/include/library/Crunchbutton/Restaurant.php @@ -532,12 +532,12 @@ class Crunchbutton_Restaurant extends Cana_Table * @param array $elements */ public function saveNotifications($elements) { - // c::db()->query('DELETE FROM notification WHERE id_restaurant="'.$this->id_restaurant.'"'); + c::db()->query('DELETE FROM notification WHERE id_restaurant="'.$this->id_restaurant.'"'); foreach ($elements as $data) { if (!$data['value']) continue; $element = new Crunchbutton_Notification($data['id_notification']); $element->id_restaurant = $this->id_restaurant; - $element->active = ($data['active'] == 'true') ? "1" : "0"; + $element->active = ($data['active'] == 'true' || $data['active'] == '1') ? "1" : "0"; $element->type = $data['type']; $element->value = $data['value']; $element->save(); @@ -881,6 +881,28 @@ class Crunchbutton_Restaurant extends Cana_Table return $out; } + /** + * Imports an array with all the information for a Restaurant. + * + * Should be an exact inverse of exports() + * for starters, it's an approximation + * + * @return null + */ + public function imports($restaurant) { + // TODO implement this + // for now, start with basic stuff + + foreach($this->properties() as $key=>$val) { + if(in_array($key, array_keys($restaurant))) { + $this->$key = $restaurant[$key]; + } + } + $this->saveHours($restaurant['_hours']); + $this->saveNotifications($restaurant['_notifications']); + return null; + } + public function priceRange() { if (!isset($this->_priceRange)) { $price = 0; @@ -961,4 +983,4 @@ class Crunchbutton_Restaurant extends Cana_Table } parent::save(); } -} \ No newline at end of file +} diff --git a/include/views/default/crunchbutton/admin/restaurants/.restaurant.phtml.swp b/include/views/default/crunchbutton/admin/restaurants/.restaurant.phtml.swp index f103df21c40c9a893ac3ea36617e932c6ee70177..cbc491ed270565ca213a9735687332c9dcba93d7 100644 GIT binary patch literal 40960 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 Mf%k=lSyUVU8#C@sG5`Po literal 32768 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 InqUU`e@O;)00000 diff --git a/include/views/default/crunchbutton/admin/restaurants/legacy/fax.phtml b/include/views/default/crunchbutton/admin/restaurants/legacy/fax.phtml new file mode 100644 index 000000000..550217761 --- /dev/null +++ b/include/views/default/crunchbutton/admin/restaurants/legacy/fax.phtml @@ -0,0 +1,40 @@ +
+
+ + notification) : ?> + This restaurant does not currently have a fax # set up + +

Send a fax to notification?>

+

+ +
+ + + + + + + + + +
File + +
+
+
Send
+
+
+ + + +
+
+ + + diff --git a/include/views/default/crunchbutton/admin/restaurants/legacy/image.phtml b/include/views/default/crunchbutton/admin/restaurants/legacy/image.phtml new file mode 100644 index 000000000..084f1a48d --- /dev/null +++ b/include/views/default/crunchbutton/admin/restaurants/legacy/image.phtml @@ -0,0 +1,38 @@ +
+
+ + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
Upload
+
+
+
+
+ + + diff --git a/include/views/default/crunchbutton/admin/restaurants/legacy/index.phtml b/include/views/default/crunchbutton/admin/restaurants/legacy/index.phtml new file mode 100644 index 000000000..1dfafb618 --- /dev/null +++ b/include/views/default/crunchbutton/admin/restaurants/legacy/index.phtml @@ -0,0 +1,80 @@ + + + +communities as $community) : ?> + + + + + + + + + + + +
diff --git a/include/views/default/crunchbutton/admin/restaurants/legacy/pay.phtml b/include/views/default/crunchbutton/admin/restaurants/legacy/pay.phtml new file mode 100644 index 000000000..ed038f215 --- /dev/null +++ b/include/views/default/crunchbutton/admin/restaurants/legacy/pay.phtml @@ -0,0 +1,230 @@ +
+
+ + restaurant->balanced_id == c::config()->balanced->sharedMerchant) : ?> + restaurant->name?> is using a fake merchant configuration. Remove + restaurant->balanced_id) : ?> + restaurant->name?> already has a merchant configuration. Remove + +

Create a Merchant Account

+

+ +
+ + + + + + + + + + + + + + */ ?> + + + + + + + + + + + + + + + + + + + +
Merchant Type + +
taxid (business) + +
person name (business) + +
Name + +
Date of Birth (YYYY-MM) + +
Address + +
ZIP code + +
+
+
Save
+
Use fake merchant
+
+
+ + + +

+
+
+ + restaurant->balanced_bank) : ?> + This restaurant already has a bank account. Remove + +
+

Add restaurant->balanced_bank ? 'New ' : ''?>Bank Info

+

+
+ + + + + + + + + + + + + + + + + +
Routing # + +
Account # + +
Name on Account + +
+
+
Save
+
+
+ + +

+
+

+ + +

Send Payment

+

+ + + + +
+ + + + + + + + + + + + + +
Amount + +
Note + +
+
+
Save
+
+
+ +

+
+

+ + +

Recent Payments

+

+ + + + + + + restaurant->payments() as $payment) : ?> + + + + + + +
DateAmountNote
date?>$amount?>note?>
+
+
+ + + diff --git a/include/views/default/crunchbutton/admin/restaurants/legacy/restaurant.phtml b/include/views/default/crunchbutton/admin/restaurants/legacy/restaurant.phtml new file mode 100644 index 000000000..534fc897c --- /dev/null +++ b/include/views/default/crunchbutton/admin/restaurants/legacy/restaurant.phtml @@ -0,0 +1,507 @@ +restaurantCommunity Crunchbutton_Community */ + +/** + * View helper to preselect the + * + * @return string + */ +function _selectedCommunity(Crunchbutton_Community $current, Crunchbutton_Community $tested) { + $selected = ''; + if ($current->id_community == $tested->id_community) { + $selected = ' selected="selected" '; + } + return $selected; +} + +?> + + + + + +
+
+ +
+

Restaurant Information

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Restaurant Name:
Phone Number:
Order Notification Methods: +
+
Text Message
+
+
+
+
Email
+ +
+
+
Phone Call
+
+
+
+
URL
+
+
+
+
Fax
+
+
+
Food Items: +
+
+
+
+
+ +
+
Open Hours: +
+
+
+
+
+
+
+
Delivery Options: +
+
+
+
+
+
+ + + + + + + + + + + + + + + + + +
Average Delivery Time: minutes
Delivery Radius: miles
Delivery Fee? +
+
+
+
+
+
+ $ +
+
+
Minimum order for delivery? +
+
+
+
+
+
+ $ +
+
+
+
+
+
More Information: +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Message:
Some information you want to show at the restaurant's page:
Average Pickup Time: minutes
Restaurant Address:
Contact Email:
Manager/Owner can be reached at:
Include in a community? +
+
+
+
+
+
+ +
+
+
+
+
+
Admin shit: +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Permalink:
Timezone:
Location: + + + + + + + + + +
Lat:
Long:
+
Sort Order:
Tax: %
Deliv Min Applies to: + +
Require confirmation? +
+
+
+
+
+
+
Customer receipt on fax? +
+
+
+
+
+
+
Restaurant Fee? +
+
+
+
+
+
+ % +
+
+
Customer Fee? +
+
+
+
+
+
+ % +
+
+
Accepts Credit Cards? +
+
+
+
+
+
+
Accepts Cash? +
+
+
+
+
+
+
Active? +
+
+
+
+
+
+
Notes:
Todo:
+
+
+
+
+
+ Revert +
+
+ Save Restaurant +
+
+
+
+ + +
+ + + +
+ + + + + + + diff --git a/include/views/default/crunchbutton/admin/restaurants/restaurant.phtml b/include/views/default/crunchbutton/admin/restaurants/restaurant.phtml index 534fc897c..750314c98 100644 --- a/include/views/default/crunchbutton/admin/restaurants/restaurant.phtml +++ b/include/views/default/crunchbutton/admin/restaurants/restaurant.phtml @@ -6,502 +6,253 @@ * @category view */ -/* @var $this Cana_View */ -/* @var $this->restaurantCommunity Crunchbutton_Community */ - -/** - * View helper to preselect the - * - * @return string - */ -function _selectedCommunity(Crunchbutton_Community $current, Crunchbutton_Community $tested) { - $selected = ''; - if ($current->id_community == $tested->id_community) { - $selected = ' selected="selected" '; - } - return $selected; -} - ?> - - - - -
-
- -
-

Restaurant Information

-

-
- -
- Payments & Settings -
-
- -
- Send a Fax -
-
- -
- Upload image -
-
+
+
+ Jump to: + menu
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Restaurant Name:
Phone Number:
Order Notification Methods: -
-
Text Message
-
-
-
-
Email
- -
-
-
Phone Call
-
-
-
-
URL
-
-
-
-
Fax
-
-
-
Food Items: -
-
-
-
-
- -
-
Open Hours: -
-
-
-
-
-
-
-
Delivery Options: -
-
-
-
-
-
- - - - - - - - - - - - - - - - - -
Average Delivery Time: minutes
Delivery Radius: miles
Delivery Fee? -
-
-
-
-
-
- $ -
-
-
Minimum order for delivery? -
-
-
-
-
-
- $ -
-
-
-
-
-
More Information: -
-
- - - - - - - - - - - - - - - - - - - - - - - - - -
Message:
Some information you want to show at the restaurant's page:
Average Pickup Time: minutes
Restaurant Address:
Contact Email:
Manager/Owner can be reached at:
Include in a community? -
-
-
-
-
-
- -
-
-
-
-
-
Admin shit: -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Permalink:
Timezone:
Location: - - - - - - - - - -
Lat:
Long:
-
Sort Order:
Tax: %
Deliv Min Applies to: - -
Require confirmation? -
-
-
-
-
-
-
Customer receipt on fax? -
-
-
-
-
-
-
Restaurant Fee? -
-
-
-
-
-
- % -
-
-
Customer Fee? -
-
-
-
-
-
- % -
-
-
Accepts Credit Cards? -
-
-
-
-
-
-
Accepts Cash? -
-
-
-
-
-
-
Active? -
-
-
-
-
-
-
Notes:
Todo:
-
-
-
-
-
- Revert -
-
- Save Restaurant -
-
+
+
Legacy View
+
Revert
+
Basic Information
+ +
+
+
Name
+
for display
+
+
+ +
+
+ +
+
+
Permalink
+
crunchbutton.com/food-delivery/<permalink>
+
+
+ +
+
+ +
+
+
Phone Number
+
publicly listed
+
+
+ +
+
+ +
+
+
Address
+
for delivery radius and pickup
+
+
+ +
+ Latitude + +
+
+ Longitude + +
+
+
+
+
+
+ +
+
+
Active
+
is it listed on the live site
+
+
+
+
+
+ +
+ + + +
Vitals
+ +
+
+
Notifications
+
what happens when an order goes through
+
+
+
+
+
add another method
+
+
+
+ +
+
+
Timezone
+
where the restaurant is
+
+
+ +
+
+ +
+
+
Hours
+
restaurant's actual open hours
+
e.g. 12PM - 2:30AM
+
+
+
+
+ +
+
Monday
+
+
+
+
+ +
+
Tuesday
+
+
+ copy from Monday +
+
+
+
+
+ +
+
Wednesday
+
+
+ copy from Tuesday +
+
+
+
+
+ +
+
Thursday
+
+
+ copy from Wednesday +
+
+
+
+
+ +
+
Friday
+
+
+ copy from Thursday +
+
+
+
+
+ +
+
Saturday
+
+
+ copy from Friday +
+
+
+
+
+ +
+
Sunday
+
+
+ copy from Saturday +
+
+
+
+
+ +
+ +
+
Save
+
+
+
+
+ +
+ + + +
+ +
active
+ +
+ +
+
+
+
+
+ +
+
+ +
+
+
-
- - - + + + + + diff --git a/www/assets/css/.admin.css.swp b/www/assets/css/.admin.css.swp index de4873e0068584f0202eb367bdfd85df279e6420..c4ef6a132f5e43493c9c112aace3dba7bddc4e21 100644 GIT binary patch delta 7098 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 diff --git a/www/assets/css/admin.css b/www/assets/css/admin.css index c70eed95b..15023183d 100644 --- a/www/assets/css/admin.css +++ b/www/assets/css/admin.css @@ -141,7 +141,6 @@ body { .admin-content-wrapper { border: 1px solid #2b323b; - box-shadow: inset 0 1px 0 rgba(255,255,255,.1); padding: 12px; border-radius: 5px; background: #49525f; @@ -172,11 +171,10 @@ body { } .admin-tab-active { - background: #49525f; - color: #fff; + color: #444; z-index: 900; box-shadow: inset 0 1px 0 rgba(255,255,255,.1); - background: #49525f -webkit-linear-gradient(top, #586372 0%,#49525f 90%); + background: #bbbbbb -webkit-linear-gradient(top, #bbbbbb 0%, #eeeeee 90%); } /** @@ -307,12 +305,12 @@ textarea { .action-button { width: 300px; color: #fff; - font-size: 21px; + font-size: 16px; font-weight: bold; text-shadow: 1px 1px rgba(0,0,0,.3); box-shadow: 0 2px 2px 0px rgba(0, 0, 0, 0.35); border-radius: 3px; - padding: 18px 0 18px 0; + padding: 12px 0 12px 0; text-align: center; float: right; cursor: pointer; @@ -744,5 +742,216 @@ table.list tr:nth-of-type(even) { } +/* new admin */ + + + + +#admin-msg { + bottom: 50px; + padding: 20px; + border: 1px solid #888888; + border-radius: 3px; + background-color: #ffffdd; + font-family: serif; + font-size: 24px; +} + +.admin-button { + display: inline-block; + width: 120px; + color: #eeeeee; + font-size: 18px; + font-weight: bold; + padding: 6px; + margin: 5px; + text-align: center; + cursor: pointer; + background: #339900 -webkit-linear-gradient(top, #339900 0%, #228800 90%); + border: 1px solid #888888; + -webkit-border-radius: 4px; +} + +.admin-button:hover { + background: #55aa00; +} + +#admin-top-content-bar { + padding: 10px 0px 10px 0px; +} + +#admin-top-button-group { + text-align: right; + float: right; + display: inline-block; +} + +.admin-jump-list { + display: inline-block; +} + +#float-bottom-right-container { + position: fixed; + right: 50px; + bottom: 50px; + padding: 8px; + border-radius: 5px; + background-color: rgba(128,128,128,0.2); +} + +#float-bottom-left-container { + position: fixed; + left: 50px; + bottom: 50px; + padding: 8px; + border-radius: 3px; + background-color: rgba(128,128,128,0.2); + display: none; /* for messages to appear */ +} + +#admin-body-content { + background-color: #eeeeee; + border: 3px solid #222222; + padding: 12px; +} + +.admin-h3 { + font-family: sans-serif; + font-weight: bold; + font-size: 24px; + margin: 15px 0px 15px 0px; +} + +.admin-item { + border-top: 1px solid #888888; + padding: 5px 0px 5px 0px; +} + +.admin-item-left { + display: inline-block; + width: 300px; +} + +.admin-item-right { + display: inline-block; + vertical-align: top; + width: 600px; +} + +.admin-item-name { + font-family: sans-serif; + font-size: 16px; +} + +.admin-item-desc { + font-family: serif; + font-size: 12px; +} + +.admin-item-right input { + width: 100%; + font-size: 20px; + font-family: serif; +} + +.admin-item-right textarea { + width: 100%; + font-size: 16px; + font-family: serif; + color: black; + background: #ffffff; + height: 100px; +} + +.admin-item-right select { + width: 100%; + font-size: 40px; + font-family: serif; +} + +.invalid { + color: red; +} + +.admin-item-right-row { + width: 100%; +} + +.admin-item-col-x-wide { + width: 70%; + display: inline-block; + padding-right: 15px; +} + +.admin-item-col-wide { + width: 48%; + display: inline-block; + padding-right: 15px; +} + +.admin-item-col-med { + width: 24%; + display: inline-block; + padding-right: 15px; +} + +.admin-item-col-med-2 { + width: 36%; + display: inline-block; + padding-right: 15px; +} + +.admin-item-col-small { + width: 12%; + display: inline-block; + padding-right: 15px; +} + +.admin-button-workflow { + text-align: center; + display: inline-block; + width: 120px; + border: 1px solid #888888; + -webkit-border-radius: 3px; + padding: 2px; + cursor: pointer; +} + +.admin-button-workflow:hover { + background: #ffffdd; +} + +.admin-toggle-active, .admin-toggle-inactive { + text-align: center; + display: inline-block; + width: 100%; + border: 1px solid #888888; + -webkit-border-radius: 3px; + padding: 2px; + cursor: pointer; + margin-right: 5px; +} + +.admin-toggle-inactive { + background: #ffdddd; +} + +.admin-toggle-active { + background: #ddffdd; +} + +.admin-toggle-active:hover, .admin-toggle-inactive:hover { + background: #ffffdd; +} + +.template-container { + visibility: hidden; +} + +.admin-map { + height: 200px; +} + + diff --git a/www/assets/js/.admin_restaurant.js.swp b/www/assets/js/.admin_restaurant.js.swp new file mode 100644 index 0000000000000000000000000000000000000000..1b337995b3bb509197f9c4b951f4d38df864ef1a GIT binary patch literal 16384 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 OI3>GlfSXXnn(`lvw@v8) literal 0 HcmV?d00001 diff --git a/www/assets/js/admin_restaurant.js b/www/assets/js/admin_restaurant.js new file mode 100644 index 000000000..0f495e8a0 --- /dev/null +++ b/www/assets/js/admin_restaurant.js @@ -0,0 +1,565 @@ +// admin_restaurant.js + +// TODO +// allow for check functions for each input field that get called on change +// e.g. permalink has only allowed characters + +// weird field TODOs +// order notification methods +// food items +// delivery options +// more information +// admin shit +var DEBUG = {} + +var UTIL = { + geolocate : function(address, callback) { + g = new google.maps.Geocoder(); + g.geocode({address:address},function(r,s) { + if(s !== 'OK') { + UTIL.show_msg('Geocoding error.'); + return; + } + callback(r); + }); + }, + pad_number : function(num, pad) { + str = '' + num; + while(str.length < pad) str = '0' + str; + return str; + }, + getJSONVal : function(base, path) { + // base is the base js object + // path is an array of selectors + if(path.length === 0) return base; + return UTIL.getJSONVal(base[path[0]], path.splice(1)); + }, + setJSONVal : function(base, path, val) { + // base is the base js object + // path is an array of selectors + if(path.length === 1) base[path[0]] = val; + else setJSONVal(base[path[0]], path.splice(1), val); + }, + go_to_legacy_view : function() { + legacy_url = document.location.href.replace( + /\/restaurants/,'/restaurants/legacy'); + document.location.href = legacy_url; + }, + show_msg : function(msg) { + console.log(msg); + $('#admin-msg').text(msg); + $('#float-bottom-left-container').stop().hide().fadeIn(250).delay(4000).fadeOut(250); + }, + deep_copy : function(obj) { + // Handle the 3 simple types, and null or undefined + if (null == obj || "object" != typeof obj) return obj; + + // Handle Date + if (obj instanceof Date) { + var copy = new Date(); + copy.setTime(obj.getTime()); + return copy; + } + + // Handle Array + if (obj instanceof Array) { + var copy = []; + for (var i = 0, len = obj.length; i < len; i++) { + copy[i] = UTIL.deep_copy(obj[i]); + } + return copy; + } + + // Handle Object + if (obj instanceof Object) { + var copy = {}; + for (var attr in obj) { + if (obj.hasOwnProperty(attr)) copy[attr] = UTIL.deep_copy(obj[attr]); + } + return copy; + } + + throw new Error("Unable to copy obj! Its type isn't supported."); + }, + copy_field : function(from,to) { + return function() { $(to).val($(from).val()); }; + }, + create_widget : function(widget_type, dom_parent) { + w = new WIDGET[widget_type](); + dom_parent.append(w.dom); + DOM_MAP.map.data.widget.push(w); + return w; + }, +}; + + +var WIDGET = { + notifications : function(dom_id) { + var template = '#notifications-template'; + var type = 'notifications'; + var self = this; + self.dom_id = dom_id; + self.dom = $(template).clone(true); + if(dom_id) $(self.dom).attr('id',dom_id); + else $(self.dom).removeAttr('id'); + self.notification_widgets = []; + + $('#add-notification').click(function(){self.add_notification();}); + + self.add_notification = function() { + console.log('here'); + w = new WIDGET.notification(); + $(self.dom).append(w.dom); + self.notification_widgets.push(w); + }, + this.val = function(arg) { + return null; + }, + this.apply = function(restaurant) { + for(i in self.notification_widgets) { + self.notification_widgets[i].remove(); + } + notifications = restaurant._notifications; + notifications['confirmation'] = { + active: restaurant.confirmation, + id: null, + id_notification: null, + id_restaurant: restaurant.id, + type: "confirmation", + value: "main phone only", // TODO update this when backend supports it + }; + self.notification_widgets = []; + for(i in notifications) { + w = new WIDGET.notification(); + $(self.dom).append(w.dom); + w.apply(notifications[i]); + self.notification_widgets.push(w); + } + }, + this.flush = function(restaurant) { + restaurant._notifications = []; + restaurant.confirmation = null; + for(i in self.notification_widgets) { + w = self.notification_widgets[i]; + data = w.flush(); + if(data.type === 'confirmation') { + restaurant.confirmation = data.active; + continue; + } + if(!data.value || data.value==='') continue; + restaurant._notifications.push(data); + } + }, + this.remove = function() { + self.dom.remove(); + }; + }, + notification : function(dom_id) { + var template = '#notification-template'; + var type = 'notification'; + var self = this; + self.dom_id = dom_id; + self.dom = $(template).clone(true); + if(dom_id) $(self.dom).attr('id',dom_id); + else $(self.dom).removeAttr('id'); + + self.w_active = new WIDGET.toggle(); + self.id_notification = null; + + $(self.dom).find('.admin-toggle-active').replaceWith(self.w_active.dom); + + this.val = function(arg) { + return null; + } + this.apply = function(data) { + self.w_active.val(data.active); + self.id_notification = data.id_notification; + $(self.dom).find('select').val(data.type); + $(self.dom).find('input[name=val]').val(data.value); + }, + this.flush = function() { + data = { + active : self.w_active.val(), + id : self.id_notification, + id_notification : self.id_notification, + type : $(self.dom).find('select').val(), + value : $(self.dom).find('input[name=val]').val(), + }; + return data; + }, + this.remove = function() { + self.dom.remove(); + }; + }, + toggle : function(dom_id) { + var template = '#toggle-template'; + var type = 'toggle'; + var self = this; + self.dom_id = dom_id; + self.dom = $(template).clone(true); + if(dom_id) $(self.dom).attr('id',dom_id); + else $(self.dom).removeAttr('id'); + this.set_active = function() { + $(self.dom).addClass('admin-toggle-active'); + $(self.dom).removeClass('admin-toggle-inactive'); + $(self.dom).text('active'); + }; + this.set_inactive = function() { + $(self.dom).removeClass('admin-toggle-active'); + $(self.dom).addClass('admin-toggle-inactive'); + $(self.dom).text('inactive'); + }; + this.toggle_active = function() { + self.dom.hasClass('admin-toggle-active')? + self.set_inactive(): + self.set_active(); + }; + this.val = function(arg) { + if(arg!==undefined) { + parseInt(arg) ? this.set_active() : this.set_inactive(); + } + else { + return $(self.dom).hasClass('admin-toggle-active') ? "1":"0"; + } + }; + this.apply = function(obj) { this.val(obj.active); }; + this.flush = function(obj) { obj.active = this.val(); }; + this.remove = function() { self.dom.remove(); }; + this.dom.click(self.toggle_active); + }, +}; + + +var ADMIN = { + restaurant_init : function(id_restaurant) { + // once per pageload + this.id_restaurant = id_restaurant; + this.load_restaurant_by_id(); + }, + create_widgets : function() { + // removes old widgets and creates new blank ones + while(DOM_MAP.map.data.widget.length) { + w = DOM_MAP.map.data.widget.pop().remove(); + } + w = UTIL.create_widget('toggle', $('#restaurant-active-container')); + w = UTIL.create_widget('notifications', $('#notifications-container')); + $('#restaurant-address').focusout(function() { + UTIL.geolocate($('#restaurant-address').val(), function(data) { + if(!data || !data.length) { + UTIL.show_msg('Geocoding error.'); + return; + } + $('#restaurant-address').val(data[0].formatted_address); + $('#restaurant-lat').val(data[0].geometry.location.lat()); + $('#restaurant-lng').val(data[0].geometry.location.lng()); + map = new google.maps.Map( + $('#restaurant-map')[0], + { + zoom : 14, + mapTypeId : google.maps.MapTypeId.ROADMAP + }); + map.setCenter(data[0].geometry.location); + infowindow = new google.maps.Marker({ + map:map, position:data[0].geometry.location, + }); + }); + }); + }, + load_restaurant_by_id : function() { + // may be called multiple times per pageload + this.create_widgets(); + ASYNC.req( + { + type : 'api', + obj : 'restaurant', + id : this.id_restaurant, + }, + function(rsp) { + if(!ADMIN.restaurant_original) { + ADMIN.restaurant_original = UTIL.deep_copy(rsp); + } + ADMIN.restaurant = rsp; + DOM_MAP.apply(); + ADMIN.save_is_safe = true; + UTIL.show_msg('Restaurant loaded.'); + }); + }, + restaurant_revert : function() { + ADMIN.restaurant = ADMIN.restaurant_original; + DOM_MAP.apply(); + ADMIN.restaurant_save(); + }, + restaurant_save : function() { + DOM_MAP.flush(); + console.log(ADMIN.restaurant); + if(!ADMIN.save_is_safe) { + UTIL.show_msg('There are errors somewhere.'); + return; + } + ASYNC.req( + { + type : 'sav', + data: { restaurant:ADMIN.restaurant, obj:'restaurant' }, + }, + function(rsp) { + ADMIN.restaurant = rsp.data; + DOM_MAP.apply(); + UTIL.show_msg('Restaurant saved.'); + }); + }, + restaurant_validate : function(validation_function) { + return function(evnt) { + val = $(evnt.currentTarget).val(); + is_valid = validation_function(val); + if(is_valid) { + $(evnt.currentTarget).addClass('valid'); + $(evnt.currentTarget).removeClass('invalid'); + } + else { + $(evnt.currentTarget).removeClass('valid'); + $(evnt.currentTarget).addClass('invalid'); + } + } + }, + restaurant_validate_functions : { + permalink : function(val) { return /^[\da-zA-Z_-]+$/.exec(val); }, + }, +}; + +var DOM_MAP = { + // an adapter specific to this page and this object + apply : function() { + for(item in this.map.onclick) { + $(item).unbind('click'); + $(item).click(this.map.onclick[item]); + } + for(item in this.map.validate_data) { + $(item).unbind('change'); + $(item).change(this.map.validate_data[item]); + } + for(item in this.map.data.text) { + $(item).val( + UTIL.getJSONVal(ADMIN.restaurant, this.map.data.text[item])); + } + for(item in this.map.data.func) { + this.map.data.func[item].apply(ADMIN.restaurant, $(item)); + } + for(item in this.map.data.widget) { + this.map.data.widget[item].apply(ADMIN.restaurant); + } + }, + flush : function() { + for(item in this.map.data.text) { + UTIL.setJSONVal( + ADMIN.restaurant, + this.map.data.text[item], + $(item).val()); + } + for(item in this.map.data.func) { + this.map.data.func[item].flush(ADMIN.restaurant, $(item)); + } + for(item in this.map.data.widget) { + this.map.data.widget[item].flush(ADMIN.restaurant); + } + }, + map : { + onclick : { // map html elements to functions + '#save-button' : ADMIN.restaurant_save, + '#revert-button' : ADMIN.restaurant_revert, + '#legacy-button' : UTIL.go_to_legacy_view, + '#copy-tue-from-mon' : UTIL.copy_field('#restaurant-hours-mon','#restaurant-hours-tue'), + '#copy-wed-from-tue' : UTIL.copy_field('#restaurant-hours-tue','#restaurant-hours-wed'), + '#copy-thu-from-wed' : UTIL.copy_field('#restaurant-hours-wed','#restaurant-hours-thu'), + '#copy-fri-from-thu' : UTIL.copy_field('#restaurant-hours-thu','#restaurant-hours-fri'), + '#copy-sat-from-fri' : UTIL.copy_field('#restaurant-hours-fri','#restaurant-hours-sat'), + '#copy-sun-from-sat' : UTIL.copy_field('#restaurant-hours-sat','#restaurant-hours-sun'), + '#view-map' : function() { + lat = $('#restaurant-lat').val(); + lng = $('#restaurant-lng').val(); + url = 'https://maps.google.com/maps?q=' + lat + ',' + lng + '&z=14'; + console.log(url); // TODO + + + }, + }, + validate_data : { + 'input#restaurant-permalink' : ADMIN.restaurant_validate(ADMIN.restaurant_validate_functions.permalink), + }, + data : { // map html elements to js data parts + text : { + 'input#restaurant-name' : ['name'], + 'input#restaurant-permalink' : ['permalink'], + 'input#restaurant-phone' : ['phone'], + 'textarea#restaurant-address' : ['address'], + 'select#restaurant-timezone' : ['timezone'], + 'input#restaurant-lat' : ['loc_lat'], + 'input#restaurant-lng' : ['loc_long'], + }, + widget : [], // a list of widgets supporting 'apply' and 'flush' funcs etc + func : { + '#restaurant-address': { + apply : function(restaurant, element) { element.focusout(); }, + flush : function(restaurant, element) { }, + }, + '#restaurant-hours' : { + apply : function(restaurant, element) { + _hours = ADMIN.restaurant._hours; + days = ['mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun']; + if(!_hours) { + for(day in days) { + $('input#restaurant-hours-' + days[day]).val('Closed'); + } + return; + } + segments_all = []; + segments_uni = {}; + for(day in days) segments_uni[days[day]] = { + begin : { h : null, m : null }, + end : { h : null, m : null }, + }; + for(day in days) { + if(!_hours[days[day]]) { continue; } + for(i in _hours[days[day]]) { + segment = _hours[days[day]][i]; + segment_day = days[day]; + segment_begin = segment[0]; + segment_end = segment[1]; + if(/^0?0:00$/.exec(segment_end)) segment_end = "24:00"; + if(/^0?0:00$/.exec(segment_begin) && + !/^24:00$/.exec(segment_end) ) { + segment_day = days[(days.indexOf(days[day])+6)%(days.length)]; + segment_begin = "24:00"; + segment_end = segment_end.replace( + /(\d+):/, + parseInt(segment_end)+24+":"); + } + m = /(\d+):(\d+)/.exec(segment_begin); + this_segment_begin_h = parseInt(m[1]); + this_segment_begin_m = parseInt(m[2]); + m = /(\d+):(\d+)/.exec(segment_end); + this_segment_end_h = parseInt(m[1]); + this_segment_end_m = parseInt(m[2]); + if(segments_uni[segment_day]['begin']['h'] === null || + segments_uni[segment_day]['begin']['h'] > this_segment_begin_h) { + segments_uni[segment_day]['begin']['h'] = this_segment_begin_h; + segments_uni[segment_day]['begin']['m'] = this_segment_begin_m; + segments_uni[segment_day]['valid'] = true; + } + if(segments_uni[segment_day]['end']['h'] === null || + segments_uni[segment_day]['end']['h'] < this_segment_end_h) { + segments_uni[segment_day]['end']['h'] = this_segment_end_h; + segments_uni[segment_day]['end']['m'] = this_segment_end_m; + segments_uni[segment_day]['valid'] = true; + } + } + } + for(day in days) { + if(!(segments_uni[days[day]].valid)) { + $('input#restaurant-hours-' + days[day]).val("Closed"); + continue; + } + begin = segments_uni[days[day]].begin; + end = segments_uni[days[day]].end; + for(time in [begin,end]) { + t = [begin,end][time]; + if(t.h === 0) { t.shorthand = 'midnight'; t.ampm = 'AM'; } + if(t.h === 24) { t.h = 12; t.shorthand = 'midnight'; t.ampm = 'AM'; } + else if(t.h === 12) { t.shorthand = 'noon'; t.ampm = 'PM'; } + else if(t.h < 12) t.ampm = 'AM'; + else if(t.h < 24) { t.ampm = 'PM'; t.h = t.h - 12; } + else { t.ampm = 'AM'; t.h = t.h - 24; } + t.fmt = t.h + ':' + UTIL.pad_number(t.m,2) + ' ' + t.ampm; + if(t.shorthand) t.fmt = t.fmt + ' (' + t.shorthand + ')'; + } + today_fmt = begin.fmt + ' - ' + end.fmt; + $('input#restaurant-hours-' + days[day]).val(today_fmt); + } + }, + flush : function(restaurant, element){ + _hours = {}; + days = ['mon','tue','wed','thu','fri','sat','sun']; + for(day in days) { + val = $('input#restaurant-hours-' + days[day]).val(); + if(/^(?: *|closed)$/i.exec(val)) continue; + val = val.replace(/\(.*?\)/g, ''); + val = val.replace(/midnight/i, '0:00 AM'); + val = val.replace(/noon/i, '12:00 PM'); + m = /^(\d+)(?:\:(\d+))? *(am|pm) *(?:to|-) *(\d+)(?:\:(\d+))? *(am|pm) *$/i.exec(val) + if(!m) { + UTIL.show_msg('Unrecognized time format.'); + ADMIN.save_is_safe = false; + return; + } + begin_h = parseInt(m[1]); + begin_m = parseInt(m[2]) || 0; + begin_ampm = m[3].toLowerCase(); + end_h = parseInt(m[4]); + end_m = parseInt(m[5]) || 0; + end_ampm = m[6].toLowerCase(); + if(begin_ampm === "am" && begin_h === 12) { begin_h = begin_h - 12; } + if(begin_ampm === "pm" && begin_h < 12) { begin_h = begin_h + 12; } + if(end_ampm === "am" && end_h === 12) { end_h = end_h + 12; } + if(end_ampm === "pm" && end_h < 12) { end_h = end_h + 12; } + if(end_ampm === "am" && end_h < begin_h) { end_h = end_h + 24; } + + if(!(days[day] in _hours)) { _hours[days[day]] = [] } + if(end_h*100 + end_m > 2400) { + // split into two times + today = days[day]; + tomorrow = days[(days.indexOf(today)+1)%(days.length)]; + if(!(tomorrow in _hours)) { _hours[tomorrow] = [] } + _hours[today].push([ + '' + begin_h + ':' + UTIL.pad_number(begin_m,2), + '24:00']); + _hours[tomorrow].push([ + '0:00', + '' + (end_h-24) + ':' + UTIL.pad_number(end_m,2)]); + } + else { + // just the one + _hours[days[day]].push([ + '' + begin_h + ':' + UTIL.pad_number(begin_m,2), + '' + end_h + ':' + UTIL.pad_number(end_m,2)]); + } + } + restaurant._hours = _hours; + }, + }, + }, + }, + }, +}; + +var ASYNC = { + // handles all js network requests + cfg : { + api : { + url : function(req) { return '/api/' + req.obj + '/' + req.id; }, + method : 'get', + }, + sav : { + url : function() { return '/admin/save'; }, + method : 'post', + }, + }, + req : function(req, callback) { + console.log(req); + $.ajax({ + url: this.cfg[req.type].url(req), + method: this.cfg[req.type].method, + data: req.data ? req.data : '', + dataType: 'json', + }).done(function(rsp) { + console.log(rsp); + if(rsp.result && rsp.result != 'OK') { + UTIL.show_msg('Error: ' + rsp.error); + } + else { + callback(rsp); + } + }); + }, +}; + + + From dae8a118db6bd5400fc3fe1de8ff1307541e9bc0 Mon Sep 17 00:00:00 2001 From: BDC Date: Wed, 10 Apr 2013 20:56:13 -0400 Subject: [PATCH 02/10] admin restaurant page --- .../library/Crunchbutton/.Restaurant.php.swp | Bin 45056 -> 16384 bytes include/library/Crunchbutton/Restaurant.php | 2 ++ www/assets/js/.admin_restaurant.js.swp | Bin 16384 -> 32768 bytes www/assets/js/admin_restaurant.js | 33 +++++++++--------- 4 files changed, 18 insertions(+), 17 deletions(-) diff --git a/include/library/Crunchbutton/.Restaurant.php.swp b/include/library/Crunchbutton/.Restaurant.php.swp index f1f02a4f7d9253bbf6ea15372cfaea22468d6eb6..18a96423ec7d06056e95696c0d7593f6cc79fb0f 100644 GIT binary patch delta 417 zcmXxfKS%;m9KiA4c@}rqWhWGxU`UYAQo;!ijZHyDE%f5p2We0c8*58ivueaLZ?L@~28mrv!UY+)=B-B>M*r1zA@ zVKdQI>nnZUi#lv7nyXq9+Mhpe#)@mdK`atKL97$sLF`&_{mYLdw`s*DKmFS5UdPyK zZ&iAW_$gU08hwq_FH&czuvL51MQ#j^@W8Bp@^VPz0Q+cQ8*8XVL@HRuG}4ISeNf~9 z9kkKHId-sx4U~~X5^;Q(B3GuA0`jmiiZ?#< Yj9YZj{oJ+TDd8vGo1JNe-THjx9|+rRi2wiq literal 45056 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 diff --git a/include/library/Crunchbutton/Restaurant.php b/include/library/Crunchbutton/Restaurant.php index bc74d2bb2..e5f832fc7 100644 --- a/include/library/Crunchbutton/Restaurant.php +++ b/include/library/Crunchbutton/Restaurant.php @@ -533,6 +533,8 @@ class Crunchbutton_Restaurant extends Cana_Table */ public function saveNotifications($elements) { c::db()->query('DELETE FROM notification WHERE id_restaurant="'.$this->id_restaurant.'"'); + if(!$elements) + return; foreach ($elements as $data) { if (!$data['value']) continue; $element = new Crunchbutton_Notification($data['id_notification']); diff --git a/www/assets/js/.admin_restaurant.js.swp b/www/assets/js/.admin_restaurant.js.swp index 1b337995b3bb509197f9c4b951f4d38df864ef1a..8700bde20ffd899302e82ca40c3abf33e1dd6cf0 100644 GIT binary patch literal 32768 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 delta 734 zcmXxiUr19?9KiA4-QCsAZSJmyOA@*jH2XKjK?OeSp(L_QlrVa++FbdtTIyO7tPN9p zkf3=9$|Ml7vWy(}C4-<6F2`Ekzq9nPOz&X&t5717$Z zLruosP*@0EBwKQ(B@!r9%&GZPnzf+%-Cj+yjM<74h_-u#p?Y}h@USbn%zhkYnx?9Yyri}a!qd*FqNRgcI5zF;1&@D%+> zqZ>`wjWT?8i%jAnuAm+DD91aO$Q%mjLmO(a)5W>GbbgnKe8M355JwGuIYoYA9agMvd4pNJz%-s=9E0e=ak!visg!$NEEV~N$9RANwBjf#v0NhZ0n>Pb z3Eamx?%^i7(10NPSkXk@;t>WALljlmh$TBU@%#kMDAMS{F&sbyl~`0oX7CcjIERDS zhbk=dm>-eH5IRwO;6_`1Y_qv7<+rY Date: Tue, 16 Apr 2013 02:27:57 -0400 Subject: [PATCH 03/10] admin restaurant --- .../crunchbutton/admin/save/.index.php.swp | Bin 12288 -> 12288 bytes .../default/crunchbutton/admin/save/index.php | 4 +- .../library/Crunchbutton/.Restaurant.php.swp | Bin 16384 -> 45056 bytes include/library/Crunchbutton/Restaurant.php | 59 ++- .../admin/restaurants/.restaurant.phtml.swp | Bin 40960 -> 61440 bytes .../admin/restaurants/restaurant.phtml | 370 +++++++++++-- www/assets/css/.admin.css.swp | Bin 45056 -> 45056 bytes www/assets/css/admin.css | 75 ++- www/assets/js/.admin_restaurant.js.swp | Bin 32768 -> 77824 bytes www/assets/js/admin_restaurant.js | 498 ++++++++++++++++-- 10 files changed, 904 insertions(+), 102 deletions(-) diff --git a/include/controllers/default/crunchbutton/admin/save/.index.php.swp b/include/controllers/default/crunchbutton/admin/save/.index.php.swp index 48f791dd28cb32351eada519600d40329f071610..905a045e4107a9b63662ed14a5924f5b54452a77 100644 GIT binary patch delta 209 zcmZojXh;xGG6?hZRWR2xW&i>K28LOWa{?D#n!i!}5;JRQNt&+3=6B3WJd8%01qD9y z^UmX9U})los5F`^s4(B?3y^mKh?fHKLLlw~;%*@B0^$xJZU^EvAZ`X?kj^~r&5SI) zT$4{~3r{|wZRxI(nVy$llxiCttD~S&o{?IVs%g!@$;k;}N2|MJ7H6o(Myn?#mt>Zu Zs>dqWD)@!^_#mkPibTh5X43h`3;@^HHbMXZ delta 130 zcmZojXh;xGG6?hZRWR2xW&i>K1_s?z$$`y(XKoa~#5^&9b@MxBB_2kD&4L1-`FY=P zF)*CqhA1imports($restaurant); $r->save(); - return $r->exports(); + $where = []; + $where['Dish']['active'] = NULL; + return $r->exports($ignore=[], $where); } return 'no id.'; } diff --git a/include/library/Crunchbutton/.Restaurant.php.swp b/include/library/Crunchbutton/.Restaurant.php.swp index 18a96423ec7d06056e95696c0d7593f6cc79fb0f..dcfa0bded3f7d3ded409fdf3297dc9f622842f85 100644 GIT binary patch literal 45056 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 Dd;-F% delta 402 zcmXxfze@sP7{Kx8JdHcM>=g=6!8n3kf)W(`8yt*Wg0^tTMXDj%#G9feNN)`)2qIdl zqcMo)K!QT3rLCffXlUs7SMnbC@ZOhu;qGzoLawW&D%qK0$tg_agi#`9biO>C+0-`;pxWg9<1OcUQhED>KpY!IJ894g!V=*5b6sSsGy7~l#oLbuPpP78+6cJ P?kehQ;V08C=Eoy{z{hN4 diff --git a/include/library/Crunchbutton/Restaurant.php b/include/library/Crunchbutton/Restaurant.php index e5f832fc7..1e16ecd34 100644 --- a/include/library/Crunchbutton/Restaurant.php +++ b/include/library/Crunchbutton/Restaurant.php @@ -892,8 +892,6 @@ class Crunchbutton_Restaurant extends Cana_Table * @return null */ public function imports($restaurant) { - // TODO implement this - // for now, start with basic stuff foreach($this->properties() as $key=>$val) { if(in_array($key, array_keys($restaurant))) { @@ -902,6 +900,63 @@ class Crunchbutton_Restaurant extends Cana_Table } $this->saveHours($restaurant['_hours']); $this->saveNotifications($restaurant['_notifications']); + $this->saveCategories($restaurant['_categories']); + + // TODO - for objects with temporary client-side ids, match up the new category ids + + // dishes with options are the awful part + $all_dishes = []; + foreach($restaurant['_categories'] as $category) { + if(!array_key_exists('_dishes', $category)) { + $category['_dishes'] = []; + } + foreach($category['_dishes'] as &$dish) { + $dish['optionGroups'] = []; + if(!intval($dish['id_category'])) { + $sql = 'SELECT * FROM category WHERE name like \''.$category['name'].'\' ORDER BY sort ASC LIMIT 1'; + $category = Crunchbutton_Category::q($sql); + $dish['id_category'] = $category->id_category; + } + if(!array_key_exists('_options', $dish)) { + $dish['_options'] = []; + } + $basicOptionsIds = []; + $optionGroupsIds = []; + $optionsInGroupsIds = []; + $optionGroups = []; + foreach($dish['_options'] as $option) { + if($option['id_option_parent']) { + $optionGroupsIds[] = $option['id_option_parent']; + $optionsInGroupsIds[] = $option['id_option']; + } + } + foreach($dish['_options'] as $option) { + if(in_array($option['id_option'], $optionGroupsIds)) continue; + if(in_array($option['id_option'], $optionsInGroupsIds)) continue; + $option['id_option_parent'] = 'BASIC'; + $basicOptionsIds[] = $option['id_option']; + } + $optionGroupsIds[] = 'BASIC'; + $optionGroups['BASIC'] = array('id_option'=>'BASIC'); + + // option groups + foreach($dish['_options'] as $option) { + if(in_array($option['id_option'], $optionGroupsIds)) { + $optionGroups[$option['id_option']] = $option; + $optionGroups[$option['id_option']]['options'] = []; + } + } + // regular options + foreach($dish['_options'] as $option) { + if(!in_array($option['id_option'], $optionGroupsIds)) { + $optionGroups[$option['id_option_parent']]['options'][] = $option; + } + } + $dish['optionGroups'] = $optionGroups; + $all_dishes[] = $dish; + } + } + $this->saveDishes($all_dishes); return null; } diff --git a/include/views/default/crunchbutton/admin/restaurants/.restaurant.phtml.swp b/include/views/default/crunchbutton/admin/restaurants/.restaurant.phtml.swp index cbc491ed270565ca213a9735687332c9dcba93d7..3a98f3b14861aaf2b7961f57e0c76e1cfe454b30 100644 GIT binary patch literal 61440 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 wa#A%ea{D -
+
-
-
+
+
Jump to: - menu + vitals + menu + notes
-
-
Legacy View
-
Revert
+
+
Legacy View
+
Revert
@@ -31,7 +33,7 @@
for display
- +
@@ -41,7 +43,17 @@
crunchbutton.com/food-delivery/<permalink>
- + +
+
+ +
+
+
Short Description
+
+
+
+
@@ -51,7 +63,17 @@
publicly listed
- + +
+
+ +
+
+
Email
+
used internally
+
+
+
@@ -61,14 +83,14 @@
for delivery radius and pickup
- +
Latitude - +
Longitude - +
@@ -90,6 +112,7 @@ +
Vitals
@@ -111,11 +134,11 @@
where the restaurant is
- + + + +
@@ -126,17 +149,17 @@
restaurant's actual open hours
e.g. 12PM - 2:30AM
-
+
- +
Monday
- +
Tuesday
@@ -147,7 +170,7 @@
- +
Wednesday
@@ -158,7 +181,7 @@
- +
Thursday
@@ -169,7 +192,7 @@
- +
Friday
@@ -180,7 +203,7 @@
- +
Saturday
@@ -191,7 +214,7 @@
- +
Sunday
@@ -203,17 +226,187 @@
+
+
+
Transactions
+
allowed methods
+
+
+
+ Cash +
+
+
+ Credit +
+
+
+ Delivery +
+
+
+ Takeout +
+
+
+
+ +
+
+
Delivery Options
+
+
+
+
+ Delivery minimum ($) + +
+
+ Based on + +
+
+ Delivery fee ($) + +
+
+ Radius (miles) + +
+
+ Est. time (minutes) + +
+
+
+ +
+
+
Takeout Options
+
+
+
+
+ Est. time (minutes) + +
+
+
+ +
+
+
Taxes and Fees
+
+
+
+
+ Restaurant fee (%) + +
+
+ Customer fee (%) + +
+
+ Tax charged (%) + +
+
+
+ +
+
+
Sorting
+
+ see here for explanation +
+
+
+
+ Sort weight adjustment + +
+
+
+
-
-
Save
+ + +
Menu
+ +
-
-
+
+
+
add another category
+
+
+ + +
+ + + +
Notes
+ +
+
+
General Notes
+
+
+
+ +
+
+ +
+
+
TODO
+
+
+
+ +
+
+ +
+
+
About the Owner
+
+
+
+ +
+
+ +
+ + + + +
+
Save
+
+
+
+
@@ -228,16 +421,112 @@
- + +
+
+ + + + + + @@ -245,11 +534,8 @@ - - - - - + + diff --git a/www/assets/css/.admin.css.swp b/www/assets/css/.admin.css.swp index c4ef6a132f5e43493c9c112aace3dba7bddc4e21..8d53efbd07cc85fbd1e989bad878561e7dd4f0cc 100644 GIT binary patch delta 1582 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 w5{EWv~_B&sNQHttK9ll&3U=!F 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 ua*%G?T{qS^nV_=g&v5bE 2400) { From 5335dac193ae60f589097db8042c5833d03969e9 Mon Sep 17 00:00:00 2001 From: BDC Date: Tue, 16 Apr 2013 13:30:06 -0400 Subject: [PATCH 04/10] admin --- www/assets/js/.admin_restaurant.js.swp | Bin 77824 -> 77824 bytes www/assets/js/admin_restaurant.js | 5 +++++ 2 files changed, 5 insertions(+) diff --git a/www/assets/js/.admin_restaurant.js.swp b/www/assets/js/.admin_restaurant.js.swp index a775fc191bc701370a7bd924a80fad8f6ced8d93..ed725c69b466ec26c1dae95862b1f29cf90fb2c9 100644 GIT binary patch delta 343 zcmZp8z|!!5MLfwM%+puFT+f&R2m}}yWV&(#jSLrT6t5Iu)Y&{ypm;v-S#}17nH&&l zoyme5wCmsVGB7L!Vt*iJ0^+|s3=I2$xB`eHfj9_=8G(2OHv>Z!5UT+(9}u76VqjPW z#EXGA6^Lzsm=B1baWXJm0^*%Oyab3lfH(<=xqK*l^E zp2@NK*oMpOlOJw(m>jo_ee(Nl%A5c1lw+AZVZX%W_j|ax)QeMdQj<&6HLWLKJYzoj z-5!p~NB7CN>gy|{mSv`-=9T1BD&*$@37A5Kr2LB1VuhmAyp+@;g@U5|g480g8ill? p{JatcptwR>evv|6e);70m12``oROUTZyo#OnS1#+8}BzQM^)sQGN47f#UhRcR3gsrgB20 z)h7#X(5~Oj%fL_q#Gyd!2gHAQ7#NlSaT*XS0WlX4pWtR-SO&!NfjAL}Er6H{h#zq= zFq{M8tw6j0h+BX-4v5)-_&d;+M?ic5i1z{UN+4bc#It}H<=gf&hfB)dX@UKin=iIcSH* diff --git a/www/assets/js/admin_restaurant.js b/www/assets/js/admin_restaurant.js index d3bce734f..b00b21858 100644 --- a/www/assets/js/admin_restaurant.js +++ b/www/assets/js/admin_restaurant.js @@ -201,6 +201,11 @@ var WIDGET = { $(option_group_dom).find('.admin-menu-option-group-type').val('check'); $(option_group_dom).find('.delete-option-group').hide(); } + else { + // evidently only 'select' boxes render properly on front end for now + $(option_group_dom).find('.admin-menu-option-group-type').prop('disabled', true); + $(option_group_dom).find('.admin-menu-option-group-type').val('select'); + } if(!option_group.name) UTIL.focus_input(option_group_dom); $(option_group_dom).find('.delete-option-group').click(function() { option_group_dom.remove(); From c998f5b72710ce31a795e9f2d084947b02229b3f Mon Sep 17 00:00:00 2001 From: BDC Date: Tue, 16 Apr 2013 14:47:07 -0400 Subject: [PATCH 05/10] admin restaurant serialization --- .gitignore | 2 ++ .../controllers/default/crunchbutton/admin/save/index.php | 4 +++- www/assets/js/admin_restaurant.js | 7 ++++++- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 886e4d81f..3f20b5797 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,8 @@ # filetypes *.bz2 +*.swo +*.swp *.mov *.mp4 *.m4v diff --git a/include/controllers/default/crunchbutton/admin/save/index.php b/include/controllers/default/crunchbutton/admin/save/index.php index 62a903098..5fedaf85b 100644 --- a/include/controllers/default/crunchbutton/admin/save/index.php +++ b/include/controllers/default/crunchbutton/admin/save/index.php @@ -14,7 +14,9 @@ class Controller_admin_save extends Crunchbutton_Controller_Rest { $rsp['req'] = $req; // TODO this is not necessary switch($req['obj']) { case 'restaurant': - $rsp['data'] = $this->save_restaurant($req[$req['obj']]); + $data = array(); + parse_str($req['serialized_data'], $data); + $rsp['data'] = $this->save_restaurant($data); $rsp['msg'] = 'Saved.'; break; default: diff --git a/www/assets/js/admin_restaurant.js b/www/assets/js/admin_restaurant.js index b00b21858..3b9cf4b3e 100644 --- a/www/assets/js/admin_restaurant.js +++ b/www/assets/js/admin_restaurant.js @@ -655,6 +655,7 @@ var ADMIN = { { type : 'api', obj : 'restaurant', + data: { restaurant:ADMIN.restaurant, obj:'restaurant' }, id : this.id_restaurant, }, function(rsp) { @@ -682,7 +683,11 @@ var ADMIN = { ASYNC.req( { type : 'sav', - data: { restaurant:ADMIN.restaurant, obj:'restaurant' }, + data : { + serialized_data : $.param(ADMIN.restaurant), + obj : 'restaurant' + }, + }, function(rsp) { ADMIN.restaurant = rsp.data; From e49ff2663214bd0f3e075bb25d9571a816d46314 Mon Sep 17 00:00:00 2001 From: BDC Date: Tue, 16 Apr 2013 18:33:56 -0400 Subject: [PATCH 06/10] admin restaurant --- include/library/Crunchbutton/Restaurant.php | 2 -- www/.htaccess | 3 ++- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/include/library/Crunchbutton/Restaurant.php b/include/library/Crunchbutton/Restaurant.php index 1e16ecd34..8199ff698 100644 --- a/include/library/Crunchbutton/Restaurant.php +++ b/include/library/Crunchbutton/Restaurant.php @@ -902,8 +902,6 @@ class Crunchbutton_Restaurant extends Cana_Table $this->saveNotifications($restaurant['_notifications']); $this->saveCategories($restaurant['_categories']); - // TODO - for objects with temporary client-side ids, match up the new category ids - // dishes with options are the awful part $all_dishes = []; foreach($restaurant['_categories'] as $category) { diff --git a/www/.htaccess b/www/.htaccess index acf2bf06c..43dceb9bd 100644 --- a/www/.htaccess +++ b/www/.htaccess @@ -10,6 +10,7 @@ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+)$ index.php?__url=$1 [L,QSA] + Header set Cache-Control "max-age=290304000, public" @@ -31,4 +32,4 @@ AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript -AddDefaultCharset UTF-8 \ No newline at end of file +AddDefaultCharset UTF-8 From a50987de6387317467a9feb813221df9e7352d7d Mon Sep 17 00:00:00 2001 From: BDC Date: Tue, 16 Apr 2013 18:37:34 -0400 Subject: [PATCH 07/10] empty categories --- include/library/Crunchbutton/Restaurant.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/library/Crunchbutton/Restaurant.php b/include/library/Crunchbutton/Restaurant.php index 8199ff698..b8e8d3760 100644 --- a/include/library/Crunchbutton/Restaurant.php +++ b/include/library/Crunchbutton/Restaurant.php @@ -904,6 +904,9 @@ class Crunchbutton_Restaurant extends Cana_Table // dishes with options are the awful part $all_dishes = []; + if(!array_key_exists('_categories', $restaurant)) { + $restaurant['_categories'] = []; + } foreach($restaurant['_categories'] as $category) { if(!array_key_exists('_dishes', $category)) { $category['_dishes'] = []; From f798a69ac4d6db368d8aae0c6ce2dfde3fd3ba1c Mon Sep 17 00:00:00 2001 From: BDC Date: Wed, 17 Apr 2013 16:47:40 -0400 Subject: [PATCH 08/10] admin restaurant --- .../default/crunchbutton/admin/save/index.php | 6 +- .../crunchbutton/assets/css/bundle.css.php | 3 +- .../library/Crunchbutton/.Restaurant.php.swp | Bin 45056 -> 45056 bytes include/library/Crunchbutton/Restaurant.php | 10 +- .../admin/restaurants/.restaurant.phtml.swp | Bin 61440 -> 32768 bytes .../admin/restaurants/restaurant.phtml | 4 + .../default/crunchbutton/layout/admin.phtml | 3 +- .../crunchbutton/layout/html.top.phtml | 1 + www/.htaccess | 3 + www/assets/css/.DS_Store | Bin 0 -> 6148 bytes www/assets/css/.admin.css.swp | Bin 45056 -> 32768 bytes www/assets/css/sprites.css | 1078 +++++++++++++++++ www/assets/images/.DS_Store | Bin 0 -> 6148 bytes www/assets/images/sprite-black.png | Bin 0 -> 13439 bytes www/assets/images/sprite-gray.png | Bin 0 -> 23540 bytes www/assets/js/admin_restaurant.js | 35 +- 16 files changed, 1135 insertions(+), 8 deletions(-) create mode 100644 www/assets/css/.DS_Store create mode 100644 www/assets/css/sprites.css create mode 100644 www/assets/images/.DS_Store create mode 100644 www/assets/images/sprite-black.png create mode 100644 www/assets/images/sprite-gray.png diff --git a/include/controllers/default/crunchbutton/admin/save/index.php b/include/controllers/default/crunchbutton/admin/save/index.php index 5fedaf85b..61ab6c3ff 100644 --- a/include/controllers/default/crunchbutton/admin/save/index.php +++ b/include/controllers/default/crunchbutton/admin/save/index.php @@ -14,8 +14,10 @@ class Controller_admin_save extends Crunchbutton_Controller_Rest { $rsp['req'] = $req; // TODO this is not necessary switch($req['obj']) { case 'restaurant': - $data = array(); - parse_str($req['serialized_data'], $data); + // uncomment here and in client-side requests to use serialization + // $data = array(); + // parse_str($req['serialized_data'], $data); + $data = $req['data']; $rsp['data'] = $this->save_restaurant($data); $rsp['msg'] = 'Saved.'; break; diff --git a/include/controllers/default/crunchbutton/assets/css/bundle.css.php b/include/controllers/default/crunchbutton/assets/css/bundle.css.php index 0db2e0c57..e0dcadaae 100644 --- a/include/controllers/default/crunchbutton/assets/css/bundle.css.php +++ b/include/controllers/default/crunchbutton/assets/css/bundle.css.php @@ -12,6 +12,7 @@ class Controller_assets_css_bundle_css extends Crunchbutton_Controller_AssetBund $file = c::config()->dirs->www.'assets/css/style.css'; $css = file_get_contents($file); + $css .= file_get_contents(c::config()->dirs->www.'assets/css/sprites.css'); $css .= file_get_contents(c::config()->dirs->www.'assets/css/font-awesome.css'); @@ -50,4 +51,4 @@ class Controller_assets_css_bundle_css extends Crunchbutton_Controller_AssetBund echo $css; exit; } -} \ No newline at end of file +} diff --git a/include/library/Crunchbutton/.Restaurant.php.swp b/include/library/Crunchbutton/.Restaurant.php.swp index dcfa0bded3f7d3ded409fdf3297dc9f622842f85..1aa1c5affd87dc31cfc5c247f63f44377d0b5412 100644 GIT binary patch delta 2222 zcmbW%drVVT9Ki9@QlJ+Ei!YoQEl_vC;h>St*W{(lCkxC7i;Q7`f*qAYX;qx8>R*!? z0gu~Y5pi3h5~r2bY~hcoY|cfUQ>P}2MyGL!I($H4oK9Kxy#jmwx08JCJ-7Gv-gD0H z{C?}N>epY@k1I*ZUyx&-_WV>qGYL`9SCzN0^&{P!`<>$=O*(^2G)+{3wVSlDGS3tp z8#ZtuY6j0%-9TsXBtoRaG*K5SH*qw|4*stUKDkn!HAP1S4PJQ%&pQLpMD9nvr!F^Gf#J)w*|M2KH-0ekT=B&tw`C0K+RutI?zy~Oh- z0%*lHxL0zR4;ArvWMD@45Utnk&ZsIzw;1o{aIQ)1IPOLyamOu+}Qc!1S znocfAofKG*`bD@j`BS7Z%PME5M@c0uQmR=a=o{tobVc6Szx1%m)o>vdqj87$bmLQO$13Dv9@3EpGbZ9UV)QMJVK;W66p463Y>wjtRAUY% z5Be#HY^ z!DVz|V=xz^;e9w!fK0rE>6oSuB$wod`79M~m$!OKTCL0NG0!$zT*^SJ z7lR$;e>_p`ak#4HX)iAP_v?n<<|r$6+iN|6erM>^i1AG1wpO^x$DD8DFxs&i5xCC0KF0xUKpEaZ2I63V_L<8=HIgq5G;Nd?SM^^fneOkF z9a$FHS1>Y2v6Ke-vbN~twiirtdiL-cEL369ELO--o)BwuyKQyFmG-(~`x-~Br#3+? zF12~=6)v~KUaKaVE!sS7Ubn5vlPK%v&I?3m-wE^eFqV_dMVs{RR!#gjbM^ zP+X#}c49j=qZ}C+105bxTYGU&tFbtPy;y_Qcnt*@g^R;T8?E@R#eBqq;wvtp4I42B zSqR2Oa?pzfdeJRkQWst!BJKGbeAQtM?HmVnZ4ZRb$ZmIBy*waaeM7*l4@0xtVN0D zbhFhw)0~nxOZr#D=!GI{oTKF8)yV;?V~SqhD<2oF<@n$7Q`Hh*Et(~BD}6D47J>gh K5I9n)>iz(ma)#aj delta 1493 zcmY+^e@vBC9LMqV-0lVL<=4FfC5hyq=%PentiXnYlon`+sB3M}2=0C0;`n)ga7P6S>Q-La)sQ127hKRVm%dCu8+?%8?n z_w$_2X;bI4DY-i9rIJ#ayEaGA>_TMTtuNQ^?$u@|N0Q_0n#IVlr&=S_ByG1*Zcox8 zjkoQoT9k2+tJOHmym@h2=tjt%lx+)-;==d7M;1F;cpM&z#_)K5aGB%R1kdL_-A#URre1m=X82#|0CPs7! zC!K0+#B#*rX0#ALViNt>gHBXp6ILP;GraUwjN=5p!T|cv3oo|flvRk67{os8g%8hI zJA_E2lYj{P9VNsK%tZ=u9Y0|ZAK@L;paNU43E9YihCiv-45o1i-FO$fP>57KhLD99 zLJzvjxx9`5T2Y2a5uzm1xPpr~g$bO*5Z;3euVE{;K$WrBJTek68EbM@1zU4^q8(K( zAs$fOgOpj7SPwe7Dz(~i9{m>GXh$)UaG#XSVG^I?4J6_QKOcr#rVr~eg-_9r=iz`2 zW?WiKoza<}ZR8bXr(0?5f=jx$rC$EOZICPen>PBN$R*iFdJ>UtSSpik)^ul;Pp@tA zv;}8--q(zaz0d7fw@&UXD=L$jvZl!+o2qx|PM=o>>U?hL(;J$bJXM}H>8!8Q8-1DH zI+rf%T;4UZp~~lUOMkQUxpmp72js(r)pRhSFJv1u7usVfy~tz#>aW^uIJVVxOcBS! zXhAcc#!}oNeiQftpCEv86r&IYNQ1;*MDPqw;{b->!jqUMb>}dE78Kzr{Ki&}MDcwL z)A8U1q~H!w`yNN3BKZnb3|Aus_lVeaT*i4!VH7HkuObf#h=2tPr0qWL;b&aKDBeP; zh3_McP7Eyghm0&>9=D((*@YIoh%_w45+ouX(Xe5G9L?f1K146N@B!Q?KniTIK*Peb z6k{F_Z~-cG-(eK}Xu!+Zhz(G|R0Yg6iQwAp+ib?buse9O;_;l#zjGiJaagI+s+(%( rIoOWjOLW15oydnBw|H;_?Px_aisFK4jz40JH}kWI_8H@L_YeO9ZEpU< diff --git a/include/library/Crunchbutton/Restaurant.php b/include/library/Crunchbutton/Restaurant.php index b8e8d3760..a2015a716 100644 --- a/include/library/Crunchbutton/Restaurant.php +++ b/include/library/Crunchbutton/Restaurant.php @@ -308,10 +308,13 @@ class Crunchbutton_Restaurant extends Cana_Table $do = new Dish_Option; $do->id_dish = $dishO->id_dish; $do->id_option = $group->id_option; + $do->sort = $optionGroup['sort']; $do->save(); } else { $do = new Dish_Option($doid); $do->default = $opt->default; + $do->sort = $optionGroup['sort']; + $do->save(); } } @@ -331,7 +334,8 @@ class Crunchbutton_Restaurant extends Cana_Table $option->type = 'check'; $option->save(); $newOptions[$option->id_option] = $option->id_option; - $opt['default'] = $opt['default'] == 'true' ? 1 : 0; + $opt['default'] = + (in_array($opt['default'], ['true','1',1]) ? 1 : 0); if (!$doid = $this->_hasOption($option, $options)) { $do = new Dish_Option; @@ -915,8 +919,8 @@ class Crunchbutton_Restaurant extends Cana_Table $dish['optionGroups'] = []; if(!intval($dish['id_category'])) { $sql = 'SELECT * FROM category WHERE name like \''.$category['name'].'\' ORDER BY sort ASC LIMIT 1'; - $category = Crunchbutton_Category::q($sql); - $dish['id_category'] = $category->id_category; + $c = Crunchbutton_Category::q($sql); + $dish['id_category'] = $c->id_category; } if(!array_key_exists('_options', $dish)) { $dish['_options'] = []; diff --git a/include/views/default/crunchbutton/admin/restaurants/.restaurant.phtml.swp b/include/views/default/crunchbutton/admin/restaurants/.restaurant.phtml.swp index 3a98f3b14861aaf2b7961f57e0c76e1cfe454b30..2c7611c440cdc6f66f5908e36dbf53cca4d97c87 100644 GIT binary patch delta 2599 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 IY&Qk}0ld1HegFUf diff --git a/include/views/default/crunchbutton/admin/restaurants/restaurant.phtml b/include/views/default/crunchbutton/admin/restaurants/restaurant.phtml index 26b94fb11..c7f423d92 100644 --- a/include/views/default/crunchbutton/admin/restaurants/restaurant.phtml +++ b/include/views/default/crunchbutton/admin/restaurants/restaurant.phtml @@ -443,8 +443,12 @@ +
add dish
 
delete category
  +
+
+
diff --git a/include/views/default/crunchbutton/layout/admin.phtml b/include/views/default/crunchbutton/layout/admin.phtml index 055dcce6a..92436fc6a 100644 --- a/include/views/default/crunchbutton/layout/admin.phtml +++ b/include/views/default/crunchbutton/layout/admin.phtml @@ -8,6 +8,7 @@ + @@ -68,4 +69,4 @@ var _gmtServer = '';
- \ No newline at end of file + diff --git a/include/views/default/crunchbutton/layout/html.top.phtml b/include/views/default/crunchbutton/layout/html.top.phtml index 206f8b1e3..b21b04a0a 100644 --- a/include/views/default/crunchbutton/layout/html.top.phtml +++ b/include/views/default/crunchbutton/layout/html.top.phtml @@ -22,6 +22,7 @@ var _gmtServer = ''; + diff --git a/www/.htaccess b/www/.htaccess index 43dceb9bd..4251018ff 100644 --- a/www/.htaccess +++ b/www/.htaccess @@ -11,6 +11,7 @@ RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+)$ index.php?__url=$1 [L,QSA] + Header set Cache-Control "max-age=290304000, public" @@ -21,6 +22,8 @@ AddType font/otf .otf AddType font/woff .woff AddType image/svg+xml .svg .svgz +php_value max_input_vars 100000 + AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html diff --git a/www/assets/css/.DS_Store b/www/assets/css/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..e3ebf9d8c6cbe7e745320a745485baa4dbde6e6d GIT binary patch literal 6148 zcmeHK%TB{E5FA4fm3rxsqrZTNKd`FyhI-)#pn!l2REZ<5`Si{{Ktu$NNI|=nch>7& zKSqij14x_x;R;v-Sh5NxF(yRZlU-*XESPkRibr&~#69&qMAp9IYL95~g0JiEj`eWe zceQ0i#*_9o+*ykruf%5@XjPUswi~=_X>iBUI`UAdC0<(1ue0oZmLJwJ4FeUXspEf7WoMVi-CY2nNOsoLh4(_y3Nc%;Y0~ zoD!{IAQ<>(45Y>OX1n30{BHfWJ-KT$>n*E@#0_FlXpepZ*pPGNLOZQLi_N&=I2g(( S;@5Oy{0Jx^p@M-wVBiGDJ}tQb literal 0 HcmV?d00001 diff --git a/www/assets/css/.admin.css.swp b/www/assets/css/.admin.css.swp index 8d53efbd07cc85fbd1e989bad878561e7dd4f0cc..82f04c86bef0f1b19d3e698d1a425c2a2e14db75 100644 GIT binary patch delta 1633 zcmbu{W>wr3H3CnFYNFg23!M+W`?l(F31{=b4@T?=w5U=Wz}golc`E z&AevGG9_wOxS+{GB>UJ`PLHp;Y8nbKcxfK;LW8HaL=I+bm4kh~^}A?2+7a30>+x+O zO0;g-{h>bpcM!Ayjx4aGzq7Q9oL_O+IfnwxhEs~Lhc+A0Mc)$RG zH~vEOqaByffO=G*7`gsJ6>AwJBMI>^V-k!I7#SnPAi8l2H_(D=l%W)dum>5iU=?Bz zg-96i&QFMkXu)ZeVwayPL;-_*Sg;(+kcim`K`?^wY_t$}(TNUJ!ih|*M?69>4g&8+ z3Go(#cz~N|!F8O&K^#!&_9GFIh(I_3A;Aa(KKcsr3NP>+?Px$9YH<*|VM7kGu>uj8 z25)#m!Vs^!3yoM;PgjRB>_$4aAPuS5j7_jW&q)dt^pUPEG~*hYkdH7-gUOXz)h?-p z!Z$5-OLm4kSwAM*f1TNP+O~!|>^rP^R=X`$F)N`l<}gP=oRV+dnwJ@?gu5r1>DG+Q zyzeu;>faPm|4_yKUAmtuab7NA~cNm=*1m0qZ)_d z#CB}NQj8Fjm$-ut=yAJ*AS0u%CzUTJ%LUz^luCrEYHwG^8bk%}f=L%P6Gp#*b_tRZxyZX8Dj=^cx z7=3!^Db$Pm3@}agD}GgW7^psA0Au(GBj`gX+Hn+hs6+ua;AKQ&l#!CU1VfAa%->!7fe}v!Pr$`l9LHYl#x86{CgKr?SS-YBxI>17pPBG)(1A9zpcx0@ zKp_h7CNi)BixGiv(O?cdFsYHG8yLg@I&cb2*o8{uVhz%eibyQLT*#Ov41Z%1KjH`6 zLNCta3!KF+hs~&QmlQcJN~yJ&m1ko7m5I_>%D&QSC8;b^35)Te?xlQIw*FXH zxvWfV(JB+M9_q@sdo&UH?2S1Eo9sp9w%qWXq8H792O!B3m{gwnA!OVhCilQuEY4ZsNR}Q zdL<{?U)d0CVmlD!9m#CYE3%b^OKN8HpvJK=m!-yZeGIW>%ylO0Sm$)URwzKFh!q#;Q_>}`xalL6Q6?rRJ)BK2Ia{poob0qmz}FM=E(K@azDgq zSj&&f2z4MKThRfN=PU3o4Kg zEB>1{6LmL?lBfanLwqzYpcxH#A3L!FCCES$5*!>>;CTc=2Tyq58k@pJsA$4r9Kv># zAPcWxIp!k(b1)m?Lvj;0FobTL#z&~d9_&V*gM%H#C_)CTNI^2fA-*m;{7yzDAigqv o=!J?#9Kwg#feK{7iWDSkRatXeqsW$N<*68x*iO}br3bYC0H-NUTmS$7 diff --git a/www/assets/css/sprites.css b/www/assets/css/sprites.css new file mode 100644 index 000000000..a2bc38fe6 --- /dev/null +++ b/www/assets/css/sprites.css @@ -0,0 +1,1078 @@ +.sprite-aperture { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: 0 0; width: 16px; height: 16px; +} +.sprite-aperture:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: 0 0; width: 16px; height: 16px; +} +.sprite-aperture_alt { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: 0 -66px; width: 16px; height: 16px; +} +.sprite-aperture_alt:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: 0 -66px; width: 16px; height: 16px; +} +.sprite-arrow_down{ + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: 0 -132px; width: 16px; height: 16px; +} +.sprite-arrow_down:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: 0 -132px; width: 16px; height: 16px; +} +.sprite-arrow_down_alt1 { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: 0 -198px; width: 16px; height: 16px; +} +.sprite-arrow_down_alt1:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: 0 -198px; width: 16px; height: 16px; +} +.sprite-arrow_down_alt2 { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: 0 -264px; width: 16px; height: 16px; +} +.sprite-arrow_down_alt2:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: 0 -264px; width: 16px; height: 16px; +} +.sprite-arrow_left { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: 0 -330px; width: 16px; height: 16px; +} +.sprite-arrow_left:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: 0 -330px; width: 16px; height: 16px; +} +.sprite-arrow_left_alt1 { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: 0 -396px; width: 16px; height: 16px; +} +.sprite-arrow_left_alt1:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: 0 -396px; width: 16px; height: 16px; +} +.sprite-arrow_left_alt2 { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: 0 -462px; width: 16px; height: 16px; +} +.sprite-arrow_left_alt2:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: 0 -462px; width: 16px; height: 16px; +} +.sprite-arrow_right { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: 0 -528px; width: 16px; height: 16px; +} +.sprite-arrow_right:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: 0 -528px; width: 16px; height: 16px; +} +.sprite-arrow_right_alt1 { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: 0 -594px; width: 16px; height: 16px; +} +.sprite-arrow_right_alt1:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: 0 -594px; width: 16px; height: 16px; +} +.sprite-arrow_right_alt2 { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: 0 -660px; width: 16px; height: 16px; +} +.sprite-arrow_right_alt2:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: 0 -660px; width: 16px; height: 16px; +} +.sprite-arrow_up { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: 0 -726px; width: 16px; height: 16px; +} +.sprite-arrow_up:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: 0 -726px; width: 16px; height: 16px; +} +.sprite-arrow_up_alt1 { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: 0 -792px; width: 16px; height: 16px; +} +.sprite-arrow_up_alt1:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: 0 -792px; width: 16px; height: 16px; +} +.sprite-arrow_up_alt2 { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: 0 -858px; width: 16px; height: 16px; +} +.sprite-arrow_up_alt2:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: 0 -858px; width: 16px; height: 16px; +} +.sprite-article { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: 0 -924px; width: 16px; height: 16px; +} +.sprite-article:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: 0 -924px; width: 16px; height: 16px; +} +.sprite-at { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: 0 -990px; width: 16px; height: 16px; +} +.sprite-at:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: 0 -990px; width: 16px; height: 16px; +} +.sprite-bars { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: 0 -1056px; width: 16px; height: 16px; +} +.sprite-bars:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: 0 -1056px; width: 16px; height: 16px; +} +.sprite-bolt { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: 0 -1122px; width: 16px; height: 16px; +} +.sprite-bolt:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: 0 -1122px; width: 16px; height: 16px; +} +.sprite-book_alt { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: 0 -1188px; width: 16px; height: 16px; +} +.sprite-book_alt:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: 0 -1188px; width: 16px; height: 16px; +} +.sprite-box { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: 0 -1254px; width: 16px; height: 16px; +} +.sprite-box:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: 0 -1254px; width: 16px; height: 16px; +} +.sprite-brush { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: 0 -1320px; width: 16px; height: 16px; +} +.sprite-brush:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: 0 -1320px; width: 16px; height: 16px; +} +.sprite-brush_alt { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: 0 -1386px; width: 16px; height: 16px; +} +.sprite-brush_alt:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: 0 -1386px; width: 16px; height: 16px; +} +.sprite-calendar { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: 0 -1452px; width: 16px; height: 16px; +} +.sprite-calendar:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: 0 -1452px; width: 16px; height: 16px; +} +.sprite-calendar_alt_fill { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: 0 -1518px; width: 16px; height: 16px; +} +.sprite-calendar_alt_fill:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: 0 -1518px; width: 16px; height: 16px; +} +.sprite-calendar_alt_stroke { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: 0 -1584px; width: 16px; height: 16px; +} +.sprite-calendar_alt_stroke:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: 0 -1584px; width: 16px; height: 16px; +} +.sprite-camera { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: 0 -1650px; width: 16px; height: 16px; +} +.sprite-camera:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: 0 -1650px; width: 16px; height: 16px; +} +.sprite-cd { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: 0 -1716px; width: 16px; height: 16px; +} +.sprite-cd:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: 0 -1716px; width: 16px; height: 16px; +} +.sprite-chart { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: 0 -1782px; width: 16px; height: 16px; +} +.sprite-chart:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: 0 -1782px; width: 16px; height: 16px; +} +.sprite-chat { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: 0 -1848px; width: 16px; height: 16px; +} +.sprite-chat:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: 0 -1848px; width: 16px; height: 16px; +} +.sprite-chat_alt_fill { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: 0 -1914px; width: 16px; height: 16px; +} +.sprite-chat_alt_fill:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: 0 -1914px; width: 16px; height: 16px; +} +.sprite-chat_alt_stroke { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -66px 0; width: 16px; height: 16px; +} +.sprite-chat_alt_stroke:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -66px 0; width: 16px; height: 16px; +} +.sprite-check_alt { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -66px -66px; width: 16px; height: 16px; +} +.sprite-check_alt:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -66px -66px; width: 16px; height: 16px; +} +.sprite-clock { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -66px -132px; width: 16px; height: 16px; +} +.sprite-clock:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -66px -132px; width: 16px; height: 16px; +} +.sprite-cloud_download { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -66px -198px; width: 16px; height: 16px; +} +.sprite-cloud_download:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -66px -198px; width: 16px; height: 16px; +} +.sprite-cloud_upload { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -66px -264px; width: 16px; height: 16px; +} +.sprite-cloud_upload:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -66px -264px; width: 16px; height: 16px; +} +.sprite-cog { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -66px -330px; width: 16px; height: 16px; +} +.sprite-cog:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -66px -330px; width: 16px; height: 16px; +} +.sprite-compass { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -66px -396px; width: 16px; height: 16px; +} +.sprite-compass:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -66px -396px; width: 16px; height: 16px; +} +.sprite-cursor { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -66px -462px; width: 16px; height: 16px; +} +.sprite-cursor:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -66px -462px; width: 16px; height: 16px; +} +.sprite-denied { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -66px -528px; width: 16px; height: 16px; +} +.sprite-denied:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -66px -528px; width: 16px; height: 16px; +} +.sprite-dial { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -66px -594px; width: 16px; height: 16px; +} +.sprite-dial:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -66px -594px; width: 16px; height: 16px; +} +.sprite-document_fill { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -66px -660px; width: 16px; height: 16px; +} +.sprite-document_fill:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -66px -660px; width: 16px; height: 16px; +} +.sprite-document_stroke { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -66px -726px; width: 16px; height: 16px; +} +.sprite-document_stroke:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -66px -726px; width: 16px; height: 16px; +} +.sprite-eject { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -66px -792px; width: 16px; height: 16px; +} +.sprite-eject:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -66px -792px; width: 16px; height: 16px; +} +.sprite-equalizer { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -66px -858px; width: 16px; height: 16px; +} +.sprite-equalizer:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -66px -858px; width: 16px; height: 16px; +} +.sprite-eyedropper { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -66px -924px; width: 16px; height: 16px; +} +.sprite-eyedropper:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -66px -924px; width: 16px; height: 16px; +} +.sprite-first { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -66px -990px; width: 16px; height: 16px; +} +.sprite-first:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -66px -990px; width: 16px; height: 16px; +} +.sprite-folder_fill { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -66px -1056px; width: 16px; height: 16px; +} +.sprite-folder_fill:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -66px -1056px; width: 16px; height: 16px; +} +.sprite-folder_stroke { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -66px -1122px; width: 16px; height: 16px; +} +.sprite-folder_stroke:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -66px -1122px; width: 16px; height: 16px; +} +.sprite-fullscreen { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -66px -1188px; width: 16px; height: 16px; +} +.sprite-fullscreen:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -66px -1188px; width: 16px; height: 16px; +} +.sprite-fullscreen_alt { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -66px -1254px; width: 16px; height: 16px; +} +.sprite-fullscreen_alt:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -66px -1254px; width: 16px; height: 16px; +} +.sprite-fullscreen_exit { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -66px -1320px; width: 16px; height: 16px; +} +.sprite-fullscreen_exit:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -66px -1320px; width: 16px; height: 16px; +} +.sprite-fullscreen_exit_alt { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -66px -1386px; width: 16px; height: 16px; +} +.sprite-fullscreen_exit_alt:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -66px -1386px; width: 16px; height: 16px; +} +.sprite-home { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -66px -1452px; width: 16px; height: 16px; +} +.sprite-home:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -66px -1452px; width: 16px; height: 16px; +} +.sprite-image { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -66px -1518px; width: 16px; height: 16px; +} +.sprite-image:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -66px -1518px; width: 16px; height: 16px; +} +.sprite-key_fill { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -66px -1584px; width: 16px; height: 16px; +} +.sprite-key_fill:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -66px -1584px; width: 16px; height: 16px; +} +.sprite-key_stroke { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -66px -1650px; width: 16px; height: 16px; +} +.sprite-key_stroke:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -66px -1650px; width: 16px; height: 16px; +} +.sprite-last { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -66px -1716px; width: 16px; height: 16px; +} +.sprite-last:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -66px -1716px; width: 16px; height: 16px; +} +.sprite-layers_alt { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -66px -1782px; width: 16px; height: 16px; +} +.sprite-layers_alt:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -66px -1782px; width: 16px; height: 16px; +} +.sprite-link { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -66px -1848px; width: 16px; height: 16px; +} +.sprite-link:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -66px -1848px; width: 16px; height: 16px; +} +.sprite-loop { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -66px -1914px; width: 16px; height: 16px; +} +.sprite-loop:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -66px -1914px; width: 16px; height: 16px; +} +.sprite-magnifying_glass { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -132px 0; width: 16px; height: 16px; +} +.sprite-magnifying_glass:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -132px 0; width: 16px; height: 16px; +} +.sprite-minus_alt { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -132px -66px; width: 16px; height: 16px; +} +.sprite-minus_alt:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -132px -66px; width: 16px; height: 16px; +} +.sprite-moon_fill { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -132px -132px; width: 16px; height: 16px; +} +.sprite-moon_fill:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -132px -132px; width: 16px; height: 16px; +} +.sprite-moon_stroke { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -132px -198px; width: 16px; height: 16px; +} +.sprite-moon_stroke:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -132px -198px; width: 16px; height: 16px; +} +.sprite-move { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -132px -264px; width: 16px; height: 16px; +} +.sprite-move:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -132px -264px; width: 16px; height: 16px; +} +.sprite-move_alt1 { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -132px -330px; width: 16px; height: 16px; +} +.sprite-move_alt1:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -132px -330px; width: 16px; height: 16px; +} +.sprite-move_alt2 { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -132px -396px; width: 16px; height: 16px; +} +.sprite-move_alt2:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -132px -396px; width: 16px; height: 16px; +} +.sprite-move_horizontal_alt2 { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -132px -462px; width: 16px; height: 16px; +} +.sprite-move_horizontal_alt2:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -132px -462px; width: 16px; height: 16px; +} +.sprite-move_vertical_alt2 { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -132px -528px; width: 16px; height: 16px; +} +.sprite-move_vertical_alt2:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -132px -528px; width: 16px; height: 16px; +} +.sprite-movie { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -132px -594px; width: 16px; height: 16px; +} +.sprite-movie:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -132px -594px; width: 16px; height: 16px; +} +.sprite-new_window { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -132px -660px; width: 16px; height: 16px; +} +.sprite-new_window:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -132px -660px; width: 16px; height: 16px; +} +.sprite-pen { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -132px -726px; width: 16px; height: 16px; +} +.sprite-pen:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -132px -726px; width: 16px; height: 16px; +} +.sprite-pen_alt2 { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -132px -792px; width: 16px; height: 16px; +} +.sprite-pen_alt2:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -132px -792px; width: 16px; height: 16px; +} +.sprite-pen_alt_fill { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -132px -858px; width: 16px; height: 16px; +} +.sprite-pen_alt_fill:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -132px -858px; width: 16px; height: 16px; +} +.sprite-pen_alt_stroke { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -132px -924px; width: 16px; height: 16px; +} +.sprite-pen_alt_stroke:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -132px -924px; width: 16px; height: 16px; +} +.sprite-pin { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -132px -990px; width: 16px; height: 16px; +} +.sprite-pin:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -132px -990px; width: 16px; height: 16px; +} +.sprite-play_alt { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -132px -1056px; width: 16px; height: 16px; +} +.sprite-play_alt:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -132px -1056px; width: 16px; height: 16px; +} +.sprite-plus { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -132px -1122px; width: 16px; height: 16px; +} +.sprite-plus:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -132px -1122px; width: 16px; height: 16px; +} +.sprite-plus_alt { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -132px -1188px; width: 16px; height: 16px; +} +.sprite-plus_alt:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -132px -1188px; width: 16px; height: 16px; +} +.sprite-read_more { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -132px -1254px; width: 16px; height: 16px; +} +.sprite-read_more:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -132px -1254px; width: 16px; height: 16px; +} +.sprite-rss { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -132px -1320px; width: 16px; height: 16px; +} +.sprite-rss:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -132px -1320px; width: 16px; height: 16px; +} +.sprite-rss_alt { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -132px -1386px; width: 16px; height: 16px; +} +.sprite-rss_alt:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -132px -1386px; width: 16px; height: 16px; +} +.sprite-share { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -132px -1452px; width: 16px; height: 16px; +} +.sprite-share:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -132px -1452px; width: 16px; height: 16px; +} +.sprite-spin_alt { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -132px -1518px; width: 16px; height: 16px; +} +.sprite-spin_alt:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -132px -1518px; width: 16px; height: 16px; +} +.sprite-star { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -132px -1584px; width: 16px; height: 16px; +} +.sprite-star:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -132px -1584px; width: 16px; height: 16px; +} +.sprite-steering_wheel { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -132px -1650px; width: 16px; height: 16px; +} +.sprite-steering_wheel:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -132px -1650px; width: 16px; height: 16px; +} +.sprite-stop { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -132px -1716px; width: 16px; height: 16px; +} +.sprite-stop:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -132px -1716px; width: 16px; height: 16px; +} +.sprite-sun_fill { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -132px -1782px; width: 16px; height: 16px; +} +.sprite-sun_fill:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -132px -1782px; width: 16px; height: 16px; +} +.sprite-sun_stroke { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -132px -1848px; width: 16px; height: 16px; +} +.sprite-sun_stroke:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -132px -1848px; width: 16px; height: 16px; +} +.sprite-tag_fill { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -132px -1914px; width: 16px; height: 16px; +} +.sprite-tag_fill:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -132px -1914px; width: 16px; height: 16px; +} +.sprite-tag_stroke { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -198px 0; width: 16px; height: 16px; +} +.sprite-tag_stroke:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -198px 0; width: 16px; height: 16px; +} +.sprite-target { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -198px -66px; width: 16px; height: 16px; +} +.sprite-target:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -198px -66px; width: 16px; height: 16px; +} +.sprite-trash_fill { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -198px -132px; width: 16px; height: 16px; +} +.sprite-trash_fill:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -198px -132px; width: 16px; height: 16px; +} +.sprite-trash_stroke { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -198px -198px; width: 16px; height: 16px; +} +.sprite-trash_stroke:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -198px -198px; width: 16px; height: 16px; +} +.sprite-umbrella { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -198px -264px; width: 16px; height: 16px; +} +.sprite-umbrella:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -198px -264px; width: 16px; height: 16px; +} +.sprite-undo { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -198px -330px; width: 16px; height: 16px; +} +.sprite-undo:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -198px -330px; width: 16px; height: 16px; +} +.sprite-wrench { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -198px -396px; width: 16px; height: 16px; +} +.sprite-wrench:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -198px -396px; width: 16px; height: 16px; +} +.sprite-x_alt { + display: inline-block; + margin: 5px; + background: url(/assets/images/sprite-gray.png) no-repeat top left; + background-position: -198px -462px; width: 16px; height: 16px; +} +.sprite-x_alt:hover { + cursor: pointer; + background: url(/assets/images/sprite-black.png) no-repeat top left; + background-position: -198px -462px; width: 16px; height: 16px; +} diff --git a/www/assets/images/.DS_Store b/www/assets/images/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 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 literal 0 HcmV?d00001 diff --git a/www/assets/images/sprite-gray.png b/www/assets/images/sprite-gray.png new file mode 100644 index 0000000000000000000000000000000000000000..eb85c398015bcf918247b6146e2baee2b7b133f8 GIT binary patch literal 23540 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 P%Pu=@1GTO?>3!{QU*6Mr literal 0 HcmV?d00001 diff --git a/www/assets/js/admin_restaurant.js b/www/assets/js/admin_restaurant.js index 3b9cf4b3e..9af175128 100644 --- a/www/assets/js/admin_restaurant.js +++ b/www/assets/js/admin_restaurant.js @@ -372,6 +372,12 @@ var WIDGET = { type : 'dish', }); }); + $(category_dom).find('.move_category_down').first().click(function() { + console.log('asdf'); + }); + $(category_dom).find('.move_category_up').first().click(function() { + console.log('asdf'); + }); }; this.apply = function(restaurant) { this.reset_dom(); @@ -400,6 +406,12 @@ var WIDGET = { option['id_option_parent'] = 'BASIC'; option['id_restaurant'] = ADMIN.id_restaurant; option['default'] = $(option_dom).find('.admin-menu-option-default').is(':checked') ? '1' : '0'; + if(dish._options.length === 0) { + option['sort'] = 1; + } + else { + option['sort'] = dish._options[dish._options.length - 1]['sort'] + 1; + } dish._options.push(option); }; this.flush_option_group = function(dish, option_group_dom) { @@ -420,6 +432,13 @@ var WIDGET = { }); if(/^basic options$/i.exec(option_group.name)) { return; } if($(option_group_dom).find('.admin-menu-option').length === 0) { return; } + + if(dish._options.length === 0) { + option_group['sort'] = 1; + } + else { + option_group['sort'] = dish._options[dish._options.length - 1]['sort'] + 1; + } dish._options.push(option_group); }; this.flush_dish = function(category, dish_dom) { @@ -438,6 +457,12 @@ var WIDGET = { $(dish_dom).find('.admin-menu-option-group').each(function(index, option_group_dom) { self.flush_option_group(dish, option_group_dom); }); + if(category._dishes.length === 0) { + dish['sort'] = 1; + } + else { + dish['sort'] = category._dishes[category._dishes.length - 1]['sort'] + 1; + } category._dishes.push(dish); }; this.flush_category = function(categories, category_dom) { @@ -453,6 +478,12 @@ var WIDGET = { $(category_dom).find('.admin-menu-dish').each(function(index, dish_dom) { self.flush_dish(category, dish_dom); }); + if(categories.length === 0) { + category['sort'] = 1; + } + else { + category['sort'] = categories[categories.length - 1]['sort'] + 1; + } categories.push(category); }; this.flush = function(restaurant) { @@ -684,7 +715,9 @@ var ADMIN = { { type : 'sav', data : { - serialized_data : $.param(ADMIN.restaurant), + // uncomment here and in controller to use serialization + // serialized_data : $.param(ADMIN.restaurant), + data : ADMIN.restaurant, obj : 'restaurant' }, From 31b11aa287bb87a79828f835d5b01e807adcaeeb Mon Sep 17 00:00:00 2001 From: BDC Date: Wed, 17 Apr 2013 16:48:30 -0400 Subject: [PATCH 09/10] rm .ds_store files --- www/assets/css/.DS_Store | Bin 6148 -> 0 bytes www/assets/images/.DS_Store | Bin 6148 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 www/assets/css/.DS_Store delete mode 100644 www/assets/images/.DS_Store diff --git a/www/assets/css/.DS_Store b/www/assets/css/.DS_Store deleted file mode 100644 index e3ebf9d8c6cbe7e745320a745485baa4dbde6e6d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK%TB{E5FA4fm3rxsqrZTNKd`FyhI-)#pn!l2REZ<5`Si{{Ktu$NNI|=nch>7& zKSqij14x_x;R;v-Sh5NxF(yRZlU-*XESPkRibr&~#69&qMAp9IYL95~g0JiEj`eWe zceQ0i#*_9o+*ykruf%5@XjPUswi~=_X>iBUI`UAdC0<(1ue0oZmLJwJ4FeUXspEf7WoMVi-CY2nNOsoLh4(_y3Nc%;Y0~ zoD!{IAQ<>(45Y>OX1n30{BHfWJ-KT$>n*E@#0_FlXpepZ*pPGNLOZQLi_N&=I2g(( S;@5Oy{0Jx^p@M-wVBiGDJ}tQb diff --git a/www/assets/images/.DS_Store b/www/assets/images/.DS_Store deleted file mode 100644 index 5008ddfcf53c02e82d7eee2e57c38e5672ef89f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0 Date: Wed, 17 Apr 2013 16:48:55 -0400 Subject: [PATCH 10/10] rm .ds_store files --- .gitignore | 1 + www/assets/js/.admin.js.swp | Bin 69632 -> 0 bytes 2 files changed, 1 insertion(+) delete mode 100644 www/assets/js/.admin.js.swp diff --git a/.gitignore b/.gitignore index 3f20b5797..3b96f8f1c 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,7 @@ *.psd *.sql *.zip +*.DS_Store *~ # config and specific files diff --git a/www/assets/js/.admin.js.swp b/www/assets/js/.admin.js.swp deleted file mode 100644 index 3cc4255a2d4d183e7b50fd2245c9abf06b252c02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69632 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