Commit Graph

382 Commits

Author SHA1 Message Date
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
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
6d3924024c Field for DNS SOA class changed to combobox with options
https://fedorahosted.org/freeipa/ticket/602

SOA class is an enumerated field. Changing input field to combobox with options allows inserting only valid value.
2011-11-04 03:32:20 +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
Adam Young
237a021848 Add priority to pwpolicy list
First step to solving

https://fedorahosted.org/freeipa/ticket/1977
2011-11-01 17:09:14 +00:00
Endi S. Dewata
555b13b9aa Added password field in user adder dialog.
The user adder dialog has been modified to provide optional fields
to specify password during user creation.

Ticket #1646
2011-10-27 15:05:26 +00:00
Endi S. Dewata
916d08719b Fixed inconsistent details facet validation.
The details facet validation has been moved out of update() such
that all subclasses perform consistent validation.

Ticket #1455
2011-10-27 15:03:33 +00:00
Endi S. Dewata
52981883ab Fixed inconsistent image names.
The images have been renamed to be more consistent and moved into
the "images" directory to mimic the original jQuery UI structure.

Ticket #1613
2011-10-27 14:05:12 +00:00
Endi S. Dewata
7142cee430 Refactored validation code.
The validation code in details facet, dialog, and sections have
been modified to work more consistently.
2011-10-27 13:48:51 +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
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
Endi S. Dewata
dceac44cfd Fixed problem clearing validation error on checkboxes.
The IPA.checkboxes_widget has been modified such that it performs
validation when the checkboxes are clicked. This will also clear any
validation errors.
2011-10-26 23:54:47 +00:00
Endi S. Dewata
5773afad44 Fixed host Enrolled column.
The Enrolled column in the host search page has been added back
to show the host enrollment status based on has_keytab attribute.

Ticket #2020
2011-10-26 12:55:04 +00:00
Endi S. Dewata
f168afbeb6 Removed HBAC deny rule warning.
The HBAC deny rule is no longer supported so it's no longer necessary
to show the warning.

Ticket #1444
2011-10-26 12:53:28 +00:00
Petr Vobornik
4833b208b2 Minor visual enhancement of required indicator
https://fedorahosted.org/freeipa/ticket/1696

Changes:
 * in details table facet '*' don't break colon alignment
 * bolder, bigger (-> IMHO nicer) asteriks
 * float (visual style) moved to css file
2011-10-25 15:13:30 +00: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
Adam Young
b4ebcad0e0 remove enrolled column
We don't have a value in the API  that accuratly reflects the enrollment data.

https://fedorahosted.org/freeipa/ticket/2020
2011-10-24 14:44:17 +00:00
John Dennis
9a039acb22 Ticket 1201 - Unable to Download Certificate with Browser
Certificates are passed through the IPA XML-RPC and JSON as binary
data in DER X509 format. Queries peformed against the LDAP server
also return binary DER X509 format. In all cases the binary DER
data is base-64 encoded.

PEM is standard text format for certificates. It also uses base64 to
encode the binary DER data, but had specific formatting
requirements. The base64 data must be wrapped inside PEM delimiters
and the base64 data must be line wrapped at 64 characters.

Most external software which accepts certificates as input will only
accept DER or PEM format (e.g. openssl & NSS). Although base64 is
closely related to PEM it is not PEM unless the PEM delimters are
present and the base64 data is line wrapped at 64 characters.

We already convert binary DER certificates which have been passed as
base64 in other parts of the IPA code. However this conversion has not
been available in the web UI. When the web UI presented certificates
it did so by filling a dialog box with a single line of base64 data. A
user could not copy this data and use it as input to openssl or NSS
for example.

We resolve this problem by introducing new javascript functions in
certificate.js. IPA.cert.pem_cert_format(text) will examine the text
input and if it's already in PEM format just return it unmodified,
otherwise it will line wrap the base64 data and add the PEM
delimiters. Thus it is safe to call on either a previously formated
PEM cert or a binary DER cert encoded as base64. This applies to
pem_csr_format() as well for CSR's.

Because pem_cert_format() is safe to call on either format the web UI
will see the use of the flag add_pem_delimiters was eliminated except
in the one case where the IPA.cert.download_dialog() was being abused
to display PKCS12 binary data (pkcs12 is neither a cert nor a cert
request). Because of the abuse of the cert.download_dialog() for
pkcs12 it was necessary to retain the flag which in effect said "do
not treat the data as PEM".

Modify the CSR (Certificate Signing Request) dialog box to accept a
PEM formatted CSR. Remove the artifical PEM delimiters above and below
the dialog box which were used to suggest the input needed to be sans
the delimiters. The dialog box continues to accept bare base64 thus
allowing either text format.

Also note this solves the display of certificate data in the UI
without touching anything existing code in the server or command line,
thus it's isolated.
2011-10-21 15:29:47 +00:00
Petr Vobornik
40f9f52a76 Fixing infinite loop in UI navigation unit test.
https://fedorahosted.org/freeipa/ticket/1531

It's a fix for regression introduced by previous patch.
2011-10-20 13:13:58 -02:00
Endi S. Dewata
24cedc4154 Fixed dependency problem in UI test. 2011-10-20 12:17:10 -02:00
Petr Vobornik
1dda03120e Fixed: Duplicate CSS definitions
https://fedorahosted.org/freeipa/ticket/1565

The ipa.css, ipa_error.css and ipa_migration.css contain some duplicate definitions which cause maintenance problems.

Additional changes:
* fixed whitespaces in ipa.css
* unified headings in config pages
2011-10-19 10:44:44 -02: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
Petr Vobornik
1e53914221 Fixed: Unable to add external user for RunAs User for Sudo rules
https://fedorahosted.org/freeipa/ticket/1987

There is no way to add root or any external user as a RunAs User for a Sudo
Rule.
2011-10-17 14:01:16 -02:00
Adam Young
93ddfd008a Fix dynamic display of UI tabs based on rights
Fixes the webui for the case wherea user is not admin but has a role. In
that case, the UI should show the full administrative tabset, but was
instead limited to the selfservice tabset.

The problem was rolegroup had been renamed to role but the UI hadn't
been updated to reflect this.

Addresses
https://bugzilla.redhat.com/show_bug.cgi?id=745957
https://fedorahosted.org/freeipa/ticket/1970
2011-10-12 23:19:54 -04:00
Petr Vobornik
89b869d2c2 Added missing fields to password policy page
https://fedorahosted.org/freeipa/ticket/1944

No editable fields exist for "maxfail", "failinterval" "lockouttime" and "priority" in password policy page.
2011-10-10 18:50:34 -04:00
Petr Vobornik
59cd7f51c4 Split Web UI initialization to several smaller calls
https://fedorahosted.org/freeipa/ticket/1933

Web UI init method was modified to get initialization data in 3 calls.
First call remains the same as before except that the json_metadata command
was removed.

JSON metadata are requested after successful response of the first batch command.
This approach should preserve functionality in IE (where request is missing after
authentication). Getting JSON metadata is split to two commands - this should prevent
the error in linked ticket. These two commands are paralelly executed by new
concurent_command object.

Concurrent command waits for all responses then it calls each command's success
handler.
2011-10-09 23:32:55 -04:00
Petr Vobornik
6be3ef1681 Split Web UI initialization to several smaller calls #2
https://fedorahosted.org/freeipa/ticket/1933

Modified data files for offline testing.
2011-10-09 23:32:55 -04:00
Petr Vobornik
a0470afdcd Fixed links to images in config and migration pages
https://fedorahosted.org/freeipa/ticket/1932

Description of problem:
Title is missing while configuring browser for the first time.

Actual results:
There is no title on this screen. I noticed it only on step 8 and later so I am not sure if title is also missing earlier at step 6 or not.

Expected results:
Title "Identity Management" is always present.

Fixed:
 * modified paths to images
 * fixed padding in ssbrowser.html
 * moved browser icons to ui folder
 * deleted unused images in html and migration folders (they are already in ui folder, and weren't deployed)

whitespaces
2011-10-06 23:24:12 -05:00
Petr Vobornik
95b85f907b Disables gid field if not posix group in group adder dialog
https://fedorahosted.org/freeipa/ticket/1922

gidNumber is not an allowed attribute for a non-posix group.  When adding a non-posix group from the UI, unchecking the "Is this a POSIX group?:" box should disable the "GID:" field.
2011-10-06 13:14:51 +02:00
Endi S. Dewata
e9c8581ffc Added selectable labels for radio buttons.
The radio buttons in association facet and radio widget are now
linked to their labels so that they can be selected by clicking
the labels.

Ticket #1782
2011-10-05 15:08:07 +02: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
Endi S. Dewata
4db088d7f4 Disable sudo options Delete button if nothing selected.
The Delete button for sudo options in sudo rule details page now
will only work if there is at least one row selected.

Ticket #1896
2011-10-03 15:15:45 +02:00
Endi S. Dewata
62817a4f72 I18n clean-up.
The hard-coded 'undo' and 'undo all' labels have been moved into
internal.py to allow translation.

Ticket #1897
2011-10-03 15:13:38 +02:00
Endi S. Dewata
5d0fc849f4 Fixed missing default shell field.
The config default page has been fixed to provide a field for the
ipadefaultloginshell attribute.

Ticket #1895
2011-09-30 12:58:54 -05: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
f99ab781ea Disable enroll button if nothing selected.
A new IPA.dialog_button class has been added to encapsulate the
buttons in the dialog box so they can be managed more easily.

The adder dialog has been modified to disable the enroll button if
there is no entries selected.

Ticket #1856
2011-09-29 16:57:19 +00:00
Endi S. Dewata
ecb58275e3 Use editable combobox for service type.
The service type field in the service adder dialog has been modified
to use an editable combobox.

Ticket #1633.
2011-09-29 16:57:05 +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
54dc9670f8 Updated color scheme.
The UI background has been replaced with new images from UXD.

Ticket #1842
2011-09-28 14:07:07 +00:00
Petr Vobornik
2028a4095d Fixed: Enrolment dialog offers to add entity to reflexive association.
https://fedorahosted.org/freeipa/ticket/1883

It's a regression introduced by patch for #1797

Reproduce:

 * show user group foo
 * click on user groups tab
 * click on enroll button

Result:
User group 'foo' is listed in available list.

Expected result:
User group 'foo' is not listed in available list.
2011-09-27 14:44:00 +00:00
Endi S. Dewata
a2a42c3be8 Fixed duplicate entries in enrollment dialog.
The IPA.association_adder_dialog has been modified not to show
search results that are already selected to prevent duplicates.

Ticket #1859
2011-09-27 14:43:48 +00:00
Endi S. Dewata
050d7f0944 Fixed add/delete arrows position.
The IPA.adder_dialog has been modified such that it shows the >>
arrow first then the << arrow.

Ticket #1858
2011-09-26 16:40:37 +00:00
Endi S. Dewata
2b322a46a6 Replaced description text fields with text areas.
Ticket #1783
2011-09-26 16:38:21 +00:00
Endi S. Dewata
f9477be9e9 Updated DNS zone details page.
The DNS zone details page has been modified to use radio buttons for
active zone and dynamic update fields, and text area for BIND update
policy field.

Ticket #1781, #1785
2011-09-26 14:57:28 +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
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
eaf0a83ab1 Fixed problem on combobox with search limit.
The IPA.combobox_widget has been modified such that if the drop-down
list doesn't contain the stored value (due to search limit) it will
not select anything from the list.

The widget has also been modified not to select the value that matches
the filter automatically because that might not be the user's intention.

Ticket #1819
2011-09-23 13:15:57 +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