Commit Graph

1096 Commits

Author SHA1 Message Date
Ana Krivokapic
6c9b3b02a4 Fix error message when adding duplicate automember rule
Also fix object_name and object_name_plural for automember rules.

https://fedorahosted.org/freeipa/ticket/2708
2013-11-15 12:46:07 +01:00
Sumit Bose
b5e60c2020 Remove AllowLMhash from the allowed IPA config strings
Fixes https://fedorahosted.org/freeipa/ticket/3795
2013-11-01 09:28:35 +01:00
Petr Vobornik
e3d56597cd Fix password expiration notification
- was broken by navigation and application controller refactoring

https://fedorahosted.org/freeipa/ticket/4003
2013-10-30 13:31:12 +01:00
Petr Vobornik
b599d44816 Registries and Build Guide 2013-10-16 18:08:17 +02:00
Petr Vobornik
dc97b7b460 Navigation Guide 2013-10-16 18:08:17 +02:00
Petr Vobornik
1950ff2411 Plugin Infrastructure Guide 2013-10-16 18:08:17 +02:00
Petr Vobornik
d212d48015 Debugging Web UI guide 2013-10-16 18:08:17 +02:00
Petr Vobornik
3781d33dbe Phases Guide 2013-10-16 18:08:17 +02:00
Petr Vobornik
cd6a2c431e Configuration for JSDuck documentation generator
Installation: https://github.com/senchalabs/jsduck/wiki/Installation Basically it requires ruby and jsduck gem.

Usage:
$ cd install/ui/doc
$ make

Documentation will be generated into: install/ui/build/code_doc directory
2013-10-16 18:08:17 +02:00
Petr Vobornik
efafd7fe87 Web UI source code annotation
Part of ongoing Web UI documentation effort. Source code is annotated in a way that it can be processed by documentation generator.
2013-10-16 18:08:17 +02:00
Petr Vobornik
3fa304d95e Removal of unused code 2013-10-16 18:08:16 +02:00
Petr Vobornik
b4fc6f4ba8 Load updated Web UI files after server upgrade
Issue:
* There was no caching policy specified.
* -> Browsers use their own default policy.
* -> After upgrade, some Web UI files might have been actualized some not.
* -> With schema change may result into weird bugs in Web UI

Solution considerations:

1. Detect server version change and hard-reload at runtime
Detection is easy. Problem is the reload. Obvious candidate 'window.location.reload(true)' works in Firefox but not in Chrome because expected behavior when parameter is used is not in standard and therefore Chromium/WebKit authors did not implement it.

2. Application Cache
HTML 5 technology which lets web apps to run offline. Besides weird issues with event handlers which I encountered, this would be an ideal candidate. Simple change of manifest file would lead to reload of all files (requires reload of page to used the new files).

Showstopper was usage with untrusted certificate. If user did not add exception for the cert or its CA and would visit the page for a second time, all AJAX calls would fail.

3. Set Expires to now() for everything
Web UI rarely changes so this is an overkill. Setting it to different value is not a solution either. We can't predict when the upgrade will happen and when new Web UI will be needed.

Solution:
* Implemented a mini loader which loads basic resources. Dojo loader takes action after Dojo is loaded.
* The loader adds a version parameter (?v=__NUM_VERSION__) to all requests.
* Version is defined in the loader. It's set to current in `make version-update`.
* All static pages use this loader to fetch their resources.
* Version is also passed to dojo loader as cache-bust for the same effect.
* Expire header was set to 'access time plus 1 year' for /ui folder. Exceptions are HTML files and loader (set to immediate expiration).

Possible issues:
* Images are cached but not requested with version param.
  * Images with version and without are considered different
  * -> We would have to attach version to all URIs - in CSS and in JS. But we should avoid changing jQuery UI CSS.
  * Proposed solution is to change image name when changing image. Image change is done rarely.
* Version is set by build and therefore updated just on server update. It might cause trouble with different update schedule of plugins.
  * No action taken to address this issue yet.
  * We might leave it on plugin devs (own .conf in /etc/httpd/conf.d/)
  * or set expires to now for all plugins
* running `make version-update` is required in order to use static version of UI for testing

https://fedorahosted.org/freeipa/ticket/3798
2013-10-16 18:06:30 +02:00
Petr Vobornik
6a124160a5 Fix enablement of automount map type selector
Map type radio used old way of defining that its value should not be used in add command.  Recent patch related to 'enable' attribute hardened/fixed the behavior of radio widgets so they are disabled in UI as well when enabled==false. Automount did not reflect this change.

https://fedorahosted.org/freeipa/ticket/3954
2013-10-03 09:13:45 +02:00
Petr Vobornik
edf0719409 Allow edit of ipakrbokasdelegate in Web UI when attrlevelrights are unknown
Old host entries are missing object class with krbticketflags attribute. Therefore UI does not receive attrlevelrights for it. This OC is added when ipakrbokasdelegate is set.

This patch adds the usual hack for such cases.

https://fedorahosted.org/freeipa/ticket/3940
2013-09-26 10:24:14 +02:00
Petr Vobornik
5c4a72de59 Fix redirection on deletion of last dns record entry
https://fedorahosted.org/freeipa/ticket/3907
2013-09-16 13:56:25 +02:00
Petr Vobornik
92569b712c Update idrange search facet after trust creation
Adding a trust creates a range -> range search facet should be marked as expired.

https://fedorahosted.org/freeipa/ticket/3874
2013-08-28 14:23:42 +02:00
Petr Vobornik
34342b9a97 Show human-readable error name in error dialog title
Fixes RPC server's JSON encoding of exception's name.

It allows to show the name in Web UI's error dialog title.
2013-08-26 13:05:36 +02:00
Petr Vobornik
e61c2e3441 Hide 'New Certificate' action on CA-less install
This action calls cert-request command which is not available on CA-less installs. Thus this action won't be enabled and therefore there is no reason to keep it visible.

https://fedorahosted.org/freeipa/ticket/3363
2013-08-22 15:23:56 +02:00
Petr Vobornik
ca0d959df8 Add base-id, range-size and range-type options to trust-add dialog
https://fedorahosted.org/freeipa/ticket/3049
2013-08-22 15:23:56 +02:00
Petr Vobornik
ed3791d2f3 Removal of deprecated selenium tests
Tests were deprecated by new FreeIPA 3.3 Web UI integration tests (ticket #3744).

https://fedorahosted.org/freeipa/ticket/3857
2013-08-15 13:17:40 +02:00
Ana Krivokapic
b561e85e4a Fix handling of CSS files in sync.sh script 2013-08-13 12:44:17 +02:00
Petr Vobornik
006c4eabd9 Hide delete button in multivalued widget if attr is not writable
https://fedorahosted.org/freeipa/ticket/3799
2013-08-13 12:42:09 +02:00
Petr Vobornik
ff6f958d96 Make ssh_widget not-editable if attr is readonly
https://fedorahosted.org/freeipa/ticket/3800
2013-08-13 12:41:48 +02:00
Tomas Babej
69394bab5a Remove support for IPA deployments with no persistent search
Drops the code from ipa-server-install, ipa-dns-install and the
BindInstance itself. Also changed ipa-upgradeconfig script so
that it does not set zone_refresh to 0 on upgrades, as the option
is deprecated.

https://fedorahosted.org/freeipa/ticket/3632
2013-08-09 12:14:42 +02:00
Ana Krivokapic
69bcfa49d4 Expose ipaRangeType in Web UI
https://fedorahosted.org/freeipa/ticket/3759
2013-07-29 10:38:03 +02:00
Ana Krivokapic
2ca280c56d Honor 'enabled' option for widgets.
https://fedorahosted.org/freeipa/ticket/3793
2013-07-26 16:32:47 +02:00
Petr Vobornik
e08f4620cf Remove word 'field' from GECOS param label
No other param/field has 'field' in a label.
2013-07-23 15:32:13 +02:00
Petr Vobornik
1f89cb959c Break long words in notification area
Long words (ie. service principal) breaks out of notification area. It doesn't look good. Patch adds word-wrap to break them to multiple pieces.
2013-07-23 15:32:06 +02:00
Petr Vobornik
881290b010 Web UI search optimization
This patch optimizes options used in commands executed by search pages.

1) Removed --all from _find and _show commands used by search pages. All displayed attributes should be already included in default attributes.

2) Removed search_all_attributes - Not needed since introduction of paging.

3) Added --no-members options to search _show commmands. Members are not displayed on search pages and such change drastically improves performance. It reduces computations on server and amount of data transferred to Web UI.

https://fedorahosted.org/freeipa/ticket/3706
2013-07-23 13:14:02 +02:00
Petr Vobornik
e3cddab940 Fix container element in adder dialogs
Host and DNS adder dialogs used span element as container for block elements. It's not valid nor consistent with other forms.

'span' was replaced by 'div'

https://fedorahosted.org/freeipa/ticket/3744
2013-07-16 13:15:51 +02:00
Petr Vobornik
a83e879e18 Better automated test support
1. add class to active facet instead of using direct style modification for hiding/showing
2. add name attribute to tables and dialog buttons and error dialog

https://fedorahosted.org/freeipa/ticket/3744
2013-07-16 13:15:47 +02:00
Petr Vobornik
9f223871a7 Disable checkboxes and radios for readonly attributes
https://fedorahosted.org/freeipa/ticket/3764
2013-07-09 11:48:19 -04:00
Martin Kosek
77ae4da706 Remove entitlement support
Entitlements code was not tested nor supported upstream since
version 3.0. Remove the associated code.

https://fedorahosted.org/freeipa/ticket/3739
2013-06-26 14:11:42 +02:00
Petr Vobornik
ac2263d64c Fix default value selection in radio widget
https://fedorahosted.org/freeipa/ticket/3718
2013-06-24 16:58:15 +02:00
Ana Krivokapic
851b091832 Fix displaying of success message
Make sure that the success message is properly populated with actual number of
items that were successfully added/removed.

https://fedorahosted.org/freeipa/ticket/3708
2013-06-13 17:42:46 +02:00
Petr Vobornik
daa9b4e348 Regression fix: rule table with ext. member support doesn't offer any items
There is a JS error.

Rule tables with external member has more than one column and therefore exclude parameter for adder dialog is not array of strings but array of objects. normalize_values function can't work with it and causes JS error.

This patch creates proper exclude array before passing it to adder dialog.

https://fedorahosted.org/freeipa/ticket/3711
2013-06-13 17:42:30 +02:00
Petr Vobornik
fae658f505 Fix regression: missing facet tab group labels
Currently there is only empty space between facet tabs and facet title.

It's a regression caused by recent refactoring.

https://fedorahosted.org/freeipa/ticket/3688
2013-06-05 14:51:45 +02:00
Petr Vobornik
ec41744e76 Regression fix: missing control buttons in nested search facets
Regression introduced by 6e90920233 - 'Move spec modifications from facet factories to pre_ops'.

https://fedorahosted.org/freeipa/ticket/3605
2013-06-03 09:23:24 +02:00
Petr Vobornik
89be148580 Web UI: move ./_base/metadata_provider.js to ./metadata.js
Metadata provider is IPA specific object, not a framework object, so it should not be in _base directory.

https://fedorahosted.org/freeipa/ticket/3604
2013-05-17 12:32:24 +02:00
Petr Vobornik
17caa5dd5a Unite and move facet pre_ops to related modules
Facet pre_ops defined in ./facet module were moved to modules where facet are actually defined. Moved pre_ops were united with the ones defined for the facets in these modules.

The move simplifies module dependencies - there is no reason to have general facet module dependent on specialized facet modules.

Pre_ops uniting makes the code simpler.

https://fedorahosted.org/freeipa/ticket/3605
2013-05-17 12:32:16 +02:00
Petr Vobornik
6e90920233 Move spec modifications from facet factories to pre_ops
Spec modifications in factories makes inheritance and extensibility more difficult.

Moving them to pre_ops allows modification of their output by other pre_ops.

https://fedorahosted.org/freeipa/ticket/3605
2013-05-17 12:32:06 +02:00
Ana Krivokapic
8d07054e1b Do not display success message on failure in web UI
https://fedorahosted.org/freeipa/ticket/3591
2013-05-17 12:31:14 +02:00
Ana Krivokapic
c5bfeb1ed0 Prompt for nameserver IP address in dnszone-add
Prompt for nameserver IP address in interactive mode of dnszone-add.

Add a corresponding field to dnszone creation dialog in the web UI.

This parameter is required if and only if:
* New zone is a forward zone
* Nameserver is defined inside the new zone

Add a new unit test to cover this functionality.

https://fedorahosted.org/freeipa/ticket/3603
2013-05-16 11:01:33 +02:00
Petr Vobornik
2ba3140aff Fix: HBAC Test tab is missing
Caused by typo in metadata provider source path.

No metadata -> no HBAC test entity -> no tab

https://fedorahosted.org/freeipa/ticket/3627
2013-05-14 18:43:54 +02:00
Alexander Bokovoy
03cdc22c94 Resolve SIDs in Web UI
Introduce new command, 'trust-resolve', to aid resolving SIDs to names
in the Web UI.

The command uses new SSSD interface, nss_idmap, to resolve actual SIDs.
SSSD caches resolved data so that future requests to resolve same SIDs
are returned from a memory cache.

Web UI code is using Dojo/Deferred to deliver result of SID resolution
out of band. Once resolved names are available, they replace SID values.

Since Web UI only shows ~20 records per page, up to 20 SIDs are resolved
at the same time. They all sent within the single request to the server.

https://fedorahosted.org/freeipa/ticket/3302
2013-05-06 20:44:00 +02:00
Petr Vobornik
aedded862d Enable standalone facets in menu.add_item
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:31 +02:00
Petr Vobornik
c7bd6de9be Fix crash on host deleletion
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:31 +02:00
Petr Vobornik
57c504a5b9 Fix crash on ssh key add
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:31 +02:00
Petr Vobornik
13ad7da19a Fix WebUI crash when server installed as CA-less
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:31 +02:00
Petr Vobornik
242a090807 Fix trustconfig specification
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:30 +02:00
Petr Vobornik
853cdbbfd3 Navigation: handle invalid routes
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:30 +02:00
Petr Vobornik
c506087227 Builder: Singleton_registry: return null when construction spec not available
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:30 +02:00
Petr Vobornik
cf8bab45fc Fix: make association facets in selfservice readonly
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:30 +02:00
Petr Vobornik
348dc948ff Builder: fix join of pre_ops and post_ops arrays
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:30 +02:00
Petr Vobornik
504fa6c786 Do not offer already added members in association dialogs when different casing
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:30 +02:00
Petr Vobornik
0674d67acc Switch customization and registration phase
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:30 +02:00
Petr Vobornik
c5e99d7cd6 Remove entities.js, facets.js
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:30 +02:00
Petr Vobornik
a069841ff0 Replace ./facets with reg.facet
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:29 +02:00
Petr Vobornik
3599357bcc Fix rule table add/delete button enablement
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:29 +02:00
Petr Vobornik
c151e01e79 Add widget updated event
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:29 +02:00
Petr Vobornik
b184e24f91 Removal of IPA.metadata usages
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:29 +02:00
Petr Vobornik
c3615f0ebc Move spec creations of sudorule, hbacrule, netgroup and selinuxusermap details facet from their factories
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:29 +02:00
Petr Vobornik
4be9383033 Don't automatically refresh facet after action success
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:29 +02:00
Petr Vobornik
c3856f2d3b Remove cert menu item when disabled
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:29 +02:00
Petr Vobornik
ee491bdf38 Replace IPA.metadata.objects... with declarative definitions
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:29 +02:00
Petr Vobornik
14c276d218 Convert definitions of entities to spec objects
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:29 +02:00
Petr Vobornik
a513673f04 Entity build: test for enabled in post_op
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:29 +02:00
Petr Vobornik
aba74aafe5 Builder: handle expected errors in post_ops
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:28 +02:00
Petr Vobornik
9255bb481e Entity: allow definition of facet_groups in entity specs
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:28 +02:00
Petr Vobornik
2182c93e2f Entity registry and builder which allow definition by spec
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:28 +02:00
Petr Vobornik
790853c587 Fix trustconfig after rebase
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:28 +02:00
Petr Vobornik
cf6b83a61e Fix hbactest after rebase
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:28 +02:00
Petr Vobornik
08a5e2c0ca Builder: allow registration without factory or ctor
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:28 +02:00
Petr Vobornik
ac1850a8f0 Use builder for entity dialogs
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:28 +02:00
Petr Vobornik
2cf0542b0d Builders: allow pre_ops and post_ops in build overrides
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:28 +02:00
Petr Vobornik
f188fcdfa7 Replace IPA.get_command_arg calls in specs with provider strings
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:28 +02:00
Petr Vobornik
e4150918f6 Replace IPA.get_command_option calls in specs with provider strings
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:27 +02:00
Petr Vobornik
60b3208cf5 Replace IPA.get_entity_param calls in specs with provider strings
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:27 +02:00
Petr Vobornik
ff81965e71 Allow metadata provider format for field metadata declaration
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:27 +02:00
Petr Vobornik
c206249bd2 Make summary conditions declarative
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:27 +02:00
Petr Vobornik
bee39848d3 Make facet and entity policies declarative
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:27 +02:00
Petr Vobornik
33b584f0a0 Fix incorrect type -> $type conversion
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:27 +02:00
Petr Vobornik
7a3f08002d Replace usage of action factories with types
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:27 +02:00
Petr Vobornik
5be709bf9d Builder and registry for actions
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:27 +02:00
Petr Vobornik
5239d3750e Change widget.build_child interface to the builder's
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:27 +02:00
Petr Vobornik
799bb24931 Builder and registry for validators
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:27 +02:00
Petr Vobornik
511452ec41 Replace formatter creation with definition in specs
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:26 +02:00
Petr Vobornik
ff8580f441 Builder: return null if no spec supplied - fix
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:26 +02:00
Petr Vobornik
9a23e5c9ec Registry and builder for formatters
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:26 +02:00
Petr Vobornik
e100ba7e2b Replace build logic in widget and field builder by new builder
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:26 +02:00
Petr Vobornik
1221fca662 Builder: allow string spec as spec property instead of type
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:26 +02:00
Petr Vobornik
49b7f4c06e Replace IPA.widget_factories and IPA_field_factories with registry
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:26 +02:00
Petr Vobornik
849ece00e3 Builder: global builder and registry
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:26 +02:00
Petr Vobornik
12e10f345b Builder: create Construct_registry by default in builder
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:26 +02:00
Petr Vobornik
621811470a Phases: warn when adding task for nonexistent phase
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:26 +02:00
Petr Vobornik
eee43395dd Builder: build type without prior registration
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:26 +02:00
Petr Vobornik
30276e6983 Builder: add set method to Singleton_registry
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:25 +02:00
Petr Vobornik
86f0b5eb64 Use entities module for entity registration, build and holding
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:25 +02:00
Petr Vobornik
a901f8b0e7 Builder: fix inner array and obj references
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:25 +02:00
Petr Vobornik
bf55d5b412 Builder: remove item from singleton registry
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:25 +02:00
Petr Vobornik
f1a83b6fdc Builder: do not break on expected errors
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:25 +02:00
Petr Vobornik
ffeafa6ec2 Replace IPA.facet_builder with facets.builder
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:25 +02:00
Petr Vobornik
f14393f427 Fix construct registry map reference
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:25 +02:00
Petr Vobornik
1d802d12a4 Builder: allow to use custom factory/ctor when using type
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:25 +02:00
Petr Vobornik
952234ef79 Report phase errors
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:25 +02:00
Petr Vobornik
9f0188684f Handle built object in spec
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:25 +02:00
Petr Vobornik
3b77c63b2a Use IPA.object() as a base factory for framework objects
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:24 +02:00
Petr Vobornik
0dc4b133fb Builder: return object when it's already built
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:24 +02:00
Petr Vobornik
9dc8e26b73 Rename factory to $factory in spec objects modifications
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:24 +02:00
Petr Vobornik
4ae3372682 Builder: fix infinite loop when using spec with circular dependency
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:24 +02:00
Petr Vobornik
dc6995ed7b Builder: fix overrides names - add $
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:24 +02:00
Petr Vobornik
5665ed4676 Builder: return null if no spec supplied
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:24 +02:00
Petr Vobornik
6a034abf95 Rename factory to $factory in spec objects
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:24 +02:00
Petr Vobornik
44c103bab7 Basic build tests
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:24 +02:00
Petr Vobornik
d5b9c0d7d7 Spec utils
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:24 +02:00
Petr Vobornik
a432cc4d28 Rename build constructor to ctor
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:23 +02:00
Petr Vobornik
45b70425fc Replace old builder by new implementation
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:23 +02:00
Petr Vobornik
c9b5038a62 Builder: factory,ctor overrides, mass build
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:23 +02:00
Petr Vobornik
bd89d0088f Modularize details.js
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:23 +02:00
Petr Vobornik
2e0cfb1a78 Modularize group.js
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:23 +02:00
Petr Vobornik
c7cb075887 Builder: added pre_ops and post_ops
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:23 +02:00
Petr Vobornik
fcbf5cc411 Spec modification by diff object
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:23 +02:00
Petr Vobornik
abdb5455d1 Add pre and post build operations
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:23 +02:00
Petr Vobornik
03d3742376 Remove text.get usage from spec
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:23 +02:00
Petr Vobornik
58ebaedb41 Replace IPA.get_message with text.get
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:22 +02:00
Petr Vobornik
9782c80098 Remove invalid label definition from cert search facet
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:22 +02:00
Petr Vobornik
1a7bafe5db Fix facet section labels
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:22 +02:00
Petr Vobornik
d5c0945890 Replace remaining IPA.messages with text.get calls
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:22 +02:00
Petr Vobornik
8ee752c284 Use text.get in IPA.notify_success
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:22 +02:00
Petr Vobornik
ed94fdf190 Replace IPA.messages with @i18n definition for title specs
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:22 +02:00
Petr Vobornik
bc566ede32 Replace IPA.messages with @i18n definition for message specs
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:22 +02:00
Petr Vobornik
5f96e75b74 Replace IPA.messages with @i18n definition for remove_title specs
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:22 +02:00
Petr Vobornik
cebe1bc5a2 Replace IPA.messages with @i18n definition for add_title specs
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:22 +02:00
Petr Vobornik
fcff33fb51 Replace IPA.messages with @i18n definition for label specs
Replaced by execution of
ls | grep .js | xargs sed -i -r "s/label: IPA.messages\.((.\w+)+)/label: '@i18n:\1'/"

https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:21 +02:00
Petr Vobornik
12f5f4cfdd Replace IPA.messages with @i18n definition in spec objects
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:21 +02:00
Petr Vobornik
f492e61f46 Replace IPA.get_message with text.get
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:21 +02:00
Petr Vobornik
09296fc0b3 Use text.get for transforming values supplied by spec
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:21 +02:00
Petr Vobornik
e3ea5e8d50 Limit Provider reporting
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:21 +02:00
Petr Vobornik
13e34216eb Metadata and text providers
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:21 +02:00
Petr Vobornik
1b90b3b65e Add phase on exact position
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:21 +02:00
Petr Vobornik
344e15452a Replace id usage in App widget by class
https://fedorahosted.org/freeipa/ticket/3236
2013-05-06 16:22:21 +02:00
Petr Vobornik
917d834c65 Rename alternation phase to customization
https://fedorahosted.org/freeipa/ticket/3236
2013-05-06 16:22:21 +02:00
Petr Vobornik
cc92060e35 Use dojo/on instead of dojo/topic for facet-xxx events'
https://fedorahosted.org/freeipa/ticket/3236
2013-05-06 16:22:20 +02:00
Petr Vobornik
c0007704e8 Fix add/deletion of automember rule - caused by not setting facet for entity adder dialog
https://fedorahosted.org/freeipa/ticket/3236
2013-05-06 16:22:20 +02:00
Petr Vobornik
6f80b32731 Fix tab switching for nested entities
https://fedorahosted.org/freeipa/ticket/3236
2013-05-06 16:22:20 +02:00
Petr Vobornik
1adad5573b Fix in state change handling and reporting
https://fedorahosted.org/freeipa/ticket/3236
2013-05-06 16:22:20 +02:00
Petr Vobornik
0df5297d2b Fixed errors in DNS pages
* adding, removing of dns zone permission was broken
* add/del/update of dns record value in record details facet was broken
* redirection from A/AAAA record to corresponding PTR record was broken

https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:20 +02:00
Petr Vobornik
4c290a6083 Proper removal of dns menu item when dns is not installed
https://fedorahosted.org/freeipa/ticket/3236
2013-05-06 16:22:20 +02:00
Petr Vobornik
c111ffb9f2 Menu proxy
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:20 +02:00
Petr Vobornik
6c2bfe6dc0 Fix hbactest styles
https://fedorahosted.org/freeipa/ticket/3236
2013-05-06 16:22:20 +02:00
Petr Vobornik
74b6099fb0 Web UI plugin loader
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:20 +02:00
Petr Vobornik
953f599415 Fix unit tests
https://fedorahosted.org/freeipa/ticket/3236
2013-05-06 16:22:19 +02:00
Petr Vobornik
8a0f60cf46 Add handling of runtime and shutdown phase. App-init renamed to init.
https://fedorahosted.org/freeipa/ticket/3236
2013-05-06 16:22:19 +02:00
Petr Vobornik
89635f1bc3 Fix dirty dialog behavior
Dirty dialog was displayed twice because of double event registration in menu widget.

https://fedorahosted.org/freeipa/ticket/3236
2013-05-06 16:22:19 +02:00
Petr Vobornik
b06d008f31 Raise only one "set" event on facet.state.set
https://fedorahosted.org/freeipa/ticket/3236
2013-05-06 16:22:19 +02:00
Petr Vobornik
a8b48a8f42 Don't expect key for singleton objects (dnsconfig, config, realmdomains)
https://fedorahosted.org/freeipa/ticket/3236
2013-05-06 16:22:19 +02:00
Petr Vobornik
41324cf619 Fix needs_update on object change
https://fedorahosted.org/freeipa/ticket/3236
2013-05-06 16:22:19 +02:00
Petr Vobornik
3fbdb43d62 Remove old navigation code in certificates
https://fedorahosted.org/freeipa/ticket/3236
2013-05-06 16:22:19 +02:00
Petr Vobornik
e4f2218f18 Certificates, Realm domains added to navigation
https://fedorahosted.org/freeipa/ticket/3236
2013-05-06 16:22:19 +02:00
Petr Vobornik
7b512abbf1 DNS menu fixed
https://fedorahosted.org/freeipa/ticket/3236
2013-05-06 16:22:19 +02:00
Petr Vobornik
3e392bbfc6 get_primary_key function usages removed
https://fedorahosted.org/freeipa/ticket/3236
2013-05-06 16:22:19 +02:00
Petr Vobornik
166102a910 Removed entity.get_primary from association facet
Also removed facet usage from entity adder dialog.

https://fedorahosted.org/freeipa/ticket/3236
2013-05-06 16:22:18 +02:00
Petr Vobornik
bf8bae5080 Removed incorrect success message when adding of external member failed
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:18 +02:00
Petr Vobornik
ea2e4eecac Fix facet needs_update behavior
https://fedorahosted.org/freeipa/ticket/3236
2013-05-06 16:22:18 +02:00
Petr Vobornik
46cec2abd8 Fix selection of menu in automember
https://fedorahosted.org/freeipa/ticket/3236
2013-05-06 16:22:18 +02:00
Petr Vobornik
34201ea0ab Rename path array from hash to path in hash generation
https://fedorahosted.org/freeipa/ticket/3236
2013-05-06 16:22:18 +02:00
Petr Vobornik
9657c757f6 Add menu memory
Parent items remember last selected child.

https://fedorahosted.org/freeipa/ticket/3236
2013-05-06 16:22:18 +02:00
Petr Vobornik
364e0ec5af File dependencies added to Web UI Makefile
WebUI was not rebuilt while rebuilding RPMS.

https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:18 +02:00
Petr Vobornik
8751b1a3db Set pkeys to add,remove dialog
https://fedorahosted.org/freeipa/ticket/3236
2013-05-06 16:22:18 +02:00
Petr Vobornik
99fc3d597a Remove IPA.current_entity usage
https://fedorahosted.org/freeipa/ticket/3236
2013-05-06 16:22:18 +02:00
Petr Vobornik
a3e0e671a1 Fix nested facet search
https://fedorahosted.org/freeipa/ticket/3236
2013-05-06 16:22:17 +02:00
Petr Vobornik
31d7486b88 Remove IPA.nav usage, obsolete entity.get_primary_key
https://fedorahosted.org/freeipa/ticket/3236
2013-05-06 16:22:17 +02:00
Petr Vobornik
7edf044a44 Removed old navigation code
https://fedorahosted.org/freeipa/ticket/3236
2013-05-06 16:22:17 +02:00
Petr Vobornik
693dc56062 Menu and application controller refactoring
https://fedorahosted.org/freeipa/ticket/3235
https://fedorahosted.org/freeipa/ticket/3236
2013-05-06 16:22:17 +02:00
Petr Vobornik
a4d9e19c79 Config.js
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:17 +02:00
Petr Vobornik
87a1b58237 Phases - application lifecycle
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:17 +02:00
Petr Vobornik
33904d8651 i18n - internationalized text provider
https://fedorahosted.org/freeipa/ticket/3235
https://fedorahosted.org/freeipa/ticket/3236
2013-05-06 16:22:17 +02:00
Petr Vobornik
ded1bb3642 Basic implementation of registers
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:17 +02:00
Petr Vobornik
a31fe2739c Update of Dojo build
https://fedorahosted.org/freeipa/ticket/3235
https://fedorahosted.org/freeipa/ticket/3236
2013-05-06 16:22:17 +02:00
Petr Vobornik
f0c1c629d3 jsl update
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:16 +02:00
Petr Vobornik
80c4228fe2 Fix: Certificate status is not visible in Service and Host page
https://fedorahosted.org/freeipa/ticket/3593
2013-04-30 17:30:15 +02:00
Tomas Babej
e10d934230 Make gecos field editable in Web UI
This patch exposes user entry gecos field in Web UI.

https://fedorahosted.org/freeipa/ticket/3569
2013-04-25 17:27:10 +02:00
Ana Krivokapic
39982f6696 Remove HBAC source hosts from web UI
https://fedorahosted.org/freeipa/ticket/3528
2013-04-12 14:07:55 -04:00
Petr Vobornik
53dc8b3ec9 Fix regression in group type selection in group adder dialog
Refactoring of radio widget (04325fbb4c) caused that value is no longer supplied to value_change handler.
2013-04-10 09:28:15 +02:00
Petr Vobornik
617114aac4 Don't show trusts pages when trust is not configured
When trust is not configured trust-config page is raising an error. Trusts search page won't find anything either -> no use for the pages -> hiding.

https://fedorahosted.org/freeipa/ticket/3333
2013-04-10 09:28:04 +02:00
Petr Vobornik
7e088a8378 Global trust config page
https://fedorahosted.org/freeipa/ticket/3333
2013-04-10 09:24:46 +02:00
Petr Vobornik
3393c577f9 Run permission target switch action only for visible widgets
Permission details page was incorrectly evaluated as dirty (update button enabled) right after load when permission type={subtree,filter} and some attrs are set.

Can be reproduced by opening 'Modify Automount maps' permission.

The culprit is that attrs widget is populated and dirty-checked even targets where it doesn't belong.

Fixed by running target_mapping action only for visible targets.

https://fedorahosted.org/freeipa/ticket/3527
2013-04-05 10:44:44 +02:00
Petr Vobornik
5af3b146a3 Add ipakrbokasdelegate option to service and host Web UI pages
https://fedorahosted.org/freeipa/ticket/3329
2013-04-04 12:53:59 +02:00
Petr Vobornik
40b4faa6d7 Web UI: Disable cert functionality if a CA is not available
Part of the work for: https://fedorahosted.org/freeipa/ticket/3363
2013-04-02 15:32:05 +02:00
Petr Vobornik
661f41e197 Added Web UI support for service PAC type option: NONE
ipakrbauthzdata accepts [null, 'NONE', 'MS-PAC, 'PAD']

New nesting feature of radios/checkboxes was used to handle mutual exclusivity between
 ['MS-PAC', 'PAD'], 'NONE' and ''.

https://fedorahosted.org/freeipa/ticket/3404
2013-03-29 17:12:25 +01:00
Petr Vobornik
04325fbb4c Nestable checkbox/radio widget
New component: option_widget_base. It's not a regular widget but it share some of its characteristics. It should extend regular widget or it can be nested in itself alone.

checkbox_widget, checkboxes_widget, radio_widget were modified to use it.

Built as a prerequisite for:
https://fedorahosted.org/freeipa/ticket/3404
2013-03-29 17:12:20 +01:00
Petr Vobornik
790a576ad1 Fixed Web UI build error caused by rhino changes in F19
rhino-1.7R4-2.fc19.noarch dropped -main flag which made the build fail in rawhide (F19).

We can't use the same command for rhino-1.7R3-6 (F18) and rhino-1.7R4-2 (F19).
This patch adds check if rhino supports '-require' option. If so it calls rhino with it if not it calls rhino with -main option.

https://fedorahosted.org/freeipa/ticket/3501
2013-03-21 09:30:35 +01:00
Ana Krivokapic
6c85b88874 Realm Domains page
Add support for Realm Domains to web UI.

https://fedorahosted.org/freeipa/ticket/3407
2013-03-18 15:11:26 +01:00
Petr Vobornik
8d36951911 Web UI:Choose different search option for cert-find
This extends certificate search page by search option select. Therefore
the search is not restricted to 'subject'.

It should be replaced by https://fedorahosted.org/freeipa/ticket/191 in a
future.

https://fedorahosted.org/freeipa/ticket/3419
2013-03-18 15:11:18 +01:00
Petr Vobornik
070fc176ae Web UI:Certificate pages
Following pages were added to Web UI:
 * certificated details
 * certificate search

Certificate is not regular object so it gets no metadata. Therefore artificial
metadata were created for it to allow usage of search and details facet.

Search and details facet were modified to allow removing of add/remove/update/
reset buttons - certificates have no mod operation and they are not added by
standard means.

User can revoke and restore certificated in details facet.

https://fedorahosted.org/freeipa/ticket/3419
2013-03-18 15:11:08 +01:00
Sumit Bose
331856b13c Allow 'nfs:NONE' in global configuration
This patch adds 'nfs:NONE' as an allowed entry for the global
authorization data type in the CLI and WebUI. This is an ad-hoc solution
to make sure that the new default value for the NFS service is not
removed by chance.

This patch should be removed if a more generic solution is implemented
to modify service:TYPE style values of the authorization data type.

https://fedorahosted.org/freeipa/ticket/2960
2013-03-08 10:46:00 +01:00
Petr Vobornik
dc5fcc2969 Web UI: configurable SID blacklists
Added blacklists section, with ipantsidblacklistincoming and
ipantsidblacklistoutgoing multivalued textbox fields, into trust details page.

https://fedorahosted.org/freeipa/ticket/3289
2013-03-06 12:56:44 +01:00
Petr Vobornik
99421026f6 Fix handling of no_update flag in Web UI
There was an incorrect check for no_update flag. Check was performed as
if the flag was an attribute of object not an item of array. Hence, the
flag never caused any effect.
2013-03-06 12:55:54 +01:00
Petr Vobornik
86f24dab43 Fix dirty state update of editable combobox
Editable combobox didn't update it's dirty state correctly. CB had it's own
internal value changed event, which was incorrectly used. It was removed and
widget's value_changed event was used instead.
2013-03-06 12:55:27 +01:00
Petr Vobornik
32a7801cf4 Combobox keyboard support
Combobox can be controlled just by using keyboard.

When value list is closed, user can:
  * use UP and DOWN error to open list, it will focus the list and
    select previous/next value
  * when CB is non-editable, user can start typing, first character will open
    list, second will be entered into search input. Note: I wanted to copy the
    first char to the search box as well, but I did not figure out reliable
    method for converting keycode to char for non ASCII keyboard layouts
  * ESCAPE, ENTER, TAB keys are handled to allow keyboard operations in a
    container

When value list is opened:
  * CB tries to keep focus on either search input or a select
  * when focus is lost, the value list is closed. So  user can click anywhere
    on a page to close it - two comboboxes can't be opened on the same time
  * hitting TAB key switches between search and select
  * if CB is not searchable, hitting TAB will close the value list and select
    input textbox
  * hitting ESCAPE on will close the value list
  * hitting ENTER on search input will invoke search operation
  * hitting ENTER on select will close the value list
  * hitting UP/DOWN arrows will select previous/next values

Additional modifications:
  * opening arrow and search button were made non-focusable. It fixes the
    'wrong focus area' bug and simplifies keyboard usage. It doesn't affect
    mouse usage.

https://fedorahosted.org/freeipa/ticket/3324
2013-03-06 12:55:12 +01:00
Petr Viktorin
42300eb55b Rename the "messages" Output of the i18n_messages command to "texts"
This is to prevent a fatal name clash wih the new common "messages" Output.

Since i18n_messages is an internal plugin, the change does not affect
our public API.
2013-02-21 16:26:09 +01:00
Petr Vobornik
246bc3f3ea Web UI build profile updated
freeipa.profile was updated accordingly to contain all modules in dojo layer.

This change removes expected errors during the build and therefore it won't confuse others during rpm build. It also helps during development because developer will notice real dependency errors (those not specified this way).
2013-02-21 14:11:51 +01:00
Petr Vobornik
75eee33ed9 Allow to specify modules for which builder doesn't raise dependency error
One can specify module ids provided by other means (already built layer file) in providedMids array of build profile file's package section. Builder then ignores dependency errors for specified modules. This allows to build layers without source codes of their dependencies, with no expected errors raised.

Example:

packages:[
    {
        name: "freeipa",
        location: "freeipa",
        providedMids: [
            'dojo/_base/declare',
            'dojo/_base/lang',
            'dojo/_base/array',
            'dojo/Stateful'
            //etc
        ]
    }
],
2013-02-21 14:11:46 +01:00
Petr Vobornik
28551ae541 Develop.js extended
Develop.js contains code useful only for debugging. It is not part of FreeIPA
release.

Is loaded by typing require(['freeipa/develop']); in browser JS console.
It adds IPA global variable and provide easier way of loading AMD modules into
window.ipadev[providedNameOrModuleName] variable.

https://fedorahosted.org/freeipa/ticket/112
2013-02-21 14:11:43 +01:00
Petr Vobornik
5d919c9556 Change tests to use AMD loader
Test were modified accordingly to AMD changes.

https://fedorahosted.org/freeipa/ticket/112
2013-01-18 15:10:37 +01:00
Petr Vobornik
c71937fc0c Updated makefiles to build FreeIPA Web UI layer
Updated makefiles to comply to new directory structure and also to use builder
for building Web UI.

FreeIPA package spec is modified to use the output of the builder.

https://fedorahosted.org/freeipa/ticket/112
2013-01-18 15:10:37 +01:00
Petr Vobornik
5e90c98849 Change Web UI sources to simple AMD modules
Web UI sources were wrapped by AMD definition. Listed dependencies were changed
accordingly.

https://fedorahosted.org/freeipa/ticket/112
2013-01-18 15:10:36 +01:00
Petr Vobornik
e3ce3e4f39 AMD config file
Added configuration file for DOJO loader. Removal of JS links from index.html of
files which were changed to AMD modules.

https://fedorahosted.org/freeipa/ticket/112
2013-01-18 15:10:36 +01:00
Petr Vobornik
be0a120134 Update JavaScript Lint configuration file
Update is needed because various files were moved to different directories.

https://fedorahosted.org/freeipa/ticket/112
2013-01-18 15:10:36 +01:00
Petr Vobornik
b9ef6ab0c4 Move of core Web UI files to AMD directory
SSIA

https://fedorahosted.org/freeipa/ticket/112
2013-01-18 15:10:36 +01:00
Petr Vobornik
8f8e790d94 Move of Web UI non AMD dep. libs to libs subdirectory
Third party JS libraries which are not AMD modules were moved to src/libs/
directory. Links in html files were changed accordingly.

https://fedorahosted.org/freeipa/ticket/112
2013-01-18 15:10:36 +01:00
Petr Vobornik
65301fe3f3 Web UI Sync development utility
Add util/sync.sh utility. It serves for copying source codes or compiled code
of Web UI to testing servers. Useful for development.

https://fedorahosted.org/freeipa/ticket/112
2013-01-18 15:10:36 +01:00
Petr Vobornik
92de64ec73 Web UI development environment directory structure and configuration
Added symbolic links which points to directories which should contain files of
Web UI layers. By changing those links we can switch between debugging (using
source codes) or testing (compiled version).

util/change-profile.sh utility serves for changing symbolic links in js/ dir
and therefore for switching between debugging and testing.

Default configuration for development is:
 * freeipa source files
 * libs as in git
 * compiled Dojo layer

https://fedorahosted.org/freeipa/ticket/112
2013-01-18 15:10:36 +01:00
Petr Vobornik
217341560c Minimal Dojo layer
Added configuration files for building Dojo library and built library itself.

This configuration contains only modules currently needed.

make-dojo.sh script should be used for rebuilding the library when additional
modules or an update are needed.

https://fedorahosted.org/freeipa/ticket/112
2013-01-18 15:10:36 +01:00
Petr Vobornik
339790ec8e Config files for builder of FreeIPA UI layer
* Added package configuration and build profile of FreeIPA UI layer for
  Dojo Builder.
* Added script (util/make-ui.sh) which builds the layer

https://fedorahosted.org/freeipa/ticket/112
2013-01-18 15:10:35 +01:00
Petr Vobornik
9d3364719d Dojo Builder
Added support for Dojo builder.

 * Includes built builder and patches required to build the builder.
 * _base/configRhino.js is required by the builder to run under rhino.
 * added utility scripts for running the builder
    * build.sh
    * clean.sh
    * compile.sh
    * make-builder.sh
    * prepare-dojo.sh

https://fedorahosted.org/freeipa/ticket/112
2013-01-18 15:10:35 +01:00
Petr Vobornik
8c59ddbcbe Use Uglify.js for JS optimization
Uglify.js library was included in ui/util folder. A wrapper script
util/uglifyjs/uglify was created to run Uglify.js in Rhino enviroment.

https://fedorahosted.org/freeipa/ticket/112
2013-01-18 15:10:35 +01:00
Petr Vobornik
14b353b097 Focus first input element after 'Add and Add another'
When using 'Add and Add Another' button in entity adder dialog the dialog lose focus when an item is successfully added.

It caused by search dialog filter input. It gets focus in search facet's refresh. The refresh is happening when item is added.

This patch is disabling this focus and additionally is focusing first input element to allow imidiate definion of another item
2013-01-07 10:53:59 +01:00
Petr Vobornik
e433379c46 Standardize login password reset, user reset password and host set OTP dialogs
In all dialogs:
 * validation notification was standardized
 * can be confirmed by enter

User pwd dialog has fixed focus of first element.

https://fedorahosted.org/freeipa/ticket/2884
https://fedorahosted.org/freeipa/ticket/3200

Standartize password reset dialog
2013-01-07 10:53:58 +01:00
Petr Vobornik
3df18f5583 Confirm association dialogs by enter
Support for confirm mixin in association dialog.

https://fedorahosted.org/freeipa/ticket/3200
2013-01-07 10:53:58 +01:00
Petr Vobornik
731fce88a1 Focus last dialog when some is closed
When multiple dialogs is opened and one is closed the new top dialog doesn't recieve focus. It prevents from confirming/canceling the dialog using keyboard. This patch is fixing it.

https://fedorahosted.org/freeipa/ticket/3200
2013-01-07 10:53:58 +01:00
Petr Vobornik
7d457d521e Confirm error dialog by enter
Refactored error dialog and unauthorized dialog to support confirm mixin.

https://fedorahosted.org/freeipa/ticket/3200
2013-01-07 10:53:58 +01:00
Petr Vobornik
d14f76ef14 Confirm adder dialog by enter
Added confirm mixin support to entity adder dialog.

https://fedorahosted.org/freeipa/ticket/3200
2013-01-07 10:53:58 +01:00
Petr Vobornik
5bde270436 Confirm mixin
Base mixin class for dialogs witch confirmation/canceling capabilities.

When used, dialog can be 'confirmed' by 'enter' key or canceled by 'escape' key. It doesn't accept confirmation from all elements to not override default expected behavior like creating new line in text area, executing link or selecting a value in a select element.

https://fedorahosted.org/freeipa/ticket/3200
2013-01-07 10:53:58 +01:00
Petr Vobornik
b33f6acfa8 Make confirm_dialog a base class for message_dialog
https://fedorahosted.org/freeipa/ticket/3035
2013-01-07 10:53:58 +01:00
Petr Vobornik
c23dd23219 Make confirm_dialog a base class for deleter dialog
https://fedorahosted.org/freeipa/ticket/3035
2013-01-07 10:53:58 +01:00
Petr Vobornik
16663cb215 Make confirm_dialog a base class of revoke and restore certificate dialogs
https://fedorahosted.org/freeipa/ticket/3035
2013-01-07 10:53:58 +01:00
Petr Vobornik
8d892f442f Better error message for login of users from other realms
When user from other realm than FreeIPA's tries to use Web UI (login via forms-based auth or with valid trusted realm ticket), he gets an unauthorized error with X-Ipa-Rejection-Reason=denied. Web UI responds with showing login dialog with following error message: 'Sorry you
are not allowed to access this service.'.

Note: such users are not supported because they don't have a corresponding entry in LDAP which is needed for ACLs.

https://fedorahosted.org/freeipa/ticket/3252

denied change
2012-12-06 17:02:03 +01:00
Petr Vobornik
082bd0f69d Better licensing information of 3rd party code
README-LICENSE.txt file with licensing information of third party code used by
Web UI in production or development was added.

https://fedorahosted.org/freeipa/ticket/3281
2012-12-05 15:51:50 +01:00
Petr Vobornik
0833f594c1 Editable sshkey, mac address field after upgrade
After upgrade, sshkeys of existing users and hosts or mac address are not editable because attribute level rights are not send to Web UI due to lack of ipasshuser/ieee802device object classes.

'w_if_no_aci' attribute flag was introduced to bypass this issue. It makes attribute writable when AttributeLevelRights for the attribute are not present and only when user posses rights for modifying object class attribute.

The flag was set for sshkeys_field and mac address field.

https://fedorahosted.org/freeipa/ticket/3260
2012-11-29 09:38:04 +01:00
Petr Vobornik
730a500567 WebUI: Change of default value of type of new group back to POSIX
In FreeIPA 2.2, the default for group type was 'POSIX', in 3.0 it's 'normal' (non-posix). CLI's default is 'POSIX', Web UI should use 'POSIX' as well.

https://fedorahosted.org/freeipa/ticket/3270
2012-11-29 09:37:49 +01:00
Rob Crittenden
f1f1b4e7f2 Enable transactions by default, make password and modrdn TXN-aware
The password and modrdn plugins needed to be made transaction aware
for the pre and post operations.

Remove the reverse member hoop jumping. Just fetch the entry once
and all the memberof data is there (plus objectclass).

Fix some unit tests that are failing because we actually get the data
now due to transactions.

Add small bit of code in user plugin to retrieve the user again
ala wait_for_attr but in the case of transactions we need do it only
once.

Deprecate wait_for_attr code.

Add a memberof fixup task for roles.

https://fedorahosted.org/freeipa/ticket/1263
https://fedorahosted.org/freeipa/ticket/1891
https://fedorahosted.org/freeipa/ticket/2056
https://fedorahosted.org/freeipa/ticket/3043
https://fedorahosted.org/freeipa/ticket/3191
https://fedorahosted.org/freeipa/ticket/3046
2012-11-21 14:55:12 +01:00
Petr Vobornik
1bf537db9e Web UI: disable global forwarding per zone
Web UI part of 'disable global forwaring per zone' effort.

Option "Forwarding disabled" was added to 'DNS global config' and 'DNS zone' forwarding policy. It corresponds to 'none' value of idnsforwardpolicy.

https://fedorahosted.org/freeipa/ticket/3209
2012-11-09 17:46:04 +01:00
Petr Vobornik
445744206b Fixed incorrect link to browser config after session expiration
Fixed typo in message placeholder.

https://fedorahosted.org/freeipa/ticket/3187
2012-10-24 09:17:26 +02:00
Petr Vobornik
fed5bbd298 Simpler instructions to generate certificate
Instructions to generate certificate were simplified.

New instructions:

 1) Create a certificate database or use an existing one. To create a new database:
    # certutil -N -d <database path>
 2) Create a CSR with subject CN=<hostname>,O=<realm>, for example:
    # certutil -R -d <database path> -a -g <key size> -s 'CN=dev.example.com,O=DEV.EXAMPLE.COM'
 3) Copy and paste the CSR (from -----BEGIN NEW CERTIFICATE REQUEST----- to -----END NEW CERTIFICATE REQUEST-----) into the text area below:

https://fedorahosted.org/freeipa/ticket/3056
2012-10-19 14:30:06 +02:00
Alexander Bokovoy
6f45de10d7 support multi-line error messages in exceptions 2012-10-09 10:18:40 +02:00
Petr Vobornik
696fce5c8d Configuration pages changed to use new FF extension
browserconfig.html was changed to use new FF extension. The page is completely Firefox specific therefore the title was changed from 'Configure browser' to 'Firefox configuration'. Instruction to import CA cert in unauthorized.html are FF specific too, so they were moved to browserconfig.html. Unauthorized.html text was changed to distinguish FF config and other browsers. Now the page shows link for FF (browserconfig.html) and other browsers (ssbrowser.html). Ssbrowser.html should be enhanced by more configurations and browsers later [1].

Old configuration method was moved to ssbrowser.html.

Unauthorized dialog in Web UI now links to http://../unauthorized.html instead of https. This change is done because of FF strange handling of extension installations from https sites [2]. Firefox allows ext. installation from https sites only when the certificate is signed by some build-in CA. To allow custom CAs an option in about:config has to be changed which don't help us at all because we wants to avoid manual changes in about:config.

The design of browserconfig is inspired by Kyle Baker's design (2.1 Enhancements_v2.odt). It is not exactly the same. Highlighting of the steps wasn't used because in some cases we can switch some steps.

Ticket: https://fedorahosted.org/freeipa/ticket/3094

[1] https://fedorahosted.org/freeipa/ticket/823
[2] https://bugzilla.mozilla.org/show_bug.cgi?id=688383
2012-10-04 18:08:26 -04:00
Petr Vobornik
26166deb0c Fix integer validation when boundary value is empty string
There was an error in number validation check. If boundary value was an empty string, validation of a number always failed. This patch fixes the problem by not performing the check in these cases.

https://fedorahosted.org/freeipa/ticket/3066
2012-09-19 11:09:09 +02:00
Petr Vobornik
e39a109060 Show trust status in add success notification
Web UI notification of 'Add verification step after trust creation'

https://fedorahosted.org/freeipa/ticket/2763
2012-09-17 21:24:38 -04:00
Petr Viktorin
4f76c143d2 Use Dogtag 10 only when it is available
Put the changes from Ade's dogtag 10 patch into namespaced constants in
dogtag.py, which are then referenced in the code.

Make ipaserver.install.CAInstance use the service name specified in the
configuration. Uninstallation, where config is removed before CA uninstall,
also uses the (previously) configured value.

This and Ade's patch address https://fedorahosted.org/freeipa/ticket/2846
2012-09-17 18:43:59 -04:00
Ade Lee
3dd31a8756 Modifications to install scripts for dogtag 10
Dogtag 10 uses a new installer, new directory layout and new default
ports.  This patch changes the ipa install code to integrate these changes.

https://fedorahosted.org/freeipa/ticket/2846
2012-09-17 18:43:36 -04:00
Yuri Chornoivan
8bbb42b410 Fix various typos.
https://fedorahosted.org/freeipa/ticket/3089
2012-09-18 08:45:28 +02:00
Petr Vobornik
b4d35718a5 Prevent opening of multiple dirty dialogs on navigation
Facets which performs AJAX call after update refresh (clear dirty state) after calling callback of dirty dialog. It might lead to multiple openings of dirty dialog.

Assuming that calling dirty dialog's callback can be evaluated as "dirty state is gone", we can call reset in the callback to prevent the issue. There will be an incorrect state in the facet for a moment. It will be fixed soon on execute of callback of the refresh AJAX call. It is not an issue because it will happen in background. User will be looking on different facet.

https://fedorahosted.org/freeipa/ticket/2667
2012-09-12 09:37:53 +02:00
Petr Vobornik
a4ab88445c Reflect API change of SSH store in Web UI
Format of ipasshpubkey in users and hosts changed from BYTES to STR. Web UI no longer gets the value as base64 encoded string in a object.

Label was changed to reflect that the key don't have to be plain base64 encoded blob.

https://fedorahosted.org/freeipa/ticket/2989
2012-09-06 19:18:22 -04:00
Sumit Bose
377e1267b7 Rename range CLI to idrange 2012-09-07 16:50:35 +02:00
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
da0be8b6b1 Allow localhost in zone ACIs - Web UI
Loopback address, "localhost" and "localnets" ACIs are no longer
an issue for bind-dyndb-ldap. Allow them in our Web UI validators as well.
2012-09-06 13:59:33 +02:00
Petr Vobornik
22b7d7e7d9 Fixed problem while deleting entry with unsaved changes
While deleting an entry it now resets a facet if there are unsaved changes. It prevents pop up of various error dialogs when UI tries to redirect to search page after successful delete.

https://fedorahosted.org/freeipa/ticket/3047
2012-09-06 10:27:36 +02:00
Petr Vobornik
da10cc96a6 Generated metadata for testing updated
Testing metadata needs to be updated because of fix in json serialization.

https://fedorahosted.org/freeipa/ticket/3052
2012-09-06 10:27:26 +02:00
Petr Vobornik
77ad84f47e Added decimal checks to metadata validator
Medatadata validator didn't have check for decimal values. It was added.

https://fedorahosted.org/freeipa/ticket/3052
2012-09-06 10:27:16 +02:00
Petr Vobornik
6a8d6d3fde Notify success on add, delete and update
Notification of success was added to:
 * details facet: update
 * association facet and association widget: add, delete items
 * attribute facet: delete items (notification of add should be handled in entity adder dialog)
 * sudo rule: add, remove option
 * dnsrecord: add, update, delete

https://fedorahosted.org/freeipa/ticket/2977
2012-09-06 09:44:15 +02:00
Petr Vobornik
6ae286a8f5 Permissions: select only applicable options on type change
Problem:
 When a permission is edited, and Type switched, the attributes selected for
 previous Type are still selected, and update fails, if they are invalid for the
 new Type. But it should get deselected or not even listed if Type changes.

Fix:
 When Type is changed, attribute list is refreshed and still applicable attributes
 are chosen. If Type is reverted back, previously chosen  attributes are back as chosen.

 If attributes are extended outside Web UI by not listed attr, this attr is listed at
 the list end.

Note:
 If user makes change in attribute list before type change, this change is forgotten.

https://fedorahosted.org/freeipa/ticket/2617
2012-09-06 09:41:44 +02:00
Petr Vobornik
a8a80d983e Fixed search in HBAC test
Search in HBAC test wasn't working because expired flag wasn't set.

https://fedorahosted.org/freeipa/ticket/2931
2012-09-06 09:41:22 +02:00
Petr Vobornik
edbcd28f44 Password policy paging with proper sorting
This patch adds option to disable sorting when paging. It allowed to enable paging in password policy with order of items untouched (they are sorted on server side by priority).

Also fixing issue when paging is disabled and command summary = null. It displayed 'null' in facet footer.

https://fedorahosted.org/freeipa/ticket/2677
2012-08-29 12:00:15 +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
7d3aa96103 Fix issue which broke setup of Web UI unit tests
Web UI itself wasn't negatively affected.

https://fedorahosted.org/freeipa/ticket/2897
2012-08-29 11:59:37 +02:00
Petr Vobornik
36c345dd1d Revert change causing failure in test automation
Move of click handler in patch for #2834 causes failure of automation tests.

This patch reverts the problematic part. It should not affect function of fix for #2824.

https://fedorahosted.org/freeipa/ticket/3014
2012-08-29 11:59:29 +02:00
Petr Vobornik
2d63e28c78 Range Web UI
Range web UI was implemented.

It consist of:
 * new menu item - 'ranges' in 'IPA Server' tab
 * new search page
 * new details page

https://fedorahosted.org/freeipa/ticket/2894
2012-08-21 14:35:19 +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
d227c70d15 Disable caching of Web UI login_kerberos request
IE caches login_kerberos request so SSO doesn't work after logout. This patch disables the caching.

https://fedorahosted.org/freeipa/ticket/2991
2012-08-14 08:22:48 +02:00
Petr Vobornik
be144da672 Handle case when trusted domain user access the Web UI
WebUI catches the fact that the user can't access LDAP server with a current ticket. It shows form-based auth login dialog. Previoustly an ugly error was returned on an almost empty page, and user had no recourse.

https://fedorahosted.org/freeipa/ticket/2897
2012-08-14 08:20:46 +02:00
Petr Vobornik
ade68ec94f Read-only external facet for non-external groups
Added evaluators to decide if attribute facet should be read-only based on attribute level rights.
Default values serves well for group's external member.

https://fedorahosted.org/freeipa/ticket/2895
2012-08-14 08:09:50 +02:00
Petr Vobornik
994eeb55c9 Group external member facet
Added 'external' attribute facet to group entity. It serves for displaying group's externalmember attribute.

https://fedorahosted.org/freeipa/ticket/2895
2012-08-14 08:09:47 +02:00
Petr Vobornik
5d2b0fecd5 Attribute facet
Created new type of facet: attribute facet. This facet is similar to association facet but it serves for displaying object's multivalued attributes which behaves like association attributes. It will serve as a basis for displaying group's externalmember attribute.

https://fedorahosted.org/freeipa/ticket/2895
2012-08-14 08:09:43 +02:00
Petr Vobornik
7c99e2d661 Display group type
Created new value_map_widget which serves for displaying values based on a map.

It is added to group for displaying its type. The decision is based on group's objectclass.

https://fedorahosted.org/freeipa/ticket/2895
2012-08-14 08:09:39 +02:00
Petr Vobornik
d536b3824e Make group posix
New option for creating plain user group posix group. External group can't be made posix.

https://fedorahosted.org/freeipa/ticket/2338
2012-08-14 08:09:35 +02:00
Petr Vobornik
271043ccf7 Make group external
New action for creating plain group external. Posix group can't be made external.

https://fedorahosted.org/freeipa/ticket/2895
2012-08-14 08:09:31 +02:00
Petr Vobornik
44e86aa3bb Add external group
Group can be normal, posix and external. Posix checkbox was removed and was replaced by radio for selecting group type. This adds possibility of adding of external group.

https://fedorahosted.org/freeipa/ticket/2895
2012-08-14 08:09:23 +02:00
Petr Vobornik
c2783b9b54 Replace use of attr with prop for booleans
Recommened way of setting boolean HTML attributes is by $.prop(boolean) method not $.attr(boolean) because it sets DOM object property not an attribute. Latter works because of jquery's backward compatibility. This patch makes things clearer.

Some info about prop and attr: http://stackoverflow.com/a/5876747

https://fedorahosted.org/freeipa/ticket/2817
2012-08-02 10:27:17 +02:00
Petr Vobornik
1a94109f4a Fixed incorrect use of jQuery.attr for setting disabled attribute
Occurance: select_widget

Update to latest version of jQuery uncovered this issue.

https://fedorahosted.org/freeipa/ticket/2817
2012-08-02 10:27:17 +02:00
Petr Vobornik
8ce157910a Web UI tests fix
ACI tests were crashing because of misconfigured facet.
Entity link test were crashing because of incorrect jquery selector.

https://fedorahosted.org/freeipa/ticket/2817
2012-08-02 10:27:17 +02:00
Petr Vobornik
17a6b3f29d Unified buttons
Buttons in association dialog and action list have different style and behavior than buttons in dialogs. This patch unifies it by using jquery.button widget.

https://fedorahosted.org/freeipa/ticket/2817
2012-08-02 10:27:17 +02:00
Petr Vobornik
1c79e283b1 Removal of unnecessary overrides of jquery-ui styles
ipa.css had to be updated to work with updated jquery-ui. This patch removes several duplicate styles.

Following issues were fixed:
 * dialogs titles in IE and Opera were black instead of green
 * no black line in first navigation level in IE and Opera
 * all browsers (FF, IE, Chrome, Opera) have the same style for buttons and headers
 * dialogs has borders again (should we remove its shadow?)

Known issues:
 * selected tab-1 in Chrome and Opera doesn't overlaps background line as in IE and FF. Not sure how to fix without breaking (there are border overlaps) the latter ones. I think it looks good enough.
 * some buttons are missing padding. Will be fixed in next patch.

https://fedorahosted.org/freeipa/ticket/2817
2012-08-02 10:27:16 +02:00
Petr Vobornik
f805001242 Fix for incorrect event handler definition
Clicks events should be better defined by jquery calls (usually addEventListener) not as elements attributes. Definition as element attribute causes problems after upgrade to jquery 1.7.2. Two occurances were removed.

https://fedorahosted.org/freeipa/ticket/2817
2012-08-02 10:27:16 +02:00
Petr Vobornik
2a7e557112 Update to jquery-ui-1.8.21.custom
jquery-ui was regenerated to up to date version.

Border radius and IPA custom colors were added to theme so we don't have to override them in ipa.css.

https://fedorahosted.org/freeipa/ticket/2817
2012-08-02 10:27:16 +02:00
Petr Vobornik
c0dd19da4b Update to jquery.1.7.2.min
jquery library wasn't updated for a long time.

https://fedorahosted.org/freeipa/ticket/2817
2012-08-02 10:27:16 +02:00
Petr Vobornik
dc79b60ebb PAC Type options for services in Web UI
Following options were added to Web UI
    * PAC Type in service
    * PAC Type in configuration

Testing metadata for objects and commands were regenerated.

https://fedorahosted.org/freeipa/ticket/2958
2012-08-02 10:22:25 +02:00
Petr Vobornik
fd31396d51 Fixed: combobox stacking in service adder dialog
First select's content is displayed under second comboxes content when select is opened when second combobox is opened

Bonus for:
https://fedorahosted.org/freeipa/ticket/2834
2012-08-01 13:12:42 +02:00
Petr Vobornik
7a2587e6a1 Fixed: Unable to select option in combobox in IE and Chrome
There's probably a bug regarding z-index stacking in Chrome and IE. It appears when combobox is used in dialog. Combobox's select area had z-index=1010. When first jquery dialogs is open it has z-index=1000. Further dialogs have higher z-index. When dialog's z-index exceeds 1010 option in select control can't be selected. IMO it is a browser bug because select control lies in dialog content's stacking context so it should be functional even with z-index=1.

This patch raises select area's z-index to 9000000 which should prevent the issue for some time. Also it make's combobox's z-index configurable so we can solve combobox stacking (ie in service-add dialog).

Second part of:
https://fedorahosted.org/freeipa/ticket/2834
2012-08-01 13:12:33 +02:00
Petr Vobornik
1235739122 Fix autoscroll to top in tables in IE
In IE when a window is small (horizontal scrollbar is displayed) click or keyboard input on various parts of UI makes search tables scroll to top. It prevents from selecting items in a table. This issue happens when using absolute positioned element with overflow style. It's a bug in IE.

Two workarounds were added to make UI usable in IE.
Adding position:relative; style to body element fixes the problem in search pages. It doesn't help in association dialogs though.
The bug doesn't occur when some child element has focus. It's possible to set focus to first visible checkbox while scrolling down but user experience is very bad. Better solution seems to scroll back when IE scrolls to top on mousedown. That way mouse click event happens on the target element and it can gain focus and therefore be selected. Some glitches still remains but is usable.

https://fedorahosted.org/freeipa/ticket/2835
2012-07-25 11:06:02 +02:00
Petr Vobornik
65bd82eaa1 IDs and names for dialogs
It's hard to detect if or which type dialog is displayed becouse not all dialogs have IDs.

On dialog open, it's id or name (if id is not set) is used for containing element id. Many of dialog types were missing id or name so name was added to each dialog type.

In HTML, element's id should be unique. Our framework allows opening two dialogs with the same id. It may lead to state where getElementById method may have unpredicted behaviour. Therefore attribute 'data-name' with dialog's name was added to dialog's containing element. Automation framework can search more reliable by using this attribute instead of id.

https://fedorahosted.org/freeipa/ticket/2853
2012-07-25 11:05:56 +02:00
Petr Vobornik
3adebcf919 Bigger textarea for permission type=subtree
Adder dialog and details facet for permission type=subtree have small textarea for defining subtree filter. It was unconfortable to define the filter. This difference was removed.

https://fedorahosted.org/freeipa/ticket/2832
2012-07-18 15:52:00 +02:00
Petr Vobornik
a14d243fcd Fixed display of attributes_widget in IE9
Attributes widget is using overflow css rule in tbody element. IE9 doesn't handle it well.

To fix the issue, attributes widget was slightly modified and conditional css stylesheet was added just for fixing IE problems.

https://fedorahosted.org/freeipa/ticket/2822
2012-07-17 15:55:44 +02:00
Petr Vobornik
7fcca4fa52 Differentiation of widget type and text_widget input type
There was a clash of 'type' attribute in widget's spec. Usually 'type' is used for telling a builder which field and widget to build. Text widget used this attribute also for definion of html input type. It was problematic for some special widgets, which defined own field and used text_widget, like service_type or dnszone_name. In those and possibly other cases it used widget type for specifying input type which lead to execution error in Internet Explorer. Firefox and Chrome took it.

This patch is changing text_widget's 'type' to 'input_type' which removes the collision and hence fixes the problem.

https://fedorahosted.org/freeipa/ticket/2806
and half of: https://fedorahosted.org/freeipa/ticket/2834
2012-07-17 15:55:35 +02:00
Petr Vobornik
14ac2193fe Add and remove dns per-domain permission in Web UI
This patch adds support for new per-domain permissions to Web UI.

User with assigned permission (through role,priviledge) can edit DNS zone. These permissions can be added/remove by ipa dnszone-{add/remove}permission $dnszone command.

For adding/removing of this permission in Web UI new actions in DNS zone action list were created. DNS zone object doesn't contain information about existance of related permission. Such information is required for enabling/disabling of new actions. Web UI has to search for the permission to get it. DNS zone facet was modified to use batch command, in a same way as user facet, for loading dnszone and the permission at the same time - on load.

Batch command has a feature to report all errors. Such behavior is unwanted because we expect that permission-show command will fail when the permission doesn't exist. Batch command was therefore modified to not report commands which has retry attribute set to false. This attr was chosen because it has similar purpose in single command execution.

New actions should be enabled only for users with appropriate rights. It is not possible to obtain rights for certain action in advance so an approximation is used: write right for dns zones' managedby attribute.

https://fedorahosted.org/freeipa/ticket/2851
2012-07-11 16:33:10 +02:00
David Spångberg
e494650b2c Indirect roles in WebUI
Add a check in the WebUI to use the admin navigation if a user is a
indirect member of a role.
2012-07-11 08:54:45 +02:00
Petr Vobornik
0d11b8b056 Web UI: kerberos ticket policy measurement units
Added measurement units for kerberos ticket policy.

https://fedorahosted.org/freeipa/ticket/2444
2012-07-10 13:30:43 +02:00
Petr Vobornik
848bd0e9e7 Password policy measurement units.
When filling password policy it may be unclear what value to enter because user may not remember field's measurement unit.

This patch adds support for declaring measurement units. It's done in field's/widget's spec by entering key for unit's string (which is in IPA.messages.measurement_units[key]).

Measurement units in table layout are displayed in parenthesis after label. It is to be consistent with some fields which have measurement unit integrated in label.

This patch defines measurement units for password policy's 'History size', 'Failure reset interval' and 'Lockout duration' fields.

https://fedorahosted.org/freeipa/ticket/2437
2012-07-10 13:30:38 +02:00
Petr Vobornik
05cf7c53a6 Display loginas information only after login
Message 'Logged in as: user@FREEIPA.ORG' was displayed before user was logged in. It was wrong.

Now 'Logged in as: XXX' is displayed only when user XXX is logged in. So no more user@FREEIPA.ORG :) .

https://fedorahosted.org/freeipa/ticket/2882
2012-07-10 13:30:01 +02:00
Petr Vobornik
61c3b86d73 Moved configuration to last position in navigation
Configaration was the last navigation item in IPA server tab. Trusts changed it. It was wrong because configuration is like 'other settings' and so it should be last.

This patch moves configuration navigation item to the last position again.

https://fedorahosted.org/freeipa/ticket/2900
2012-07-06 13:46:49 +03:00
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
d46687ea91 Refactored associatin facet to use facet buttons with actions
Association facet was refactored to use new concept of control buttons. It is the last facet type which don't use this concept.
It fixes regression introduced by previous refactoring of table facet (delete button was never enabled).

https://fedorahosted.org/freeipa/ticket/2876
2012-06-29 11:56:04 +02:00
Petr Vobornik
5b7084aeb5 Web UI password is going to expire in n days notification
This patch adds pending password expiration notification support to Web UI. When user's password is going to expire in less or equal than configure days a bold red text 'Your password expires in N days.' and a link 'Reset your password' are shown in Web UI's header (on the left next to 'Logged in as...').

Clicking on 'Reset your password link' opens IPA.user_password_dialog. Successful reset of own password will reload user's information (whoami) and update header (it will most likely hide the warning and link).

https://fedorahosted.org/freeipa/ticket/2625
2012-06-29 11:55:53 +02:00
Petr Vobornik
3c36fa8c0d Action panel for certificates
This is a continuation of effor which transforms status widgets with buttons executing actions to separate status widget and action panels. This patch strips certificate status widget of its buttons and separates the actions to their own objects. Appropriate modifications are taken in host and service details facets.

New certificate loader, facet policy and evaluator are introduced to make actions and status widget independent. On facet load event new certificate facet policy loads a certificate from result. Unfortunately results don't contain revocation reason so it also executes additional cert-show command to get the revocation reason. Policy store the certifacete to facet. It raises the certifacet_loaded event to notify certificate evaluator and status widget. Status widget updates its state. Certificate evaluater updates state and actions get disabled or enabled.

https://fedorahosted.org/freeipa/ticket/2250
2012-06-27 08:58:24 +02:00
Petr Vobornik
d1fe43c56f Same password validator
This patch adds validator which compares passwords in two fields.

In future it should be used in various password reset dialogs.

A flags attribute was added to field. It's purpose is to define control flags. This patch uses it in details facet and adder dialog to not include fields to command option if the field has 'no_command' flag. Therefore there is no need to use hacks such as disabling of field or removing a value from command's option map when a non-command field is needed (ie verify password).

https://fedorahosted.org/freeipa/ticket/2829
2012-06-26 12:32:50 +02:00
Petr Vobornik
ae19cce7ad Trust Web UI
This patch adds Web UI for trusts.

Navigation path is IPA Server/Trust. It allows to add, deleted and show trust. Mod command doesn't have defined input options so update of a trust is not supported yet.

Adder dialog supports two ways if adding a trust:
1)  adding with domain name, admin name and admin password.
2) adding with domain name, shared secret

Search page shows only list of realm names which are trusts' cns.

Details page is read only. It contains following attributes:
* Realm name (cn)
* Domain NetBIOS name (ipantflatname)
* Domain Security Identifier (ipanttrusteddomainsid)
* Trust direction (trustdirection)
* Trust type (trusttype)

trust_output_params also defines 'Trust status' param. This param is not return by show command as well so it's commented out in code until it's fixed in plugin code.

Fields in details pages are using labels defined in internal.py. It is temporary solution until including of command.has_output_params will be added to metadata.

https://fedorahosted.org/freeipa/ticket/2829
2012-06-25 18:17:06 +02:00
Petr Vobornik
6f4121ccbb Custom Web UI error message for IPA error 911
Error message for IPA error 911 is not very clear for end users.

This patch changes the message and adds an advice how to get rid of the error.

https://fedorahosted.org/freeipa/ticket/2778
2012-06-22 10:45:06 +02:00
Petr Vobornik
37b7b28993 Added password reset capabilities to unauthorized dialog
Web UI was missing a way how to reset expired password for normal user. Recent server patch added API for such task. This patch is adding reset password form to unautorized dialog.

If user tries to login using form-based authentication and his password is expired login form transforms to reset password form. The username and password are used from previous login attempt. User have to enter new password and its verification. Then he can hit enter button on keyboard or click on reset button on dialog to perform the password reset. Error is displayed if some part of password reset fails. If it is successful new login with values entered for password reset is performed. It should login the user. In password reset form user can click on cancel button or hit escape on keyboard to go back to login form.

https://fedorahosted.org/freeipa/ticket/2755
2012-06-21 13:23:44 +02:00
Petr Vobornik
1eab43d292 Separate reset password page
This patch adds separate reset password page. It is a complement to separate login page. It differentiate from reset password capabilities in Web UI's anauthorized dialog by not performing login. This is useful for users who wants only to reset the password and not to use Web UI. And also for users who are using the separate login page.

https://fedorahosted.org/freeipa/ticket/2755
2012-06-21 12:46:59 +02:00
Petr Vobornik
f52fa2a018 Action panel for service provisioning
Servise provisioning status widget was modified only to display the has_keytab status. Button for 'delete key,unprovision' was moved as action to newly created action panel in the same section. This required to moved the creation of the unprovisioning dialog from that widget to new separate dialog.

Action for action panel and all required status evaluators for enabling/disabling of that action were also created.

https://fedorahosted.org/freeipa/ticket/2252
2012-06-13 16:44:35 +02:00