Commit Graph
629 Commits
Author SHA1 Message Date
Endi Sukma Dewata 433cf5b5e7 Fixed combobox search icon position.
A recent CSS change inadvertently changes position of the combobox
search icon. This has been fixed now.

Ticket #388
2011-12-10 01:20:26 +00:00
Endi Sukma Dewata e8f0c5b9eb Fixed combobox icon position.
A recent CSS change inadvertently changes position of the combobox
icon. This has been fixed now.

Ticket #388
2011-12-09 22:49:34 +00:00
Endi Sukma Dewata 6af4d09e7e Fixed unmatched checkbox name.
The name of the Unmatched checkbox in HBAC Test has been corrected.

Ticket #388
2011-12-09 22:46:40 +00:00
Petr Vobornik 91dc7c3d9a Reordered facets in ACI
Facets in ACI have new order:
* Roles: members, privileges, settings
* Privileges: permissions, settings, roles
* Permissions: settings, privileges

https://fedorahosted.org/freeipa/ticket/2104
2011-12-09 22:46:19 +00:00
Petr Vobornik 34e357e713 Additional better displaying of long names
- facet group headers, error dialog, non-scrollable tables, can manage long names

 Size calculation of scrollable and non-scrollable tables was united. Now these types of tables differ only by style.

https://fedorahosted.org/freeipa/ticket/1821
2011-12-09 22:46:12 +00:00
Endi Sukma Dewata c1baebe979 Fixed problem loading DNS records.
The DNS records list page was not loaded correctly due to a recent
change in HBAC Test. The page has been updated to use the load_all()
to show all records in the zone.

Ticket #388
2011-12-09 15:55:21 +01:00
Endi Sukma Dewata 7cb39b8e33 Added HBAC Test input validation.
The HBAC Test pages have been modified to validate required input
before executing the test.

Ticket #388
2011-12-09 15:55:13 +01:00
Endi Sukma Dewata b70ebe5c9f Fixed matched/unmatched checkboxes in HBAC Test
The checkboxes in HBAC Test run page have been fixed to show/hide
matched or unmatched rules. The New Test button has been fixed to
deselect the inputs in all facets. The test data has been updated
as well.

Ticket #388
2011-12-09 15:55:02 +01:00
Petr Vobornik a1c9e3618c Better displaying of long names in tables and facet headers
Tables columns have computed width. If value in one column is very long it widens the column and shortens others. This change causes that body columns are not aligned with header columns which makes the table less readable.

Applying 'word-break: break-all' style breaks the word to multiple lines and solves the problem.

Simililar problem is in details facet when displaying text values. Very long values widens the table and a horizontal slider is displayed, which is bad. Applying same solution.

In facet headers and breadcrumb navigation breaking the pkey looks bad - there should be only on line of pkey. To solve this, the pkey is limited to 63 characters (empirically measured). Long pkeys are cut. Uncut pkey is set as a title to avoid losing information.

Whole breadcrump could be about 140 chars (with current styles). 10 chars is reserved for entity link, 60 for pkey the rest (about 60) for parent pkeys. The assumtion is that the parent pkeys wouldn't be so long so they won't be cut anyway.

Column width calculation in tables was iproved. Now it counts with cell spacing, padding, border. It uses these assumtions:
cell-spacing: 2px
cell-padding: 6px th:right, left; td: left
cell-border: th:1px; td:0px

It would be better to get these measures dynamically. Right now it is good enough - better than previous calculation.

Result: data cells are aligned with their header. This alignment fails if vertical scrollbar is displayed (existing problem).

Also added padding to headers in association adder dialog.

https://fedorahosted.org/freeipa/ticket/1890
2011-12-09 14:22:25 +01:00
Petr Vobornik 0e8b57b089 Search facets show translated boolean values
Created format method for getting translated messages for boolean values - IPA.boolean_format.

Used in hosts, sudo rules, hbac rules and hbac test.

https://fedorahosted.org/freeipa/ticket/2027
2011-12-08 02:10:34 +00:00
Endi Sukma Dewata c1d0f72c20 Fixed I18n labels for HBAC Test
Hard-coded labels in HBAC Test have been moved into internal.py to
allow translation.

Ticket #388
2011-12-07 15:33:38 +00:00
Endi Sukma Dewata 6ca3b5c569 Fixed CSS for HBAC Test
The tables in HBAC Test have been modified to expand according to
window size. Hard-coded CSS codes have been moved into ipa.css.

Ticket #388
2011-12-07 15:33:32 +00:00
Endi Sukma Dewata 84019af3f1 Added external fields for HBAC Test.
A text field has been added for specifying external user, host, and
service for HBAC testing.

Ticket #388
2011-12-07 15:33:23 +00:00
Endi Sukma Dewata fa32699dbf Fixed search filter in HBAC Test.
The search filter in HBAC Test has been fixed to work properly.

Ticket #388.
2011-12-07 15:33:14 +00:00
Endi Sukma Dewata 9276e51bce Fixed navigation buttons for HBAC Test.
The Back, Next, and New Test buttons in HBAC Test have been fixed
to work properly.

Ticket #388
2011-12-07 15:33:06 +00:00
Endi Sukma Dewata 2203bb650c Added HBAC Test page.
This is the initial implementation of HBAC Test page. Currently it
can select user, source/target group, service, rules, and execute
the test. Other functionalities to be implemented include the search
filter, external users/hosts, back/next buttons, validation, styling,
and internalization.

Ticket #388
2011-12-06 22:08:16 +00:00
Endi Sukma Dewata caa9d52666 Refactored facet.load().
The load() in IPA.facet has been modified to accept the complete
data returned by the server instead of just the result. This is
needed by HBAC Test to access other attributes returned in the
test result.

Ticket #388
2011-12-06 22:08:07 +00:00
Endi Sukma Dewata a8ea42bda8 Fixed entity metadata resolution.
The current code assumes that an entity will always have a corresponding
LDAPObject on the server, so it looks for the metadata in a fixed location.
This assumption doesn't work for HBAC Test since it is a Command, not an
LDAPObject, so the metadata has to be obtained from a different location.
A new method get_default_metadata() has been added to allow each entity
to find the metadata from the correct location.

Ticket #388
2011-12-06 22:07:52 +00:00
Endi Sukma Dewata 6f0c16e428 Added support for radio buttons in table widget.
The table widget has been modified to support single-valued attribute
using radio buttons needed by some facets in HBAC Test. The widget now
uses 'pagination' flag to determine whether to show the pagination
control. The test data has also been updated.

Ticket #388
2011-12-06 22:07:44 +00:00
Endi S. Dewata 8f642bbe08 Added commands into metadata.
The json_metadata command has been modified to accept some new
options and return the commands metadata. The API.txt has been
updated as well. The UI has been modified to use commands metadata
instead of methods metadata.

Ticket #388
2011-12-06 22:07:35 +00:00
Petr Vobornik 1ffbec9942 Removed usage of bitwise assignment operators in logical operations
JavaScript &= and |= are bitwise operators. They are shortened version of:
 foo = foo & bar
 foo = foo | bar

In some places they were used as shortened version of logical operation and assignment.
 foo = foo && bar

It lead to type conversion to Number which is wrong (0 !== false).

This patch replaces such occurances with full version of logical operation and asignment.

https://fedorahosted.org/freeipa/ticket/2040
2011-12-05 16:02:11 +00:00
Petr Vobornik c5ca34f41d Fixed unit tests after widget refactoring
https://fedorahosted.org/freeipa/ticket/2040
2011-12-05 16:02:01 +00:00
Petr Vobornik 2759ea2961 Modifying automount to work with new concept
https://fedorahosted.org/freeipa/ticket/2040
2011-12-05 16:01:56 +00:00
Petr Vobornik 9a09916108 Changing definition of basic fields in section from factory to type
https://fedorahosted.org/freeipa/ticket/2040
2011-12-05 16:01:50 +00:00
Petr Vobornik ab667912cf Code cleanup of HBAC, Sudo rules
https://fedorahosted.org/freeipa/ticket/1515
2011-12-05 16:01:44 +00:00
Petr Vobornik fdee0892f1 Modifying groups to work with new concept
https://fedorahosted.org/freeipa/ticket/2040
2011-12-05 16:01:38 +00:00
Petr Vobornik a902fa4647 Modifying ACI to work with new concept
https://fedorahosted.org/freeipa/ticket/2040
2011-12-05 16:01:33 +00:00
Petr Vobornik 6e3a21a115 Separation of writable update from field load method 2011-12-05 16:01:29 +00:00
Petr Vobornik e271e80f7d Modifying services to work with new concept
https://fedorahosted.org/freeipa/ticket/2040
2011-12-05 16:01:24 +00:00
Petr Vobornik fcba1cb216 Modifying dns to work with new concept
https://fedorahosted.org/freeipa/ticket/2040
2011-12-05 16:01:17 +00:00
Petr Vobornik 9b362ce6e1 Modifying hosts to work with new concept
https://fedorahosted.org/freeipa/ticket/2040
2011-12-05 16:01:11 +00:00
Petr Vobornik b55d154375 Modifying users to work with new concept
https://fedorahosted.org/freeipa/ticket/2040
2011-12-05 16:01:06 +00:00
Petr Vobornik 5b26a383ce Added possibility to define facet/dialog specific policies
After deleting section as a special type of object a new way of defining inter-field logic is needed.

For this purpose a facet_policy was created. It is a simple object with init() method. Init method should contain logic for attaching to fields' or widgets' events.
When a policy is added to facet or dialog its container property should be set to that facet or dialog. It gives the policy an access to fields and widgets.
Init method should be called after widgets creation.

https://fedorahosted.org/freeipa/ticket/2040
2011-12-05 16:00:58 +00:00
Petr Vobornik e021542120 Removing sections as special type of object
Sections are changed into pure widget objects. Introduced IPA.composite_widget, basic widget for widget nesting (it's using IPA.widget_container). It's base class for section widgets.

TODO: change old custom sections into custom fields and widgets.

Note: usage of section in HBAC and SUDO is kept - whole logic will be removed in #1515 patch.

https://fedorahosted.org/freeipa/ticket/2040
2011-12-05 16:00:50 +00:00
Petr Vobornik 6cdf09812d Builders and collections for fields and widgets
Introduced IPA.field_container and IPA.widget_container.

IPA.field_container: collection for fields. Can set logical container (facet, dialog...) to fields.
IPA.widget_container: collection for widgets. Has basic searching capability withing widget tree.

Introduced field_builder, widget_builder, section_builder, details_builder. All are used for building fields and widgets. Field_builder and widget_builder have the main building logic. Section_builder can create content based on current section spec. Details builder defines a strategy for building content.

https://fedorahosted.org/freeipa/ticket/2040
2011-12-05 16:00:44 +00:00
Petr Vobornik 863666fbe8 Improved fields dirty status detection logic 2011-12-05 16:00:39 +00:00
Petr Vobornik 4bab6b7e5d Splitting basic widgets into visual widgets and fields
https://fedorahosted.org/freeipa/ticket/2040
2011-12-05 16:00:32 +00:00
Petr Vobornik a17bf5e754 Splitting widget into widget and field
Splitting IPA.widget into IPA.field (logical part) and IPA.widget, IPA.input_widget (visual part).

https://fedorahosted.org/freeipa/ticket/2040
2011-12-05 16:00:27 +00:00
Petr Vobornik fd43a625a2 Added cross browser support of Array.indexOf method
https://fedorahosted.org/freeipa/ticket/2151
2011-12-02 18:35:59 +00:00
Endi Sukma Dewata e84bd27af2 Fixed entity definition in test cases.
The test cases have been updated to use the new extensible mechanism
for defining and registering entities.

Ticket #2043
2011-11-18 15:57:00 +00:00
JR Aquino 714b0d11ec Replication: Adjust replica installation to omit processing memberof computations
https://fedorahosted.org/freeipa/ticket/1794

If the master does not yet support the total update list feature we still
run the memberof fixup task and not fail to replicate due to the new
attribute not being settable.

Jointly-developed-with: Simo Sorce <ssorce@redhat.com>
Jointly-developed-with: Nathank Kinder <nkinder@redhat.com>
2011-11-14 05:30:06 -05:00
Endi S. Dewata 20ad8fe1ba Removed develop.js.
The develop.js is no longer necessary because the code in it has
been merged into the main code.

An empty extension.js has been added to provide a place for UI
customization.

Ticket #2099
2011-11-14 16:47:10 -05:00
Endi S. Dewata d6d24be289 Refactored permission target section.
The permission target section has been modified to use widgets
to create the target selection and handle multiple fields.

Ticket #2098
2011-11-14 16:47:08 -05:00
Endi S. Dewata 9405e1a9db Added paging on search facet.
The search facet has been modified to support paging on most entities
using the --pkey-only option to get the primary keys and a batch command
to get the complete records.

Paging on DNS records is not supported because a record may appear as
multiple rows. The following entities do not have --pkey-only option:
Automount Key, Self-Service Permissions, Delegation.

The search and association facet have been refactored to reuse the
common code from the table facet base class.

Ticket #981
2011-11-11 14:44:25 +00:00
Endi S. Dewata df6bd6ab5a Updated sample data.
New sample data files have been added for search facet paging. Unused
files have been removed. The names used in the files have been updated
for consistency.

Ticket #981
2011-11-11 14:44:21 +00:00
Endi S. Dewata 6802ea7d70 Fixed problem changing page in association facet.
The association facet has been modified to detect page change to
determine whether the facet needs to be updated.

Ticket #1459
2011-11-07 15:07:02 +01:00
Endi S. Dewata 2eb6414372 Added current password field.
The reset password dialog for user has been modified to provide
a field to specify the current password when changing the user's
own password.

Ticket #2065
2011-11-07 14:18:25 +01:00
Petr Vobornik 9378e8b437 Extending facet's mechanism of gathering changes
https://fedorahosted.org/freeipa/ticket/2041

Adding option to gathering changes for update from widgets, sections, details facet.

Changes are represented by update_info { fields [] ((field_info)), commands [] ((command_info))  } object.

* On calling get_update_info() method widget, section and facet returns update_info object which represents all changes in nested objects. Thus usually widgets are creating update_infos, their containers are merging them.
* This object can be then used in details facet update method. In order to use it command_mode = 'init' has to be set. Command mode was introduced to support backward compatibility.
* command_info consists of command and priority. Priority can be set to specify exact exectuting order of commands. It can be defined on facet level by setting widget's priority. When widgit is creating command_info it should pas its priority to it.
2011-11-04 16:54:51 +00:00
Endi S. Dewata 8ca348b99e Added extensible UI framework.
The entity definitions have been converted into classes. The entity
init() method will use the builder to construct the facets and dialogs.
The UI can be customized by creating a subclass of the original entity
in extension.js and then overriding the init() method.

Ticket #2043
2011-11-04 16:51:54 +01:00
Endi S. Dewata 5db9fed8a5 Moved facet code into facet.js.
Facet-related code has been moved from entity.js into a new facet.js
because the file is getting too big.
2011-11-04 16:51:43 +01:00