NAME
    Dancer::Plugin::Nitesi - Nitesi Shop Machine plugin for Dancer

VERSION
    Version 0.0032

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();

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');

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_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

  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-2011 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