Commit Graph

58 Commits

Author SHA1 Message Date
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
Petr Vobornik
a902fa4647 Modifying ACI to work with new concept
https://fedorahosted.org/freeipa/ticket/2040
2011-12-05 16:01:33 +00: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
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
Endi S. Dewata
09f3e9869a Fixed inconsistent required/optional attributes.
The dialogs and details pages have been modified to use the * symbol
to mark required fields. The automount map and the DNS zone dialogs
have been modified to update the required fields according to the
input type.

Ticket #1696, #1973
2011-10-25 15:11:12 +00:00
Endi S. Dewata
fe8aeef307 Added confirmation when adding multiple entries.
The adder dialog has been modified to show a confirmation message
after each successful addition.

Ticket #1786
2011-10-05 14:51:50 +02:00
Petr Vobornik
dabc6cd578 Fixed: Some widgets do not have space for validation error message
https://fedorahosted.org/freeipa/ticket/1454

The following widgets should call create_error_link() to create a space to show validation error messages:

  IPA.checkbox_widget
  IPA.checkboxes_widget
  IPA.radio_widget
  IPA.select_widget
  IPA.table_widget
  IPA.attributes_widget
  IPA.rights_widget
  IPA.target_section (it's a widget)

Solution:
 * added call to checkbox, checkboxes, radio, select, table, attributes widget
 * rights_widget inherits it from checkboxes_widget.
 * target_section IS NOT a widget as it doesn't inherit from widget. It's still a section, which shows different widgets based on its state.
 * table_widget displays error_link between pagination and summary.

Additional:
 * added padding and unified font-weight for error message
2011-09-29 16:57:37 +00:00
Endi S. Dewata
5eba2ffddd Fixed tab and dialog widths.
The width of the 1st level tab has been modified to expand according
to the size of the tab label.

The width of the adder dialogs have been increased to allow longer
button labels.

Ticket #1825
2011-09-29 16:56:54 +00:00
Endi S. Dewata
2b322a46a6 Replaced description text fields with text areas.
Ticket #1783
2011-09-26 16:38:21 +00:00
Petr Vobornik
d8f8613e99 Fixed: Column header for attributes table should be full width
https://fedorahosted.org/freeipa/ticket/1841

The column header for the attributes table (IPA.attributes_widget) does not cover the entire width of the table. This problem appears in the adder dialog and details page for permissions, self-service permissions, and delegations.
2011-09-26 14:57:22 +00:00
Endi S. Dewata
8e95d1eb4e Removed undo flags from dialog field specs.
Since the undo flag is now automatically set to false in dialogs,
it's no longer necessary to specify it in the field specs.

Ticket #1394
2011-09-23 13:13:16 +00:00
Endi S. Dewata
390d017e32 Modified dialog to use sections.
The IPA.dialog has been modified to store sections instead of fields.
If there is no sections specified, it will create a default section.

The adder dialog for automount map has been modified such that the
fields related to indirect map are stored in a section which will
only be visible when the map type is set to indirect.

The adder dialog for host has been modified such that it uses a
custom section for hostname and DNS zone and standard section for
the other fields.

Ticket #1394
2011-09-23 13:13:10 +00:00
Petr Vobornik
df049ff13d Code cleanup: widget creation
https://fedorahosted.org/freeipa/ticket/1788

Removed code duplication of undo links.
Simplified code of widget creation to be more readable.
2011-09-13 17:32:18 +00:00
Endi S. Dewata
26ded75be9 Fixed layout problem in permission adder dialog.
In order to maintain consistent layout between details page and dialog
boxes the IPA.details_list_section has been replaced with
IPA.details_table_section which is based on table.

The IPA.target_section and other subclasses of IPA.details_list_section
have been converted to use IPA.details_table_section as well.

The unit tests have been updated accordingly.

Ticket #1648
2011-09-09 19:47:05 +00:00
Endi S. Dewata
b2cd8f0abf Fixed missing permission filter field.
Due to a recent change, all dialog boxes are now reset initially. The
IPA.target_section has been modified to show the default target (i.e.
filter) and the fields properly when reset.

Ticket #1748
2011-09-01 14:12:20 +00:00
Endi S. Dewata
d08dcb40e1 Fixed facet group labels.
The facet group labels have been modified according to UXD spec.
Some facet groups will have more descriptive labels. Some others
will not have any labels because the facet tab is self-explanatory.

Ticket #1423, #1561
2011-08-08 12:00:07 -04:00
Adam Young
b36df6e9b9 removing setters setup and init
change widget and widget unit tests to hold on to entity, not entity name.
    Replacing entity_name with entity.name  in most places.
       The one exception is columns for table_widget.
       Widgets that refer to other entities have to have late resolution of the entity object, due to circular dependencies.

    cleanup entity assignment.
    removed template and layout,
    merged setup into create
    adder dialogs adjust height for external
    removed init from widget, isection, association, facet, host and service

    Make unit tests use factory.
    fix functional tests to click find link correctly.
    tweak to activation test, but still broken.
    moved initialization code to the end
    use --all for hbacrule find, so the type shows up now

    fixed dns exception code and exception handling for get_entity
    replace metadata look up with value from entity.
    fixed author lines
    removed duplicate columns in managed by facets.
    tweak to nav fix in order to initialize tab.
    more defensive code
    update metadata for true false
    one line init for entity_name in widget
    move init code to end of constructor functions
    moved constants to start of function for adder_dialog
    external fields for dialogs initialized at dialog creation
    sudo sections: move add fields and columns to widget definition.

   The parameter validation in IPA.column ...This is precondition checking.  Note that it merely throws an exception if the entity_name is not set.  I want this stuff at the top of the function so that it is obvious to people looking to use them what is required.  I added a comment to make this clear, but I'd like to keep precondition checking at the top of the function.

   decreased the scope of the pkey_name and moved the initiailzation fof columns into the setup_column function for association_tables

   return false at the end of click handler

   removed blank labels in sudo command section

   fix radio buttons for sudo category

   fixed table side for adder dialogs with external fields
    comments for future direction with add_columns

    https://fedorahosted.org/freeipa/ticket/1451
    https://fedorahosted.org/freeipa/ticket/1462
    https://fedorahosted.org/freeipa/ticket/1493
    https://fedorahosted.org/freeipa/ticket/1497
    https://fedorahosted.org/freeipa/ticket/1532
    https://fedorahosted.org/freeipa/ticket/1534
2011-07-28 14:17:25 -04:00
Endi S. Dewata
571274e978 Entity select widget improvements
The IPA.entity_select_widget has been modified into a searchable and
editable drop down list. The base functionality has been extracted
into IPA.combobox_widget.

Ticket #1361
2011-07-18 14:47:57 -04:00
Adam Young
800cb7f46e identify target as section for permissions 2011-06-27 12:14:49 -04:00
Adam Young
dbeae4e3f4 test dirty onchange
instead of blindly setting dirty, check if the filed has a different value than it originally did.

https://fedorahosted.org/freeipa/ticket/1337
2011-06-16 20:29:14 +00:00
Adam Young
4080a03051 dialog scrolling table
Tables on the dialog page need to have the scrolling set but should not resize with the main window, since their window is a JQuery UI dialog.
2011-06-03 19:54:14 +00:00
Endi S. Dewata
aa29a8a769 Added Update and Reset buttons into Dirty dialog.
The Dirty dialogs have been combined into IPA.dirty_dialog. It
provides the Update and Reset buttons with customizable callback.

Previously the widget's dirty status is computed by comparing the
old values with the new values. This method is sometimes inaccurate,
so the is_dirty() method has been modified to simply return a flag
which is set to true if the widget is changed.

Ticket #896.
2011-05-27 13:06:57 -04:00
Endi S. Dewata
3528b4eca3 Moved adder dialog box into entity.
The adder dialog box definition has been moved from search facet
into entity to make it accessible from other facets.
2011-04-21 19:43:54 +00:00
Martin Kosek
d9c1761234 Remove unwanted trimming in text fields
UI trims whitespace at the beginning or at the end when user data
are being saved. This confuses is_dirty function which incorrectly
recognizes given field as modified.

This patch fixes this issue for both general text fields and
ACI filter field.

https://fedorahosted.org/freeipa/ticket/1096
2011-04-21 19:03:03 +00:00
Adam Young
6948c0813d code review fixes
this version includes using spec for detail_facets
2011-03-31 17:29:33 -04:00
Adam Young
4270e26adb define entities using builder and more declarative syntax
merged hbac and sudo in to single files

associaton facet and table supports linking
2011-03-31 17:29:33 -04:00
Endi S. Dewata
cb5e709e7d Fixed undefined label in permission adder dialog box.
The IPA.rights_widget was fixed to invoke the base init() method
to load the i18n labels properly.

Ticket 1113
2011-03-29 17:52:19 -04:00
Endi S. Dewata
4a8c43aa32 I18n update.
Hard-coded messages through out the code have been replaced by i18n
messages obtained from json_metadata and i18n_messages.
2011-02-21 15:36:32 -05:00
Endi S. Dewata
eb8f091c9b Fixed association facets.
The association config has been removed because it incorrectly assumes there is only one association between two entities. Now each association is defined separately using association facets.

The service.py has been modified to specify the correct relationships. The API.txt has been updated.

https://fedorahosted.org/freeipa/ticket/960
2011-02-15 17:45:46 -05:00
Adam Young
d14ef576c3 column formatting Allow optional formatting for columns Provide Data formate for host modificaiton
date format
2011-02-11 15:04:31 -05:00
Adam Young
6f6d50f37f target section without radio buttons ACI target section refactored into an array of widget-like objects. The radio buttons have been replaced by a select box. THe select is not visible on the details page. 2011-02-11 15:04:31 -05:00
Endi S. Dewata
8d597dcbb0 Moved add dialog into search facet.
Previously the add dialog is added into entity. The dialog is only
used by the search facet, so it's now moved into the search facet.
2011-02-09 19:46:49 -05:00
Endi S. Dewata
348d734c59 Restructuring details page.
Previously the IPA.details_list_section can only be used with widgets
that generates <dd> tag because it uses the following structure:

<dl>
  <dt>Telephone Number:</dt>
  <span name="teleponenumber">
    <dd>111-1111</dd>
    <dd>222-2222</dd>
  </span>
</dl>

The <dd> tag was previously used to handle multi-valued attributes.
Since multi-valued attributes are now handled by the recently added
IPA.multivalued_text_widget, the structure can be changed as follows:

<dl>
  <dt>Telephone Number:</dt>
  <dd>
    <span name="telephonenumber">
      <div>111-1111</div>
      <div>222-2222</div>
    </span>
  </dd>
</dl>

This allows IPA.details_list_section to be used with any widgets
without requiring the <dd> tag.
2011-02-07 11:31:17 -05:00
Endi S. Dewata
d389e054f6 Added undo for permission target.
https://fedorahosted.org/freeipa/ticket/885
2011-02-02 15:56:50 -05:00
Adam Young
ec59e618da use entity select widget for permissions
https://fedorahosted.org/freeipa/ticket/879
2011-02-01 14:56:41 -05:00
Endi S. Dewata
8cff0812d5 Fixed attribute name for delegation member group. 2011-02-01 12:03:45 -05:00
Endi S. Dewata
613a3d0f56 Added undo for permission rights.
https://fedorahosted.org/freeipa/ticket/884
2011-02-01 08:30:35 -05:00
Adam Young
f85771b2a7 aci association fixes
declarative priv definition
fixes role_add_privilege and privilege_add_permisison
2011-01-31 23:09:13 -05:00
Endi S. Dewata
a629f3f4c7 Removed permission description from UI
https://fedorahosted.org/freeipa/ticket/877
2011-01-31 15:06:47 -05:00
Adam Young
de28abc236 delegation work around
Since the delegation enityt is using membergroup as the property name at this stage, we can use that as the value until the pluing is consistant
2011-01-29 23:16:08 -05:00
Adam Young
20e742d355 populate attribute table for delegation add 2011-01-29 22:08:27 -05:00
Endi S. Dewata
8df5202940 Fixed permission reset and is_dirty.
The reset and is_dirty functionality for permission has been fixed.
New widgets have been created for select and a collection of checkboxes.
New test data files have been added for each target type.
2011-01-29 21:23:01 -05:00
Adam Young
e633dd81dd placeholder function
ipa_target_section does not overload is_dirty, and it alwayrs returns true, meaning you can never leave the page once you visit it.

THis commit pushes a simple placeholder function that always returns fales.  Follow on work will be required to correctly inplement the is_dirty functonality
2011-01-29 14:24:00 -05:00
Endi S. Dewata
e806f32cae Add permission dialog adjustments.
The IPA.dialog has been modified to support sections. The add
dialog for permission has been modified to include the target
section. The base dialog classes have been moved from widget.js
into a new file called dialog.js.

This patch also includes ayoung's fix for parameter name and
format for the permission attributes.

https://fedorahosted.org/freeipa/ticket/791
2011-01-29 13:36:03 -05:00
Adam Young
fd1d0857b5 unmatched aciattrs
instead of reporting an error on unmatched aciattrs, append them to the table.
2011-01-28 17:01:19 -05:00
Endi S. Dewata
b96138ba56 Fixed delegation UI issues
This patch fixes several issues in delegation UI:

When adding a new delegation, only the first attribute selected
was saved. Now all attributes will be saved properly.

When loading the details page, the custom widgets did not store
the original values properly so is_dirty() did not work correctly.
Now this has been fixed except for the memberof attribute because
of these issues:
 - https://fedorahosted.org/freeipa/ticket/869
 - https://fedorahosted.org/freeipa/ticket/870

When saving the details page, the attrs were saved as an array
which was rejected by the server. Now it is stored as comma-
separated list.
2011-01-28 14:15:43 -05:00