Commit Graph

107 Commits

Author SHA1 Message Date
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
Adam Young
4f7f400043 password dialog
added a modal dialog for resetting the password.
Made the whoami varaible global, as anything dependant on the principal will require access to it.
2010-10-20 10:54:51 -04:00
Endi S. Dewata
2c5f3cfd60 Host certificate management
The service certificate management UI has been generalized and moved
into certificate.js. The host details page is now using the same code
to manage certificates. The host.py has been modified to return host
certificate info.

The Get/Revoke/View buttons behavior has been modified such that they
are visible only if there is a valid certificate. The Get dialog box
has been fixed to show the correct certificate header and footer.

The ipa.css has been modified to store the style of the status bullets.
New unit tests for certificate has been added. The test data has been
modified to include sample host certificate.
2010-10-20 09:33:44 -04:00
Adam Young
df97bce349 Remove size limits.
Now use the system wide settings instead of hardcoded size limits.
2010-10-19 21:46:31 -04:00
Adam Young
d8b4e68221 removing icons
We'll later replace them with a new scheme.  For now, this is the simplest UI
The intention is to look unfinished, so people don't comment on how poor it looks.
2010-10-19 17:55:36 -04:00
Endi Sukma Dewata
267e803cdf Service certificate status.
The service details page has been modified to show certificate
status using bullets. It will also show the revocation reason,
and display the restore button only if the certificate is on
hold. The buttons action handlers have been moved into
service_usercertificate_load() so they can update the bullets.

A test data file for cert-show operation has been added. Other
test data files containing certificate info has been updated for
consistency.

The certificate_confirmation_dialog() has been removed because
it's no longer used.
2010-10-18 14:22:07 -04:00
Simo Sorce
8f82db0e99 Fix build after file was removed but not eliminated from Makefile.am 2010-10-18 10:53:52 -04:00
Adam Young
b18af8de3c removing dead files. 2010-10-15 18:19:49 -04:00
Endi S. Dewata
4c24581b5c Service certificate UI.
The service.py has been modified to include certificate info in
the service-show result if the service contains usercertificate.

A new file certificate.js has been added to store codes related
to certificates (e.g. revocation reasons, dialog boxes). The
service.js has been modified to provide the UI for certificate
management. The certificate.js can also be used for host
certificate management.

The Makefile.am and index.xhtml has been modified to include
certificate.js. New test data files have been added for certificate
operations.

To test revoke and restore operations the server needs to be
installed with dogtag CA instead of self-signed CA.

The certificate status and revocation reason in the details page
will be implemented in subsequent patches. Unit tests will also
be added in subsequent patches.
2010-10-15 14:26:07 -04:00
Adam Young
acf5f9cad7 multivalue fixes
metadata for phone numbers
test date for users
Undo works for multivalue
JQuery UI buttons have custom classes
inputs/fields are now managed inside of objects

removed the use of .call. as it was confusing the issue of
mismatched parameter lists.
Fixed the parameter lists, too.
2010-10-15 12:51:30 -04:00
Endi S. Dewata
1dc0a3ab3e Certificate management for services.
This is an initial implementation of certificate management for
services. It addresses the mechanism required to view and update
certificates. The complete UI implementation will be addressed in
subsequent patches.

On the server side, the service.py has been modified to define
usercertificate in the service object's takes_params. This is
needed to generate the proper JSON metadata which is needed by
the UI. It also has been modified to accept null certificate for
deletion.

On the client side, the service details page has been modified to
display the base64-encoded certificate in a text area. When the
page is saved, the action handler will store the base64-encoded
certificate in the proper JSON structure. Also the service name
and service hostname are now displayed in separate fields.

The details configuration has been modified to support displaying
and updating certificates. The structure is changed to use maps
to define sections and fields. A section contains name, label,
and an array of fields. A field contains name, label, setup
function, load function, and save function. This is used to
implement custom interface and behavior for certificates.

All other entities, test cases, and test data have been updated
accordingly. Some functions and variables have been renamed to
improve clarity and consistency.
2010-10-12 14:17:24 -04:00
Adam Young
dccb386d57 record limit 2010-10-08 16:59:01 -04:00
Adam Young
b09467e448 default search
Populate the entity search pages with the results of a search with a blank filter even if no filter has been specified
2010-10-07 15:11:14 -04:00
Adam Young
82455fdb12 policy and config sample data 2010-10-07 14:52:34 -04:00
Adam Young
9cb3a07aca policy and config
Population of the policy and entites tabs.
    DNS and ACI are broken due to PLugin issues
    Fix for entities without search
    Added new files to Makefile.am
    used rolegroup.js file as the start point, renamed to serverconfig.js
2010-10-07 14:51:02 -04:00
Endi S. Dewata
de35a3e341 Displaying AJAX URL in error message.
The ipa_error_handler() has been modified to display the AJAX URL
that is having a problem. The ipa_cmd() error handler is now invoked
using call() to pass 'this' object which contains the URL.
2010-10-06 21:30:55 -04:00
Pavel Zuna
127ff317ce Fix attribute callbacks on details pages in the webUI.
Ticket #326
2010-10-06 17:01:45 -04:00
Endi S. Dewata
7058df65ac UI Unit Test Docs
A README file for the UI Unit Test has been added. It contains a link
to the online documentation: http://www.freeipa.org/page/UI_Unit_Tests
2010-10-05 21:18:05 -04:00
Endi S. Dewata
ea334939ba Tooltips for quick links.
The ipa_entity_quick_links() has been modified to show tooltips when
hovering on quick links.
2010-10-04 18:48:13 -04:00
Endi S. Dewata
b7097fc8c9 Entity association configuration.
The ipa_entity_set_association_definition() has been added to configure
the association between 2 entitites. By default the associator is
BulkAssociator and the method is add_member. The entities have been
updated to use the right configurations.

The ipa_cmd() has been modified to detect IPA errors and invoke the
error handler.

A bug in refresh_on_success() has been fixed as well.
2010-10-02 18:13:30 -04:00