Commit Graph

79 Commits

Author SHA1 Message Date
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
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
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
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
6c3e1a21d7 Fixed blank krbtpolicy and config pages.
The details page compares the old and the new primary keys to determine
if the page needs to be reloaded. The Kerberos Ticket Policy and Config
pages do not use primary keys, so they are never loaded/updated with
data. A parameter has been added to force update on these pages.

Ticket #1459
2011-11-04 16:51:37 +01:00
Petr Vobornik
9afe4b98da Page is cleared before it is visible
https://fedorahosted.org/freeipa/ticket/1459

Changes:
 * added clear method to widgets, section, search, details, association facets
 * clear and refresh method in facet are called only if key/filter was changed
 * added id generator for widgets
2011-11-02 15:37:49 +00:00
Endi S. Dewata
6af5755de5 Fixed "enroll" labels.
Labels using the word "enroll" (except for host enrollment) have
been modified to use more relevant words.

The IPA.add_dialog has been renamed into IPA.entity_adder_dialog
for clarity.

Ticket #1642
2011-10-27 13:47:45 +00:00
Petr Vobornik
27ea90792f Circular entity dependency
https://fedorahosted.org/freeipa/ticket/1531

Each entity is created together with its dependent objects (e.g. facets and dialog boxes). This causes a circular dependency problem because some of the objects need to obtain a reference to another entity that has not been created.

Currently this is handled by storing only the other entity name and resolve it when needed (e.g. during rendering stage). In IPA.search_facet this delays the creation of the table widget, making it more difficult to customize.

One solution is to do the object creation in 2 steps:

 * create all entity objects only
 * create the dependent objects in each entity

Implemented solution:
 * all entities are created on application start
 * dependant objects (facets and dialogs) are created at once on their first use in entity.
2011-10-18 16:19:06 -02:00
Endi S. Dewata
188cc5c496 Fixed problem displaying special characters.
Some jQuery objects in various locations have been modified to use
text() to show values obtained from the server (except messages).
The text() will automatically encode special characters.

Ticket #1798
2011-09-23 15:27:17 +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
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
6892d6e594 Fixed hard-coded UI message in entity.js.
The hard-coded label in IPA.facet has been moved into internal.py to
allow translation.

Ticket #1701
2011-09-01 14:12:15 +00:00
Endi S. Dewata
6c6748748b Fixed hard-coded UI messages.
Some hard-coded messages in ipa.js have been moved into internal.py.
The messages in internal.py have been rearranged to match the output
(ipa_init.json).

A new method IPA.get_message() has been added to take a message ID and
return the translated message or a default message if not found.

Ticket #1701
2011-08-31 16:29:45 +00:00
Endi S. Dewata
fca0f4dd65 Updated add and delete association dialog titles.
The association table widget and facet have been modified to accept
titles for the add and delete dialogs. The table and facet definitions
have been modified to specify the appropriate titles.

Some unused code have been removed.

Ticket #1629
2011-08-23 16:11:42 +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
740bacdfb9 Fixed navigation problems.
The navigation code has been modified store the facet's state
separately in the facet object itself. The path state is stored
in the navigation object. When the path is changed to view a new
facet, only the path and the state of the new facet will be shown
in the URL, thus keeping the URL short.

This fixes pagination, bookmark and search filter problems as well.

Ticket #1507, 1516, 1517
2011-07-22 12:29:55 -04:00
Endi S. Dewata
ca7395c353 Refactored IPA.current_facet().
The IPA.current_facet() has been merged into IPA.entity.setup()
and replaced by IPA.entity.get_facet(). The setup() will read the
current facet's name from the <entity>-facet URL parameter and store
the facet object in the entity object. The get_facet() without any
parameter will return the current facet object.
2011-07-22 12:13:10 -04:00
Endi S. Dewata
6d14331a05 Added checkbox to remove hosts from DNS.
A custom deleter dialog for hosts has been added to provide an option
whether to remove the hosts from DNS.

Ticket #1470
2011-07-20 13:51:20 -04:00
Adam Young
a746c613a4 dnsrecord-mod ui
Brings the DNS record infrastructure in line with the other entities.
Uses widgets, nested search, and a littel bit of overloading for dns specific behavior
The records now have their own page.

simplified link widget and use for dns
links work for nested entities.

change the field in the link widget to other_entity to avoid name collision.
unit test for entity link.

fixed reference to entity for getting pkeys

work around lack of setattr for dns record mod.
update wasn't deducing locked_field type correctly.
don't overwrite param_info in init
data is required on adder dialog
delete works for multiple records
use show instead of find for entity_link_widget.

https://fedorahosted.org/freeipa/ticket/1038
https://fedorahosted.org/freeipa/ticket/1448
https://fedorahosted.org/freeipa/ticket/577
https://fedorahosted.org/freeipa/ticket/1460
2011-07-13 21:57:18 +00:00
Adam Young
870e430b65 undefined pkeys https://fedorahosted.org/freeipa/ticket/1399
Thereis not metatdata defined pkey for config, so we need to short circuit the logic that uses the metatdata pkey to look up the key from the hashurl.
2011-06-29 21:14:16 +00:00
Adam Young
b8b2ac5357 containing entity pkeys
Instead of looking for a match on the entity name, use the nesting structure
of containing entites to grab their pkeys.

Code review fixes

https://fedorahosted.org/freeipa/ticket/674
2011-06-29 17:09:57 -04:00
Adam Young
66eeaceb8c shorten url cache state in a javascript variable, and leave on information about the current entity in the URL hash params
https://fedorahosted.org/freeipa/ticket/674

decrement depth for hidden tabs.

Initialize state from url
useing delete for removing state
stricter attribute matching
not incrementing depth for all hidden tabs.
whitespace cleanup
2011-06-28 22:40:42 +00:00
Endi S. Dewata
7452b6d3cb Fixed entity labels.
The entity labels in the following locations have been fixed:
 - search facet title: plural
 - details facet title: singular
 - association facet title: singular
 - breadcrumb: plural
 - adder dialog title: singular
 - deleter dialog title: plural

Some entity labels have been changed into the correct plural form.
Unused file install/ui/test/data/i18n_messages.json has been removed.

Ticket #1249
Ticket #1387
2011-06-27 12:11:22 -04:00
Endi S. Dewata
1717d638fc Added record count into association facet tabs.
The details and association facets have been modified to show the number of records in each association in the corresponding facet tab.

Ticket #1386
2011-06-24 12:05:51 -04:00
Endi S. Dewata
975e2bfa2b Added navigation breadcrumb.
Navigation breadcrumb has been added to the facet header. The
breadcrumb will appear on details, association, and automount
facets.

Ticket #1323
2011-06-23 15:50:55 -04:00
Endi S. Dewata
c8eb76766a Converted entity header into facet header.
The content and the size of entity header changes depending on the
facet being displayed, so the entity header has been converted into
a facet header to allow better control via CSS.

The DNS record facet has been updated to use the same styling and
support scrolling.

To help styling and testing, all buttons have been assigned a name.
2011-06-23 15:50:49 -04:00
Adam Young
38f4368e30 no redirect on unknown error If the error name is indicates a server wide error, do not attempt to redirect.
this variation has a whitelist of errors on which to redirect.

https://fedorahosted.org/freeipa/ticket/1281
2011-06-20 18:46:48 +00:00
Endi S. Dewata
79ce958a3c Storing page number in URL.
The association facet has been modified to store the current page
number in the browser's URL. This way page changes are stored in
browser's history allowing the back button to work properly.

Ticket #1264
2011-06-17 16:01:40 -04:00
Endi S. Dewata
313f201ea5 Merged direct and indirect association facets
The direct and indirect associations are now displayed in the same
facet. The type of association to be displayed can be selected
using radio buttons.

Ticket #1338
2011-06-16 20:11:22 -04:00
Endi S. Dewata
d6343f4bb0 Fixed self-service links.
In self-service mode the user's association facets have been modified
such that the entries are not linked since the only available entity
is the user entity.

A 'link' parameter has been added to IPA.association_facet and
IPA.column to control whether to link the entries. The link_handler()
method can be used to define how to handle the link.

Ticket #1072
2011-06-16 11:51:25 -04:00
Endi S. Dewata
82fbfbd773 Fixed paging for indirect members.
Since ticket #1273 has been fixed, the indirect members can be shown
using the regular association facet which supports paging.
2011-06-15 19:46:56 -04:00
Adam Young
17dccbdecc no redirect on search
https://fedorahosted.org/freeipa/ticket/1281
2011-06-15 14:09:33 -04:00
Endi S. Dewata
cb70784e6f Entitlement status.
A new facet has been added to show entitlement status and download
the registration certificate.
2011-06-13 09:23:29 -04:00
Endi S. Dewata
9704adfe44 Fixed resizing issues.
The UI has been modified to fix some resizing issues:

Previously the height of facet content was roughly calculated using
resize(). Now the height can be more accurately defined in CSS.

Previously the UI width was fixed. The HTML layout and background
images have been modified to support horizontal expansion if needed.
2011-06-13 09:23:29 -04: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
34c5d996d7 Temporary fix for indirect member tabs.
Since the group-show command doesn't return indirect members, the tabs
for group's indirect members have been reverted to call user-find with
the --in-groups parameter to get the entries.

However, this is only a temporary solution since the user-find command
returns both direct and indirect members (ticket #1273).

The Selenium test for groups has been modified to test nested groups
and verify indirect members. The verification currently will fail due
to the above issue.
2011-06-02 20:09:07 -04:00
Adam Young
7486a33221 scrollable content areas
Turn off the side scroll bars for pages.

Resizes the table when the browser resizes

For stables, the rows scroll, but not the header.
For details, the content area scrolls.
Reserves 400 picesl for the header/ footer.   Resize is only done on reload
2011-06-02 14:28:24 -04:00
Adam Young
6039fdd6b3 redirect on error Code for redirecting on error has been moved to IPA.facet so it can be called from both details and assocaiton facets. 2011-06-01 14:56:58 +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
58c1950566 Fixed URL parameter parsing.
The $.bbq.getState() invocations have been modified not to coerce
URL parameter values to avoid parsing error.

Ticket #1208
2011-05-26 20:35:06 -04:00
Adam Young
1636d64926 automount UI
automount implemented using standard facets and containing_entity pkey generation

sample data fixtures for automount.

messages for automount and HBAC.

modified form of the search facet used to nest the automount entities

Add works for nested entities.  Delete works for all but keys.  Since the API for this is going to change, I'm not going to fix it pre-checkin.

All the places the PKEY prefix is needed uses a single function. Added breadcrumb trail into title.

update ipa_init sample data

add redirect logic for pages without pkeys.

add and delete link to appropriate entities for nested search facet.

Using on demand entities.  Fixed breadcrumbs.
2011-05-26 14:53:40 -04:00
Endi S. Dewata
2a4edbda4d Fixed adder dialog title.
The IPA.entity_builder has been fixed to use the correct title
for the entity's adder dialog.

Ticket #1239
2011-05-24 12:41:11 -04:00
Endi S. Dewata
46137fdf89 jQuery ordered map.
The ordered map is a jQuery extension for creating a collection which can
be accessed both as an ordered list and as a map. This collection can be
used to store various objects including entities, fields, columns, and
dialogs. A test suite for this class has been added as well.

Ticket #1232
2011-05-20 12:11:47 -04:00
Endi S. Dewata
a7f9814ab7 Read-only association facet.
The IPA.association_facet has been modified to take a read_only parameters.
If the parameter is set to true, the Enroll and Delete buttons will not be
shown. All facets under the memberindirect and memberofindirect facet groups
are marked as read-only.

Ticket #1030
2011-05-16 21:05:49 -04:00
Endi S. Dewata
f9a8d772e3 Customizable facet groups.
The IPA.entity has been modified to support customizable facet groups.
The default list of facet groups is defined in IPA.entity_header and can
be overriden in the entity definition.

Ticket #1219
2011-05-16 13:18:51 -04:00
Endi S. Dewata
a4aba826a0 Added facet container.
Facet container has been added to hold facet header (i.e. title,
search fields, buttons, links) and facet content. Each facet now
occupies separate container, so it can be shown/hidden without
having to redraw the content.
2011-05-05 14:57:45 -05:00
Endi S. Dewata
dd89c28654 Moved entity contents outside navigation.
Previously the entities and navigation are entangled inside a common
DOM structure which limits code reuse. Now they have been moved
into separate structures.
2011-05-05 12:14:43 -05:00
Endi S. Dewata
5eb9f088f2 Use entity names for tab state.
Previously the tab state is represented using numeric index such
as navigation=0&identity=1 which is not very user friendly. Now the
code has been modified to use entity names such as
navigation=identity&identity=group.
2011-05-05 12:14:34 -05:00