Commit Graph

71 Commits

Author SHA1 Message Date
Petr Vobornik
835c7859c5 Update of confirmation of actions
This patch is changing confirmation of actions according to ticket #3035, see the ticket description.

It does following changes:
 * Confirmation of update action was removed.
 * Action lists resets to first action (which is usually a NOP: '-- select action --') on change of displayed entry.
 * New confirmation dialog was implemented. It is used for action confirmation. It is used in IPA.action to replace the call of window.confirm(message). The old call is a modal window which blocks all JS functionality and has different style than other dialogs in Web UI. The new one has same design and doesn't block background operations.

 https://fedorahosted.org/freeipa/ticket/3035
2012-09-06 17:36:29 +02:00
Petr Vobornik
81007ff385 Successful action notification
User was not notified about success of actions executed from action list, action panel or facet cotrol bar.

This patch adds IPA.notify_success(message) call. It creates a yellow notification area with supplied message in Web UI header in the middle of the green area (empty space of first level navigation).
This area is displayed for 3s and then it fades out (800ms). It also fades out when it is clicked.

This call is used(directly or indirectly) in:
 * search facets: delete, disable, enable actions
 * details facets: delete action
 * user details facet: reset password action
 * host details facet: unprovision, set OTP actions
 * service details facet: unprovision action
 * host and service details facet: request, revoke, restore certificates actions
 * group details facet: change to POSIX/external actions
 * dns zone details facet: add/remove permission actions

 https://fedorahosted.org/freeipa/ticket/2977
2012-08-29 12:00:06 +02:00
Petr Vobornik
690211adb5 Update other facets on delete from search page
When an object in search facet was deleted, other facets were not notified that they need to refresh. If one crated object with same pkey as deleted object and then navigated to it's details he could see old object's data.

This notification was added.

https://fedorahosted.org/freeipa/ticket/2618
2012-08-14 08:26:54 +02:00
Petr Vobornik
306f380258 Refactored action list and control buttons to use shared list of actions
This is a first step for implementing action panels which will also use the shared list of actions.

This effor changes the way how action list and control buttons are defined. First all actions are defined on facet level - attribute 'actions' in spec file. Implementation of action list widget is not specified on facet level. It is left in facet header. A list of action names used in action list can be now specified in facet spec in 'header_actions' attribute.
Control buttons use similar concept. Facet by default is using control_buttons_widget. Details and search facet are defining their own default actions (refresh/add/remove/update/reset). Additional buttons can be defined as array of action names on facet level in control_buttons attribute.

state_evaluators and state_listeners were united. They are called state_evaluators but they uses state_listener concept, they are attached to an event. For former state_evaluator the event is post_load. They are defined in spec in state attribute. State object purpose is to aggregate states from all state evaluators. It offers changed event to which can other objects subscribe. It also has summary evaluator which evaluation conditions.  Summary evaluator creates summary status with human readable description. It can be used by facet header.

https://fedorahosted.org/freeipa/ticket/2248
2012-06-04 10:45:07 +02:00
Petr Vobornik
2c11dcda25 Batch action for search page control buttons
This patch implements a base action which can execute a batch of commands with single pkey as a parameter.

https://fedorahosted.org/freeipa/ticket/2707
2012-05-11 18:30:48 +02:00
Petr Vobornik
eeac88238a Hide search facet add/delete buttons in self-service
Adds hiding/showing capabilities to action_button_widget. This patch is fixing regression caused replacing old details facet buttons with control_buttons_widget. The problem was that some buttons were not hidden in self-service mode.

https://fedorahosted.org/freeipa/ticket/2707
2012-05-11 18:30:48 +02:00
Petr Vobornik
29059cd45d Redefined search control buttons
This patch replaces old search facet action buttons with new control_buttons_widget.

https://fedorahosted.org/freeipa/ticket/2247
2012-05-11 18:30:48 +02:00
Petr Vobornik
bbe672a2ae Facet expiration flag
Problem:

For performance reason a facet may cache the data in browser's memory. There should be a flag to indicate whether a facet has expired and should be refreshed. The expired flag could be set by these events:

 1) any update operation
 2) changing search filter in search facet
 3) switching page in a multi-paged search/association facet
 4) switching direct/indirect view in association facet
 5) facet expiration time
A facet should be able to use these methods to refresh itself:
 6) on demand: an expired facet should be refreshed when a user opens it.
 7) automatic: an open facet should automatically refresh itself when it expires.

Solution:

This patch solves cases: #2, #3, #5, #6. Case #4 works without any change. Case #1 will be solved later. Case #7 is deffered.

Default expiration timeout was set to 10 minutes.

In this patch are also updated facet.needs_update methods to reflect changes in containing facets.

https://fedorahosted.org/freeipa/ticket/2075
2012-03-29 13:39:37 +02:00
Petr Vobornik
66692127c6 Show_content on refresh success
If an error content is displayed a successfull refresh doesn't show properly populated facet content. This patch adds show_content call to refresh success handlers which solves the problem.

https://fedorahosted.org/freeipa/ticket/2449
2012-03-19 18:37:39 +01:00
Endi Sukma Dewata
0c4500738b Hide Add/Delete buttons in self-service mode.
Users do not have add/delete permission in self-service mode, so
the search facet was modified to hide the Add/Delete buttons.

Ticket #2188
2012-02-01 15:51:21 +01:00
Petr Voborník
191f05e477 Added paging to DNS record search facet
Paging in DNS record search facet was disabled because there was a mismatch between primary keys sent by server and values displayed in the facet.

The facet was modified to enable paging. To preserve amount of information which was displayed before, current rows have variable height - they can contain more that one line depending on number of values in the record. Each record has a checkbox and indsname in its first line to distinguish one record from others. Because there is only one checkbox for record, delete command is called with --rem-all option which causes that entire record is removed. Individual values can be deleted in record's details facet.

https://fedorahosted.org/freeipa/ticket/2094
2012-01-31 08:39:12 -06:00
Petr Voborník
71f9343480 Added refresh button for UI
Web UI is caching records. Currently only possible ways how to display updated record which was changed elsewhere - ie. in CLI are:
 * refresh page in browser (takes really long on slow vpns)
 * search facet: change filter, find, change filter back, find
 * entity details: go to search, select other entry, go back to search, select original entry
 * association facet: same as entity details

These are unconvenient methods.

This patch adds Refresh button to search, details and association facet. This button executes facets refresh method.

https://fedorahosted.org/freeipa/ticket/2051
2012-01-30 17:46:57 -06:00
Endi Sukma Dewata
7c0c39581c Enabled paging on automount keys.
The automount keys search facet has been modified to support paging.
Since the automountkey-find command doesn't support --pkey-only
option, the facet is configured such that during a refresh operation
it will retrieve all entries (including the key and info attributes)
and then display only the ones that are supposed to be visible in
the current page.

Ticket #2093
2012-01-23 15:38:25 +01:00
Endi Sukma Dewata
7529a79f4b Enabled paging on self-service permissions and delegations.
Paging has been enabled on self-service permissions and delegations
list pages. The search facet's get_pkeys() has been fixed to handle
non-array value. New test data files have been added as well.

Ticket #2092
2012-01-16 20:11:18 +01:00
Endi Sukma Dewata
3bfd49a465 Fixed problem removing automount keys and DNS records.
Due to a recent change the deleting automount keys and DNS records no
longer worked. The functions that are supposed to get the selected
values has been fixed to use the correct names and element type. They
also have been converted into methods of the search facets.

Ticket #2256
2012-01-16 12:24:22 +01:00
Endi S. Dewata
5fc064f13e Refactored entity object resolution.
The IPA.get_entity() has been modified to accept either entity name
or entity object. If it receives an entity object it will return
the object itself. Otherwise, it will resolve the name in the entity
registry.

The other_entity variables have been modified to store a reference
to the entity object instead of its name. The test cases have been
modified to use real entity objects instead of just the names.

Ticket #2042
2011-12-21 14:59:49 +01: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 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
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
725e2e4624 Merged widget's metadata and param_info.
The metadata and param_info attributes in widget have been merged
because they are redundant.

Ticket #1436
2011-10-27 13:48:17 +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
5f9fcd1be0 Removed unnecessary HBAC/sudo rule category modification.
Since the Add/Delete links in the association table are disabled when
the category is set to 'all', it's no longer necessary to check the
category before showing the add/delete dialogs and modify the category
before adding entries. Thus, the IPA.rule_association_table_widget is
no longer needed.

Ticket #1692
2011-08-23 22:22:41 +00:00
Petr Vobornik
4a72593893 Uncheck checkboxes in association after deletion
https://fedorahosted.org/freeipa/ticket/1639
2011-08-19 20:54:22 +00:00
Petr Vobornik
e8b64be673 error dialog for batch command
https://fedorahosted.org/freeipa/ticket/1597
https://fedorahosted.org/freeipa/ticket/1592

Added option to show multiple errors in error dialog.
2011-08-17 17:27:57 +00: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
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
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
Endi S. Dewata
4bd85ceb90 Fixed label capitalization
The CSS text-transform sometimes produces incorrect capitalization,
so the code has been modified to use translated labels that already
contain the correct capitalization.

Ticket #1424
2011-07-14 11:44:48 -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
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
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
Adam Young
17dccbdecc no redirect on search
https://fedorahosted.org/freeipa/ticket/1281
2011-06-15 14:09:33 -04:00
kylebaker
fb6f06d94d Search bar style and positioning changes 2011-06-14 21:17:13 +00: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
c0f155bbfe automount delete key
indirect automount maps

code review changes for automount:

Removed: fields for mount and parentmap in maps details since they are not present in show or mod

Hid undo link for adder dialog

set up click handler for checkboxes when row does not have primary key

removed add override in automountmap_adder_dialog

moved 'var input...' in automount.js  line 158 to start of method.

changed logic in if statmenet ,dialog.js line 628 it if (!first) as suggested
2011-06-01 22:15:11 -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
0238cb845a Fixed Ajax error handling.
The IPA.command has been modified not to insert a title into the error
object thrown by Ajax operation because the object could be immutable.

Ticket #1240
2011-05-20 14:01:02 -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
314d6be229 Updated DNS interface.
The IPA.records_facet has been converted into a subclass of
IPA.search_facet. This helps remove duplicate table code and provide
consistent DOM element attributes for Selenium tests.
2011-05-11 11:17:30 -04:00