Commit Graph

85 Commits

Author SHA1 Message Date
Petr Vobornik
5b103ca5b5 Continuation of removing of not supported command options from Web UI
This patch removes following non-existing command options:
 * all,rights in host_disable
 * record_type in dns_record_add
 * all,rights in various xxx_remove_xxx commands used in rule_association_table_field (removing association)

https://fedorahosted.org/freeipa/ticket/2878
2012-06-29 11:56:29 +02:00
Petr Vobornik
bd36600efe Refactored entities to use changed actions concept
It's continuation of previous refactoring effort. This part is changing specs in entities to used changed concept.

https://fedorahosted.org/freeipa/ticket/2248
2012-06-04 10:45:07 +02:00
Petr Vobornik
02b942a72e Correction of nested search facets tab labels
Nested search facets were using 'search' tab label instead of their nested entity name.

This patch is fixing that regression.

https://fedorahosted.org/freeipa/ticket/2744
2012-05-15 13:06:06 +02:00
Petr Vobornik
69877296dc Host page fixed to work with disabled DNS support
When DNS support was disabled there were following errors in Web UI:
 1) Host details page was not filled with data
 2) Host adder dialog was broken -> unusable
 3) DNS tab was displayed in navigation

The bugs were fixed by:

1) Was caused by entity_link_widget. The widget was modified to do not show link if other_entity (in this case dnsrecord) is not present.

2) Was caused by host_fqdn_widget. The widget is unusable becouse withou DNS support it doesn't have access to DNS zone entity. The section with this widget was removed. Also IP address field was removed because it shouln't be used without DNS support. New 'fqdn' text box was added for specifying hostname.

3) New DNS config entity was initialized but it wasn't shown because it caused some JavaScript error. The dnsconfig's init method was modified to throw expected exception. Now no dns entity is initialized and therefore DNS tab in navigation is not displayed.

https://fedorahosted.org/freeipa/ticket/2728
2012-05-15 12:51:57 +02:00
Petr Vobornik
472f9fc5aa Consistent change of entry status.
This patch adds action list and control buttons for consistent change of enty status for user, hbac rules, sudo rules, SELinux maps and dns zones.

Action lists with 'enable' and 'disable' and 'delete' options were added to details facets.
Two control buttons: 'enable' and 'disable' were added to search facets.

https://fedorahosted.org/freeipa/ticket/2247
2012-05-11 18:30:48 +02:00
Petr Vobornik
db24a831d4 DNS forward policy: checkboxes changed to radio buttons
DNS forward policy fields were using mutually exclusive checkboxes. Such behavior is unusual for users.

Checkboxes were changed to radios.

https://fedorahosted.org/freeipa/ticket/2599
2012-04-10 15:44:05 +02:00
Petr Vobornik
18a6ab356a Inter-facet expiration
Problem:

When some facet perform action which modifies data, some other facet may become expired.

Example: User modifies group's description. Now group search facet contains old data and has to be refreshed.

Solution:

New event was added to facet: on_update. It should be executed when facet performs action which modifies data ie: details facet update or add entry to dnsrecord.

Then entity policies were introduced. Entity policies are a objects which are stored in entity.policies. They have similar function as facet_policies - performing communications and other functionality between facets. This way facets don't have to contain such logic and thus they aren't dependant on each other.

This patch adds IPA.facet_update_policy, IPA.adder_facet_update_policy, IPA.search_facet_update_policy, IPA.details_facet_update_policy.

IPA.facet_update_policy: On facets_created it bind itself to [current entity].[source facet].[event]. Default event is on_update. When the event is executed it sets expiration flag to [dest entity].[dest facet].

IPA.search_facet_update_policy: IPA.facet_update_policy where source facet = search, dest facet = details, dest entity = current entity. Its a default policy for updatein changes from search facet to details facet. Right now it isn't needed but it will be needed when action lists come to play.

IPA.details_facet_update_policy: same as IPA.search_facet_update_policy just reversed. Very important.

IPA.adder_facet_update_policy: similar functionality, just source of the event is dialog. Default event is added (new event in entity_adder_dialog).

Entity policies should be specified in entity's spec object. If none are specified a default ones are used. Default policies are: IPA.search_facet_update_policy and IPA.details_facet_update_policy.

https://fedorahosted.org/freeipa/ticket/2075
2012-03-29 13:39:53 +02:00
Petr Vobornik
661d82ad75 DNS forwarder validator
DNS forwarder's value can consist of IP address and a port.

The syntax is '<IP ADDRESS> port <PORT>'. A new validator was created for this purpose. It is based on IP address validator.

https://fedorahosted.org/freeipa/ticket/2490
2012-03-20 17:32:18 +01:00
Petr Vobornik
1b0ede0776 Add support of new options in dnsconfig
dnsconfig was extended of new attributes, so reflecting it in UI.

New attributes:
  * idnsForwardPolicy
  * idnsAllowSyncPTR
  * idnsZoneRefresh

 https://fedorahosted.org/freeipa/ticket/2489
2012-03-20 17:32:16 +01:00
Petr Vobornik
6066432f0d Fixed mask validation in network_validator
Network validator allowed invalid mask format:
 * leading zeros: 192.168.0.1/0024
 * trailing chars: 192.168.0.1/24abcd

It was fixed.

https://fedorahosted.org/freeipa/ticket/2493
2012-03-14 09:07:58 +01:00
Petr Vobornik
31eebda584 Removed CSV creation from UI
Creating CSV values in UI is unnecessary and error-prone because server converts them back to list. Possible problems with values containing commas may occur.  All occurrences of CSV joining were therefore removed.

https://fedorahosted.org/freeipa/ticket/2227
2012-03-02 11:45:21 -06:00
Petr Voborník
7da8d2f296 Added unsupported_validator
dnszone attributes idnsallowquery and idnsallowtransfer have valid but currently unsupported values: 'localhost' and 'localnets'.

New validator was introduced for unsuported values. By using this validator user can see that the value is currently unsupported instead of showing 'invalid value' or passing the value to server and creating error there.

https://fedorahosted.org/freeipa/ticket/2351
2012-02-29 12:59:13 +01:00
Petr Voborník
cf60e7e71e Fixed DNS record add handling of 4304 error
Fixed hanling of 4304 error in DNS record add.

Code which handled this error in host-add was generalized and moved to IPA. DNS record add both in adder dialog and dns record table are using this generalized version.

https://fedorahosted.org/freeipa/ticket/2349
2012-02-29 12:59:13 +01:00
Petr Voborník
525bf04da5 Making validators to return true result if empty
All custom validators were changed to return true result if value is empty. Raising error if value is empty is resposibility of check_required call.

This fixes immediate displaying of error message in multivalued fields containing custom validators.

https://fedorahosted.org/freeipa/ticket/2351
2012-02-29 12:59:13 +01:00
Petr Voborník
52208e8b40 Moved is_empty method from field to IPA object
is_empty method represents IPA UI standard of evaluating whether value is empty. Therefore is should be placed in IPA object instead of IPA.field to allow reuse in different locations.

https://fedorahosted.org/freeipa/ticket/2351
2012-02-29 12:59:13 +01:00
Petr Voborník
25bda1e860 New UI for DNS global configuration
UI for DNS global configuration was implemented.

https://fedorahosted.org/freeipa/ticket/2350
2012-02-29 12:59:13 +01:00
Petr Voborník
43bbbf749d Fixed displaying of A6 Record
UI was modified to reflect changes in #2309.

Now it uses a6_part_data attribute instead of a6record. This fixes displaying of values in a table and modification of existing A6 record.

https://fedorahosted.org/freeipa/ticket/2367
2012-02-29 12:59:13 +01:00
Petr Voborník
fbf46fb78c DNS UI: added A,AAAA create reverse options to adder dialog
To DNS record adder dialog were added a_extra_create_reverse and aaaa_extra_create_reverse options.

It's UI part of #2009.

https://fedorahosted.org/freeipa/ticket/2349
2012-02-29 12:59:13 +01:00
Petr Voborník
a1f8c39f88 DNS Zone UI: added new attributes
New attributes were added to DNS zone details facet.

Attributes:
    idnsallowquery
    idnsallowtransfer
    idnsforwarders
    idnsforwardpolicy
    idnsallowsyncptr

New network address validator created for idnsallowquery and idnsallowtransfer attributes.

Network address validator also added to dnszone adder dialog - from_ip field.

https://fedorahosted.org/freeipa/ticket/2351
2012-02-29 12:59:13 +01:00
Petr Voborník
8ad295a554 Redirection to PTR records from A,AAAA records
Address column in A, AAAA DNS records was exented of redirection capabilities.
Redirection dialog is shown after a click on a value.
Dialog does following steps:
 1) fetch all dns zones
 2) find most accurate reverse zone for IP address
    2 -fail) show error message, stop
 3) checks if target record exists in the zone
    3 -fail) show 'dns record create link', stop
 4) redirects

Click on 'dns record create link':
 1) creates record
   1 -fail) show error, stop
 2) redirects

https://fedorahosted.org/freeipa/ticket/1975
2012-02-15 09:23:26 +01:00
Endi Sukma Dewata
ea9d5e6f9a Added icons for status column.
The status formatter was modified to show enabled/disabled icon
before the status text.

The format classes were renamed to formatter to avoid confusion
with the format() method. A new parameter 'type' was added to the
formatter to determine the output type (e.g. text/html).

Ticket #1996
2012-02-01 15:51:10 +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
1f3d8003f7 Modifying DNS UI to benefit from new DNS API
DNS UI was modified to offer structured way of defining DNS records.

https://fedorahosted.org/freeipa/ticket/2208
2012-01-30 17:47:07 -06:00
Endi Sukma Dewata
b353239e59 Fixed inconsistent status labels.
This patch modifies the status attributes in users, DNS zones,
HBAC/sudo rules, HBAC test, and SELinux User Map to use the same
label (i.e. Status) and values (i.e. Enabled/Disabled). The method
to change the status will be modified separately.

Ticket #2247
2012-01-23 15:38:41 +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
Petr Vobornik
74857a8ee4 Added IP address validator to Host and DNS record adder dialog
Also fixed minor issues reagarding IP addresses or multivalued field:
 - removed unnecessary method overrides from multivalued_field
 - fixed extract_child_value method in multivalued_widget to return '' instead of empty arrays when value array is empty
 - net.js - changed method name and error message from 'trailing zeros' to 'leading zeros'

https://fedorahosted.org/freeipa/ticket/1466
2012-01-11 00:48:44 -06:00
Endi Sukma Dewata
74e31cd985 Added policies into user details page.
The user details page has been modified to show the password policy
and Kerberos ticket policy that apply to the user. The policies are
currently displayed as read-only.

Ticket #703
2012-01-10 18:42:26 +01:00
Petr Vobornik
c7ae0c20db Added client-side validation of A and AAAA DNS records
https://fedorahosted.org/freeipa/ticket/1466
2012-01-03 21:28:49 -06: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
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 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
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
fcba1cb216 Modifying dns to work with new concept
https://fedorahosted.org/freeipa/ticket/2040
2011-12-05 16:01:17 +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
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
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
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
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
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
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
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
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
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
Endi S. Dewata
26a2fa027d Fixed problem enabling/disabling DNS zone.
The details facet for DNS zone has been modified to use dnszone-
enable/disable for idnszoneactive and dnszone-mod for other fields.

Ticket #1813
2011-09-22 16:52:59 +00:00