Commit Graph

226 Commits

Author SHA1 Message Date
Adam Young
3390319f4c user associations
user assocaitions had been removed.  This adds them back in.
2011-01-04 22:58:27 -05:00
Pavel Zuna
2f2c67cb59 Improvements to enrollments in the webUI.
TAKE 1

- Enrollement links in the action panel are now sorted by relationships.
- You can only enroll members.
  (The webUI made the impression you can enroll parents as well, but it was
   broken.)
- When enrolling new members, you can choose not to display already enrolled
  ones. (On by default.)
- Couple cosmetic changes.
2011-01-04 21:56:38 -05:00
Pavel Zuna
3ded0826cf Disable action panel links when the selected entry is deleted.
Fix #685
2011-01-03 14:33:59 -05:00
Adam Young
c2a2433657 fail clean add and edit
Don't close the dialog if the add fails and the user clickes
add and edit
fixes. https://fedorahosted.org/freeipa/ticket/663
2011-01-03 11:42:39 -05:00
Adam Young
e0c95e235c Remove description field from config
This field does not exist

https://fedorahosted.org/freeipa/ticket/677
2010-12-23 14:57:59 -05:00
Adam Young
247e2a263b fix reset passwrod
The way we store the user object returned from user-find --whoami changed, and this code was not updated
2010-12-23 14:12:33 -05:00
Adam Young
eb6f215246 hide autommount
since automount is not yet implemented, remove it from the menu
2010-12-23 09:57:58 -05:00
Adam Young
82b03ddfc1 hidden filter
The filter field on aci add is hidden, and prefilled with an object class that doesn't exist.

Fixed the error where the other fields were removed
2010-12-22 12:48:26 -05:00
Rob Crittenden
d84ffd9e54 Move permissions and privileges to their own container, cn=pbac,$SUFFIX
ticket 638
2010-12-22 11:26:49 -05:00
Adam Young
2cb53ec8d0 populate the group select upon initial creation
Fixes the delegation add dialog
2010-12-21 13:37:23 -05:00
Adam Young
023f92f517 additions to patch 118 2010-12-20 23:32:06 -05:00
Adam Young
07ace112af aci ui
Implements the role, privilege, permission, delegation and selfservice entities ui.

Targetgroup has been added to the object types.
The groups lists need to be filter.  The filter is currently hidden, with a
hyperlink that reads 'filter' to unhide it.  Each keystroke in this filter
performs an AJAX request to the server.

There are bugs on the server side that block some of the functionality from
completing

Creating a Permission requires one of 4 target types. The add dialog in this
version assumes the user will want to create a filter type. They can change
this on the edit page.

Most search results come back with the values as arrays, but ACIs seem not to.
Search and details both required special code to handle non-arrays.

The unit tests now make use of the 'module' aspect of QUnit.  This means that
future unit test will also need to specify the module.  The advantage is that
multiple tests can share a common setup and teardown.

Bugs that need to be fixed before this works 100% are
https://fedorahosted.org/freeipa/ticket/634
https://fedorahosted.org/freeipa/ticket/633
2010-12-20 23:32:06 -05:00
Adam Young
fc4ce7dc8c cusor pointer for undo link 2010-12-20 22:58:16 -05:00
Jakub Hrozek
7493d781df Change FreeIPA license to GPLv3+
The changes include:
 * Change license blobs in source files to mention GPLv3+ not GPLv2 only
 * Add GPLv3+ license text
 * Package COPYING not LICENSE as the license blobs (even the old ones)
   mention COPYING specifically, it is also more common, I think

 https://fedorahosted.org/freeipa/ticket/239
2010-12-20 17:19:53 -05:00
Adam Young
67d1c07112 kinit typo
Was origially KInit  but the command is kinit
2010-12-17 16:36:48 -05:00
Adam Young
00ebf8c4e3 error link
Change the link in the error message to the one that will actually fix the problem
2010-12-17 16:27:11 -05:00
Endi S. Dewata
cec6703da3 Account activation adjustment
The user details facet has been modified such that when the account
is activated/deactivated the page will be reloaded.

Some methods in the framework have been changed:
 - The ipa_widget.clear() has been removed because it can be replaced
   by existing reset().
 - The ipa_widget.set_values() has been renamed into update().
2010-12-14 16:45:41 -05:00
Kyle Baker
fea4d3880a button and table styling
replaced expand contract +- with icons
removed background for action buttons and gave them their own class
Major css cleanup
2010-12-10 10:17:34 -05:00
Endi S. Dewata
0938fb70ee Section header prefix update
The '+' and '-' signs before the section headers in details facet
are now enclosed in square brackets. The section content is now
hidden/shown using slideToggle().

The ipa_details_create() and ipa_details_setup() have been moved
into ipa_details_facet.
2010-12-09 15:54:01 -05:00
Endi S. Dewata
db822955c2 SUDO adjustments
The SUDO rule details facet has been updated to support the latest UI
spec. The facet consists of 5 sections: general, users, hosts, commands,
and run-as.

The general section contains the SUDO rule description and status. If
the status is changed, the sudorule-enable/disable will be invoked.

The other sections contain radio buttons for the association category
and tables for the members. When a member is added or removed, the
category will be adjusted appropriately. If the category is changed to
'all', 'allow', or 'deny', all members will be removed.

The last section is currently not working because backend support is
not yet available.

The adder dialog boxes for users, groups, and hosts has been modified
to accept external identities. The layout for the base adder dialog
was updated. The base dialog class was updated to support templates.
The SUDO dialog boxes were implemented using templates. New CSS
classes were added to ipa.css.

The HBAC rule details facet has been updated as well.
2010-12-09 15:51:06 -05:00
Adam Young
6a5b308c9b remove URL from error messages.
URL was always ipa/json. This means nothing to the end user.
2010-12-08 16:41:31 -05:00
Endi S. Dewata
deb94b150d Navigation updates
The entity.default_facet has been removed, instead the first facet
registered to the entity will be considered as the default facet.
So, the 'setup' parameter has been removed from tab definitions
because it's no longer necessary. The ipa_details_only_setup() has
been removed as well.

An 'entity' parameter has been added to tab definitions to specify
which entity corresponds to a tab item. The tab label has been
changed to use entity label if available.

Some hard-coded labels have been removed. The unit tests have been
updated.
2010-12-07 17:54:04 -05:00
Adam Young
78786a6995 nested entity navigation Made the mechanism for caluculating nested eneties more general, so that we don't have to hard code for SUDO and HBAC, and now to support ACI 2010-12-07 14:05:52 -05:00
Endi S. Dewata
6350686710 Dialog i18n
The ipa_add_dialog has been fixed to initialize the fields which
will get the labels from metadata. Hard-coded labels have been
removed from field declarations.

The superior() method has been removed because it doesn't work with
multi-level inheritance. Superclass method for now is called using
<class name>_<method> (e.g. widget_init).
2010-12-06 20:16:15 -05:00
Endi S. Dewata
ca436d9ec3 SUDO Command Groups adjustments
The association facet for SUDO Command Groups has been removed and
replaced with an association table in the details page.
2010-12-06 20:11:46 -05:00
Endi S. Dewata
95ea68a217 Column i18n
The ipa_column has been modified to get the label from metadata
during initialization. The ipa_table_widget has been modified to
initialize the columns. Hard-coded labels have been removed from
column declarations.

The ipa_adder_dialog has been modified to execute a search at the
end of setup.
2010-12-06 20:09:38 -05:00
Endi S. Dewata
69e77212ea HBAC Service Groups adjustments
The association facet for HBAC Service Groups has been removed
and replaced with an association table in the details page.

The ipa_association_table_widget has been modified to support
multiple columns in the table itself and in the adder dialog.
The ipa_association_adder_dialog and ipa_association_facet have
been refactored.

The ipa_sudorule_association_widget and ipa_rule_association_widget
has been removed because their functionalities have been merged into
ipa_association_table_widget.
2010-12-06 15:29:02 -05:00
Adam Young
10f3c0825b entity i18n
Updated the user,group,host, hostgroup, netgroup, service, and all policy
entities to use the newer framework functions, in order to
replaced the old array style definitions which did not support i18n.
update a few of the newer framerwork functions to get the lables from the
meta data.

Fixed the unit tests which were expecting a details facet for users,
no longer automatically created
2010-12-06 12:52:47 -05:00
Endi S. Dewata
867ac1f03d Fixed association links
The create_association_facets() has been modified such that it
does not generate duplicate links. This is done by assigning the
proper labels and hiding non-assignable associations.

Each association will get a label based on the attribute used:
 - memberof: Membership in <entity name>
 - member.*: <entity name> Members
 - managedby: Managed by <entity name>

The following associations will be hidden:
 - memberindirect
 - enrolledby

The internal.py was modified to return localized labels.

The test data has been updated.
2010-12-03 12:57:43 -05:00
Endi S. Dewata
929cd85805 Removed HBAC Access Time
The interface for access time has been removed from HBAC details
page. The code has been commented out, but not removed.
2010-12-03 12:57:24 -05:00
Adam Young
e33377bc13 dns2 ui replaceing calls for the dns plugin to the dns2 plugin no has attribute permissions and all other benefits of building on the baseldap plugin 2010-12-03 11:42:38 -05:00
Endi S. Dewata
fabc522f64 Fixed buttons in enrollment dialog
The Find, Add, and Remove buttons in the enrollment dialog have
been replaced with ipa_buttons.
2010-12-02 22:06:08 -05:00
Adam Young
e382472fce tooltips uses the doc field for tooltips on text fields on the details pages 2010-12-02 18:12:02 -05:00
Endi S. Dewata
fb9ba5bb5c UI for host managedby
A custom facet has been added to manage the host's managedby attribute.
The facet defines the add and remove methods, the columns for the
association table and enrollment dialog, and the link for the primary
key column.
2010-12-02 13:42:40 -05:00
Adam Young
6c2391b6b3 associate search automatically perfomr the no-args search for enrollment-adder pages 2010-12-02 13:09:13 -05:00
Endi S. Dewata
c0eb2b60c8 Multicolumn enrollment dialog
The enrollment dialog has been modified to use scrollable tables that
supports multiple columns to display the search results and selected
entries. The columns are specified by calling create_adder_column()
on the association facet. By default the tables will use only one
column which is to display the primary keys.

The following enrollment dialogs have been modified to use multiple
columns:
 - Group's member_user
 - Service's managedby_host
 - HBAC Service Group's member_hbacsvc
 - SUDO Command Group's member_sudocmd

The ipa_association_table_widget's add() and remove() have been moved
into ipa_association_facet so they can be customized by facet's
subclass. The ipa_table's add_row() has been renamed to add_record().

Some old code has been removed from ipa_facet_create_action_panel().
The code was used to generate association links from a single facet.
It's no longer needed because now each association has its own facet.

The test data has been updated. The IPA.nested_tabs() has been fixed
to return the entity itself if IPA.tab_set is not defined. This is
needed to pass unit test.
2010-12-02 12:14:07 -05:00
Endi S. Dewata
620c085ebf Certificate management with self-signed CA
The certificate_status_widget has been modified to check for the
environment variable ra_plugin to determine the CA used by IPA
server. If self-signed CA is used, some operations will not be
available (e.g. checking certificate status, revoking/restoring
certificate), so the corresponding interface will be hidden. Other
operations such as creating new certificate and viewing certificate
are still available.
2010-12-02 11:54:58 -05:00
Adam Young
27b01cb628 remove task and role groups since these entites are no longer exposed in the Meta data, including them in the code causes breakage at initialization 2010-12-02 11:48:29 -05:00
Adam Young
85d5bfd1b1 admin determination
extends the logic for showing the admin or self service ui to admins by checking for membership in the group admins
added check for group admins
2010-12-01 20:22:30 -05:00
Adam Young
47d61e6cab action panel sibling added function to get sibling entities from the tab set. remove explicit sibling code from entity pages Modified the Label fields on HBAC and SUDO to make them appear cleaner in the UI 2010-12-01 15:21:02 -05:00
Endi S. Dewata
c90bff232d Multicolumn association facet
The association facet has been modified to support multiple columns.
By default the facet will have one column which is the primary key of
the associated object (e.g. username of a group member), so the
existing code will work like before. Other fields (e.g. user's full
name) can be added by subclassing the ipa_association_facet class and
specifying the additional columns to display. These additional fields
will be retrieved using a batch operation.

Previously a single association facet instance will be used for all
associations in an entity. Now each association will have its own
association facet. This way each association facet can be customized
differently as needed. The <entity>-enroll URL parameter has been
removed because it's no longer needed.

The ipa_entity.create_association_facets() is provided to generate
the default association facets with one column for the primary key.

The column click handler has been moved out of ipa_column to provide
more flexibility for customization.

The get_action_panel() and get_client_area() have been modified to
search within the entity's container.

The group entity has been fully converted to use the new UI framework.

Association facets that have been modified to use multiple columns are:
 - User Group's member_user
 - HBAC Service Group's member_hbacsvc
 - SUDO Command Group's member_sudocmd
 - Service's managedby_host

New test data files have been added. Unit tests have been updated.
2010-11-30 14:58:30 -05:00
Endi S. Dewata
df48c9cf71 Fixed navigation problem with nested entities.
Replaced _entity with -entity in IPA.tab_state().
Replaced sudo-entity with sudorule-entity.
2010-11-29 21:13:34 -05:00
Adam Young
7b91e9d83d top nav index allows links between differnt top level tabs by calculating the index of the top level tab for the target tab. new version creats third level navigation for nested entities, such as SUDO and HBAC 2010-11-29 21:13:26 -05:00
Adam Young
5bfb1a004a quote class member
the class member variable is a reserved keyword in Javascript.
This patch fixes a syntax error.
2010-11-29 09:46:39 -05:00
Adam Young
091099480f navigation format UXD guidance to cleanup navigation. adjusts the tab font 2010-11-24 20:30:43 -05:00
Adam Young
841c290113 action panel formatting
Cleans up the indentation of the action panel
Puts the sudo and HBAC entries in a consistent order
2010-11-24 20:30:34 -05:00
Endi S. Dewata
b9f539ba19 SUDO Commands and Command Groups
The SUDO Commands and Command Groups pages have been added under
SUDO Rules tab.

Similar to HBAC navigation issue, these entities do not have their
own tab, so an exception has been added to the navigation code
to read sudo-entity parameter to determine the entity being viewed.
Fixing this issue will require framework changes.

New test data for these operations have been added.
2010-11-22 15:37:17 -05:00
Endi S. Dewata
27d8529a84 Fixed action panel queries
Previously the queries for action panel were done globally. Since each
entity container has its own action panel, the queries will return multiple
results. This is fixed by qualifying the query to run within the entity
container.

The query has also been moved into ipa_facet.get_action_panel(). Entities
that do not have their own entity container (e.g. HBAC services and service
groups) will need to override this method to get the action panel from the
right entity container (e.g. HBAC rules).

The facet.setup_views() has been renamed to facet.create_action_panel().
New test data for SUDO rules have been added.
2010-11-22 15:28:42 -05:00
Endi S. Dewata
3e540272c6 Multivalued email address 2010-11-20 02:31:40 -05:00
Endi S. Dewata
5c4dc1c2e9 Use radio buttons for HBAC rule type
To be consistent with the details page, the rule type in the HBAC
add dialog box has been converted into radio buttons.
2010-11-19 13:26:41 -05:00
Endi S. Dewata
3e1dc6b74f Host Enrollment via OTP
The support for host enrollment via one-time-password has been added.
When submitted, the OTP will be used to set the host's userpassword.

Previously each IPA command can only have one JSON test data file.
The ipa_cmd() has been modifies to accept an optional command name.
When used with static files, it will pull the test data whose name
is the same as the command name.

The batch.json has been renamed to ipa_init.json for UI initialization.
Some test data have been added for operations against specific hosts.
2010-11-19 13:26:41 -05:00
Endi S. Dewata
c07bac8c00 Sample data for service provisioning 2010-11-19 12:31:04 -05:00
Adam Young
6419186319 tab width
fixes the spacing and width for the top and second row of tabs
2010-11-19 16:59:48 -05:00
Endi S. Dewata
379a9cc41f SUDO Rule Search and Details Pages
The search and details pages for SUDO Rule have been added. Codes
that are shared with HBAC have been moved to rule.js.

The following methods were renamed for consistency:
 - ipa_details_load() -> ipa_details_refresh()
 - ipa_details_display() -> ipa_details_load()

The ipa_details_cache has been removed because the cache is now
stored in each widget.

The index.xhtml has been removed. All references to it has been
changed to index.html.

The Unselect All checkbox has been fixed. Unnecessary parameter
'container' has been removed.

The unit test has been updated and new test data has been added.
2010-11-19 16:53:30 -05:00
Rob Crittenden
eead9eec99 Fix build error due to rename of index.xhtml to index.html 2010-11-19 09:37:03 -05:00
Adam Young
5a34976779 add button the spec had three add buttons: this one is the basic, 'add and then close' https://fedorahosted.org/freeipa/ticket/471 2010-11-19 02:26:01 -05:00
Adam Young
9fa855edfe removed index.xhtml
also removed language on html, as the same page should be used for all languages.
2010-11-19 02:25:50 -05:00
Adam Young
747781fa45 env init call the json rpc 'env' during ipa init and cache the result 2010-11-18 23:45:06 -05:00
Adam Young
775fc23738 batch init this batches together the calls to json_metadata, i18n_messages, and user-find [whoami] tostreamline the init process, and also allow us to add a call to enumerate the plugins. 2010-11-18 20:02:45 -05:00
Endi S. Dewata
5da8313b66 Service and Host Provisioning
The service and host details pages have been modified to display Kerberos
key provisioning status and to provide a way to unprovision. The host
enrollment via OTP has not been implemented yet.

The ipa_details_field has been modified to remove any old <dd> tags it
created in the previous load operation. This is to support other widgets
that need to perform load operation without removing <dd> tags.

The certificate_status_panel has been converted into a widget. The host
entity has been rewritten using the new framework.

The unit tests has been updated.
2010-11-18 10:12:18 -05:00
Adam Young
b42271c47d CSS cleanup post UXD discussion 2010-11-17 22:12:22 -05:00
Adam Young
632639b62d action select
if exactly one entity is selected, it enables the entity-facet links in the
action panel, and sets the pkey in bbq to the pkey of the selected
2010-11-17 21:50:03 -05:00
Adam Young
7abd8c6ecb buttons to action panel puts the buttons as the top li in the action panel 2010-11-16 11:20:20 -05:00
Adam Young
b84b0239f8 HBAC css cleanup
The additions to the search widget have to go one level deeper, as
'container' has both the action panel and the client area

Conflicts:

	install/static/hbac.js
	install/static/hbacsvc.js
	install/static/hbacsvcgroup.js
2010-11-16 11:20:02 -05:00
Adam Young
59cc365a1d demo deploy Makes it easier to deploy demos. This version will demo cleanly from html providing you just set
that.use_static_files = true;

in the IPA definition section
2010-11-16 11:19:55 -05:00
Adam Young
455bf4d288 px to em
Making all of the page elements based on the font size.
Also, set the font to the defauklt for the browser.
By default, most brosers have Font set to 16px.
2010-11-16 11:19:34 -05:00
Adam Young
9ea16ebce5 entity container size
No longer wastes %20 of the the page in the entity container.
2010-11-15 13:54:33 -05:00
Endi S. Dewata
9c502641b5 HBAC details page enhancement
The HBAC details page has been enhanced to support Undo and Reset operations.
The functionality is implemented in the base widget class so the behavior
will be more consistent across widgets. A <span> tag now used to define the
field boundary in the HTML doc. The tag contains the visual representation
of the field which include the input tag and optionally the undo link.

The Update method on HBAC details page has been modified so that it executes
several operations using a batch command. The operations being executed
depends on the changes made to the fields. These operations may include:
 - removing access time if access time is changed to any time
 - removing memberships if member category is changed to all
 - modifying rule attributes if description or rule type is changed
 - enabling/disabling the rule if rule status is changed

The behavior of the Add & Remove buttons also has been changed such that
it adjust the category attribute properly in addition to adding the
memberships using batch command. For example, if category is initially
set to all, adding a new member will also change the category to empty.

The ipa_command have been modified to store the on_success and on_error
handlers as properties. When the command is executed as a part of batch
operation, the result of each command will be passed to the appropriate
handler.

The unit tests and test data have been updated as well.
2010-11-15 12:48:45 -05:00
Adam Young
dbd823c8d8 Push associate buttons to the action-panel 2010-11-15 10:47:02 -05:00
Adam Young
9fa543700b buttons to action panel 2010-11-14 01:53:56 -05:00
Adam Young
59a0c17c54 super to superior 2010-11-14 01:53:52 -05:00
Adam Young
828f87e4a6 more css cleanup remove quick links css very close to specs 2010-11-14 01:53:47 -05:00
Adam Young
821987fe67 layout
Closer to the layout from the spec
The facets have been moved to the action panel, to the left of the page
the facets are now rendered in an area of the screen with a client class
2010-11-14 01:53:41 -05:00
Endi Sukma Dewata
42b82f09f3 Added in the effective rights 2010-11-11 12:31:23 -05:00
Endi S. Dewata
db11592228 HBAC Service Groups
The HBAC Service Groups search, details, and association pages have
been added under the HBAC tab.

New test data files for HBAC Service Groups have been added. The sample
metadata has been updated as well.
2010-11-11 12:23:05 -05:00
Endi S. Dewata
65c9442e26 HBAC Services
The HBAC Service search and details pages have been added under the HBAC
tab. This requires some changes to the framework.

Currently the navigation framework doesn't support multiple entities under
one tab. As a temporary solution, an 'entity' URL parameter is used to
determine the entity to be displayed. This parameter is now only used by
HBAC tab, but its use might be expanded later. The navigation framework
needs be redesigned to provide more flexibility.

The search page in all entities except DNS records have been changed to
use the ipa_search_widget. The Select/Unselect All checbox and Delete
button now work correctly and consistently.

The Add dialog has been enhanced to render and work in a more consistent
way while still supporting custom widgets & layouts. For the search page,
the Add button will refresh the search results and clear the fields in
the dialog box.

The framework now provides some extension points which can be overriden
by the subclasses:
 - init(): for initialization and configuration
 - create(): for creating the layout dynamically or from template
 - setup(): for setting the look and feel
 - load(): for loading the data

Entity and facet initialization is now done after IPA.init(). This is to
ensure the metadata is loaded first so the entities and facets can use
localized messages/labels/titles.

The group entity has been partially converted to use the new framework.

The unit tests have been updated accordingly.
2010-11-11 12:23:05 -05:00
Endi Sukma Dewata
569f4e1a5c HBAC Service & Service Group test data 2010-11-11 12:23:05 -05:00
Adam Young
a8637bdaa0 Label cleanup Also, addeed in the default shell field. 2010-11-10 16:16:28 -05:00
Endi Sukma Dewata
440267a93e Renamed button.delete to button.remove in json_metadata.json. 2010-11-09 02:22:24 -05:00
Endi Sukma Dewata
90b421b834 Renamed button.deletes to button.remove. 2010-11-09 02:18:45 -05:00
Adam Young
1f9531bea2 delete to remove THe keyword delete is reserved in Javascript Using it breaks the WebUI on Chrome. This fixes replaces the word with delete. 2010-11-09 02:14:23 -05:00
Adam Young
cb739c10d0 link indications we had removed the decorations from links for previous ui approaches It is not long relevant, and hides the hyperlink underline in places where we want it to show 2010-11-09 01:42:03 -05:00
Adam Young
3c9fc345c1 Disable Enable user
UI updated to use the enable and disable methods, and to correctly report them
Implementation has a few shortcomings:
1.  Status is displayed in Browser alert dialog, not JQueryUI themed
2.  Upon completion of RPC, navigate back to the Search page.

Still, this is much less broken than before.

With whitespace cleanup,
using toLowerCase for testing true
and removde dual declaration of variables
2010-11-08 20:54:50 -05:00
Adam Young
2b0f3fbd42 sample data with rights and lock value 2010-11-08 20:46:55 -05:00
Endi S. Dewata
c854435a27 HBAC Access Time
IPA commands now can be defined in these classes:
 - ipa_command: a single IPA command
 - ipa_batch_command: a batch command for executing multiple commands
   on the server side using the new batch plugin

The dialog boxes for adding and removing entries have been refactored:
 - ipa_dialog: base class for dialog boxes
 - ipa_adder_dialog: generic adder dialog box
 - ipa_deleter_dialog: generic deleter dialog box
 - ipa_association_adder_dialog: adding entity association
 - ipa_association_deleter_dialog: removing entity association

Dialog boxes for adding/deleting HBAC users, hosts, services, and
sourcehosts are implemented using the association dialog boxes.

The dialog box for adding access time is implemented using ipa_dialog
and currently contains only a text field. This will be replaced with a
custom dialog box in a separate patch.

The dialog box for removing access time is implemented using the
generic deleter class because it's not an association. Removing multiple
access times is implemented using batch operations.

New test data files for access times have been added.
2010-11-08 20:06:49 -05:00
Adam Young
90baf597dd Ticket Expiration
THis patch handles Kerberos ticket expiration in the UI.  Additionally it removes the mod_atuh_kerb authorization for elements in the static directory, cutting down on the number of round trips required for initializing the web app

Conflicts:

	install/static/ipa.js
2010-11-08 14:17:47 -05:00
Adam Young
29c9c70d46 Clear fields after add
This version corrects an error in the oriogianl patch cause  by matching
the wrong opening brace
2010-11-08 15:05:19 -05:00
Adam Young
9a785ed91c rights check
if the field does not have a 'w' for writable in its rights, disable it.
Merged with the HBAC/Widget changes
add and remove links are managed via permissions now
2010-11-05 16:41:07 -04:00
Endi S. Dewata
d99ebc0f37 HBAC Details Page
The UI framework has been extended to include a collection of widgets:
 - ipa_widget: base class
 - ipa_text_widget: text field
 - ipa_radio_widget: radio button
 - ipa_textarea_widget: textarea
 - ipa_button_widget: button
 - ipa_column_widget: column for table
 - ipa_table_widget: table

These widgets can be used to create input controls. They can also be
extended to create custom controls.

The framework has also been enhanced to support custom layouts. This
can be used to change the look of the application without changing
the code. Initially this is only available in details section.

Layout consists of a collection of HTML templates. Each template is a
complete and valid HTML file representing a portion of a page. The
template will be loaded and initialized by the code, then filled with
the data from the server. The layouts are located in
install/static/layouts/<name> folder.

By default, if no templates are used, the fields in the details page
are rendered vertically using dd/dt/dd tags. For pages that require
different layout, a custom UI needs to be developed. There are two ways
to do that:
 - write a custom widget to generate the UI dynamically
 - create an HTML template and write the initialization code

For components that are quite complex or used frequently, it's might
be better to use the first method. For simple pages that are used only
in one location or need to support customization, the second method
might be preferable. Other benefits of templates:
 - cleaner code and UI separation
 - more flexibility in customization
 - new pages can be developed quickly and require less coding
 - multiple templates can be used with the same initialization code
 - easier to maintain

The HBAC details page has been implemented using both methods. By
default it will use custom widgets to generate the page. To use a
custom layout, add the following parameter to the URL, then reload
the page:

  &layout=<name>

Currently the only available layout is 'default' which produces the
same look as the custom widgets.

The HBAC details page is usable, but it still needs additional work.
The access time is not working yet. There is no undo button, hint,
or validation yet.

The table in the association facet has also been changed to use
ipa_association_widget which is derived from ipa_table_widget.

The Makefile has been updated to include the layouts. The unit tests
have been updated as well.
2010-11-04 14:22:32 -04:00
Adam Young
681ce7e534 jslint cleanup 2010-11-03 15:50:29 -04:00
Endi S. Dewata
f7a4c53e60 HBAC test data 2010-11-03 10:26:25 -04:00
Adam Young
aff2816d20 group_remove_memeber.json
meta data for testing and developmemt
2010-10-29 23:55:45 -04:00
Adam Young
6df16f3a10 delete associations
Uses code very similar to the search code for deleting associations
Had to modify how we were configuring for bulk so that the logic for delete matched the logic for enroll

Fixed unit test and removed the 'new' from the associator call
2010-10-29 17:12:55 -04:00
Endi S. Dewata
de3cc334ed Dialog boxes for AJAX, HTTP, and IPA errors.
The ipa_cmd() has been modified to identity the type of the error
it has received and display the error using the right dialog box.
The dialog box can be customized further to display the appropriate
amount of information for each type of error.
2010-10-28 13:11:51 -04:00
Endi S. Dewata
528145d5df Framework for custom UI
This patch introduces a new framework for implementing custom UI.
It consists of the following classes:

Main:
 - IPA: global namespace and object repository
 - ipa_entity: base class for entities
 - ipa_facet: base class for facets

Add dialog:
 - ipa_add_dialog: default add dialog
 - ipa_add_field: the fields used in the dialog

Search facet:
 - ipa_search_facet: default search facet
 - ipa_search_column: the columns in the search result

Details facet:
 - ipa_details_facet: default details facet
 - ipa_details_section: the sections in the details facet
 - ipa_details_field: the fields in the details facet

Association facet:
 - ipa_association_facet: default association facet
 - ipa_association_config: the association configurations

To use this framework, create a class extending the ipa_entity (e.g.
ipa_hbac). Use the create_* methods to create add dialog, search facet,
details facet, and association facet. The fields/columns for the dialog
and facets can be specified using the init() function. Custom UI can be
defined by overwriting the base methods (e.g. setup, save, load).
The entity must be added into the repository using IPA.add_entity().

The original ipa_entity_setup() has been generalized by moving facet-
specific codes into the corresponding facet. Some facet names are still
hard-coded. This will be fixed in follow-up patches.

Some global variables have been removed because their function has been
replaced by the object repository:
 - ipa_entity_add_list
 - ipa_entity_search_list
 - ipa_entity_details_list
 - window_hash_cache

Some functions and variables have been moved into IPA namespace:
 - ipa_json_url -> IPA.json_url
 - ipa_use_static_files -> IPA.use_static_files
 - ipa_ajax_options -> IPA.ajax_options
 - ipa_objs -> IPA.metadata
 - ipa_messages -> IPA.messages
 - ipa_dialog -> IPA.error_dialog
 - ipa_init() -> IPA.init()

Initially the HBAC and Service entities have been rewritten to use the
new framework. The DNS is partially converted, the ipa_records_facet
is used to define custom records facet.

Other entities can still work using the old framework. The old framework
has been modified to be a wrapper for the new framework. Eventually all
entities will be converted to use the new framework.

Some unit tests have been modified to use the new framework.
2010-10-28 09:28:17 -04:00
Adam Young
97bcbdec2f Field Errors Uses the pattern field of the metat data to see if the input for a given field is valid. If not, displays a red box with the contents of pattern_msg
To test this, I artificially modified the meta data for the Group description field
2010-10-28 03:06:28 -04:00
Adam Young
43212caf5d association header
header was missing on the association pages.
2010-10-26 20:03:42 -04:00
Adam Young
d866399bee dns work
without the details change
including changes from Reviewboard https://fedorahosted.org/reviewboard/r/96/

Fixed pages that use unspecified (krb ticket policy, config)
Facet name comes out of the facet, not hard coded.
2010-10-25 15:55:40 -04:00
Adam Young
88c88d9504 sample data for DNS 2010-10-25 11:47:19 -04:00
Adam Young
ae76022df5 Multivalue fixes
Strikethrough is now a toggle
undo resets value to blank for new entries.
2010-10-22 19:51:54 -04:00