NAME Dancer::Plugin::Nitesi - Nitesi Shop Machine plugin for Dancer VERSION Version 0.0060 SYNOPSIS use Dancer::Plugin::Nitesi; cart->add({sku => 'ABC', name => 'Foobar', quantity => 1, price => 42}); cart->items(); cart->clear(); account->login(username => 'frank@nitesi.com', password => 'nevairbe'); account->acl(check => 'view_prices'); account->logout(); DESCRIPTION This dancer plugin gives you access to the account and cart functions of the Nitesi shop machine. CARTS The cart keyword returns a Nitesi::Cart object with the corresponding methods. You can use multiple carts like that: cart('wishlist')->add({sku => 'ABC', name => 'Foobar', quantity => 1, price => 42}); cart('wishlist')->total; The DBI backend (Dancer::Plugin::Nitesi::Cart::DBI) allows you to load carts of arbitrary users. cart('', 123)->items; ACCOUNTS The account keyword returns a Nitesi::Account::Manager object with the corresponding methods. Login to an account: account->login(username => 'frank@nitesi.com', password => 'nevairbe'); Logout: account->logout(); Check permissions: account->acl(check => 'view_prices'); Change password for current account: account->password('nevairbe'); Change password for other account: account->password(username => 'frank@nitesi.com', password => 'nevairbe'); Create account: account->create(email => 'fina@nitesi.com'); HOOKS This plugin installs the following hooks: before_cart_add Triggered before item is added to the cart. after_cart_add Triggered after item is added to the cart. Used by DBI backend to save item to the database. before_cart_update Triggered before cart item is updated (changing quantity). after_cart_update Triggered after cart item is updated (changing quantity). Used by DBI backend to update item to the database. before_cart_remove Triggered before item is removed from the cart. after_cart_remove Triggered after item is removed from the cart. Used by DBI backend to delete item from the database. before_cart_clear Triggered before cart is cleared. after_cart_clear Triggered after cart is cleared. before_cart_rename Triggered before cart is renamed. after cart_rename Triggered after cart is renamed. CONFIGURATION The default configuration is as follows: plugins: Nitesi: Account: Session: Key: account Provider: DBI Cart: Backend: Session Product: backend: DBI table: products key: sku ACCOUNT Connection The connection used by Dancer::Plugin::Database can be set as follows: plugins: Nitesi: Account: Provider: DBI Connection: shop Fields Extra fields can be retrieved from the account provider and put into the session after a successful login: plugins: Nitesi: Account: Provider: DBI Fields: first_name,last_name,city CAVEATS Please anticipate API changes in this early state of development. AUTHOR Stefan Hornburg (Racke), `racke@linuxia.de' BUGS Please report any bugs or feature requests to `bug-nitesi at rt.cpan.org', or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Dancer-Plugin-Nitesi. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. SUPPORT You can find documentation for this module with the perldoc command. perldoc Dancer-Plugin-Nitesi You can also look for information at: * RT: CPAN's request tracker (report bugs here) http://rt.cpan.org/NoAuth/Bugs.html?Dist=Dancer-Plugin-Nitesi * AnnoCPAN: Annotated CPAN documentation http://annocpan.org/dist/Dancer-Plugin-Nitesi * CPAN Ratings http://cpanratings.perl.org/d/Dancer-Plugin-Nitesi * Search CPAN http://search.cpan.org/dist/Dancer-Plugin-Nitesi/ ACKNOWLEDGEMENTS The Dancer developers and community for their great application framework and for their quick and competent support. LICENSE AND COPYRIGHT Copyright 2010-2012 Stefan Hornburg (Racke). This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License. See http://dev.perl.org/licenses/ for more information. SEE ALSO Nitesi