Katello/converge-ui — pull request #92 by jtomasek (2012-10-16 12:50:31+00:00)
Title: 84 - Changes to accomodate non-js version of login

#### Login Template structure (bottom to top):

* app/views/user_sessions/new.html.haml renders the app/views/layouts/converge-ui/_login_layout.html.haml partial with locals specifying form paths.
* Login-related controller(s) use layout "login"
* app/views/layouts/login.html.haml layout that includes contents_for head with styles, js, login_logo, title, notifications etc. that are common for all the login views.
This layout renders app/views/layouts/converge-ui/_user_session_layout.html.haml partial which then renders app/views/layouts/converge-ui/_base.html.haml partial.

#### Changes in converge-ui:

Login page consists of several cards each for login, password reset and usernames recovery. These cards are present in one common partial
(converge-ui/rails/layouts/_login_layout.html.haml). All cards except for default one (login) have class slidable which marks them as not visible and prepared to be slided in.
In js version the cards are slided in from the left when the one of the "Forgot" links are clicked. In non-js version, "Forgot" links are pointing to the same path as login page
but based on it's "card" parameter value, the corresponding card is displayed.

Custom cards like Interstitial should be added same way as slidable cards.

The app/views/layouts/converge-ui/_change_password_layout.html.haml partial is rendered separately from the view that takes care of changing the password
(eg. app/views/password_resets/edit.html.haml)

#### Benefits:

* js and non-js support
* configurable form action paths

Note:
I left the get_string helper in place as conductor is transfering to gettext, so we will be able to get rid of these later.

Related issue: https://github.com/Katello/converge-ui/issues/84
Note that description in the issue does not 100% respond to reality in this patch
I will also send patch for converge-ui example soon.