Commit Graph

287 Commits

Author SHA1 Message Date
Simo Sorce
f9c0eb5222 Remove Makefile from git, this file is autogenerated 2010-10-12 15:46:27 -04:00
Endi S. Dewata
1dc0a3ab3e Certificate management for services.
This is an initial implementation of certificate management for
services. It addresses the mechanism required to view and update
certificates. The complete UI implementation will be addressed in
subsequent patches.

On the server side, the service.py has been modified to define
usercertificate in the service object's takes_params. This is
needed to generate the proper JSON metadata which is needed by
the UI. It also has been modified to accept null certificate for
deletion.

On the client side, the service details page has been modified to
display the base64-encoded certificate in a text area. When the
page is saved, the action handler will store the base64-encoded
certificate in the proper JSON structure. Also the service name
and service hostname are now displayed in separate fields.

The details configuration has been modified to support displaying
and updating certificates. The structure is changed to use maps
to define sections and fields. A section contains name, label,
and an array of fields. A field contains name, label, setup
function, load function, and save function. This is used to
implement custom interface and behavior for certificates.

All other entities, test cases, and test data have been updated
accordingly. Some functions and variables have been renamed to
improve clarity and consistency.
2010-10-12 14:17:24 -04:00
Adam Young
dccb386d57 record limit 2010-10-08 16:59:01 -04:00
Rob Crittenden
71a032db19 Detect if DNS is already configured in IPA, or if IPA is not yet installed.
ipa-dns-manage could fail in very odd ways depending on the current
configuration of the server. Handle things a bit better.

ticket 210
2010-10-08 10:11:49 -04:00
Adam Young
b09467e448 default search
Populate the entity search pages with the results of a search with a blank filter even if no filter has been specified
2010-10-07 15:11:14 -04:00
Adam Young
82455fdb12 policy and config sample data 2010-10-07 14:52:34 -04:00
Adam Young
9cb3a07aca policy and config
Population of the policy and entites tabs.
    DNS and ACI are broken due to PLugin issues
    Fix for entities without search
    Added new files to Makefile.am
    used rolegroup.js file as the start point, renamed to serverconfig.js
2010-10-07 14:51:02 -04:00
Simo Sorce
3e98d8ddad install-script: Do not ask to remove DNS data
When we uninstall we wipe out the entire LDAP database, so it doesn't really
make mush sense to try to also remove single entries from it.
This avoids the --uninstall procedure to fail because the DM password is not
available or the LDAP server is down, and we are just trying to cleanup
everything.
2010-10-07 07:54:06 -04:00
Rob Crittenden
68604a7982 Fix a couple of typos in some ACIs.
One typo was mis-spelling the admins group name
The second was an extraneous 'aci' in the name of two acis.

ticket 335
2010-10-06 21:52:11 -04:00
Rob Crittenden
8ded383b62 Use correct description in hostgroup acis.
This also corrects a duplication problem in acis.
2010-10-06 21:52:03 -04:00
Endi S. Dewata
de35a3e341 Displaying AJAX URL in error message.
The ipa_error_handler() has been modified to display the AJAX URL
that is having a problem. The ipa_cmd() error handler is now invoked
using call() to pass 'this' object which contains the URL.
2010-10-06 21:30:55 -04:00
Pavel Zuna
127ff317ce Fix attribute callbacks on details pages in the webUI.
Ticket #326
2010-10-06 17:01:45 -04:00
Endi S. Dewata
7058df65ac UI Unit Test Docs
A README file for the UI Unit Test has been added. It contains a link
to the online documentation: http://www.freeipa.org/page/UI_Unit_Tests
2010-10-05 21:18:05 -04:00
Simo Sorce
c594ab88ba Add options to control NTLM hashes
By default LM hash is disabled.
Of course generation still depends on whether the SamAccount objectclass is
present in the user object.
2010-10-05 08:54:08 -04:00
Simo Sorce
3b38e74da5 Add Generic config class.
Helps when you need to add random snippets of config that really do not deserve
a full atttribute, but are still something you want to put in LDAP and have
replicated.
2010-10-05 08:54:07 -04:00
Simo Sorce
b9c02a50c2 Fix descriptions 2010-10-05 08:54:06 -04:00
Dmitri Pal
9ca7ea71b1 Allow and deny commands in one rule
1) Added new attribute memberDenyCommand
2) Renamed memberCmd to memberAllowCmd
3) Changed the object class:
 * removed type
 * reflected the rename change
 * added the new attribute
4) Renumbered the attributes (while we still can) for consistency.
2010-10-04 17:00:59 -04:00
Endi S. Dewata
ea334939ba Tooltips for quick links.
The ipa_entity_quick_links() has been modified to show tooltips when
hovering on quick links.
2010-10-04 18:48:13 -04:00
Endi S. Dewata
b7097fc8c9 Entity association configuration.
The ipa_entity_set_association_definition() has been added to configure
the association between 2 entitites. By default the associator is
BulkAssociator and the method is add_member. The entities have been
updated to use the right configurations.

The ipa_cmd() has been modified to detect IPA errors and invoke the
error handler.

A bug in refresh_on_success() has been fixed as well.
2010-10-02 18:13:30 -04:00
Endi S. Dewata
aa7ecb6f5f Autogenerating Quick Links.
ipa_entity_quick_links() has been added to generate quick links
automatically from object's attribute_members, the same logic used
for generating facet list. The search definition for each entity
has been updated to use the new function. A unit test has been
added for this function.
2010-10-01 16:17:51 -04:00
Rob Crittenden
aac7badb77 Remove reliance on the name 'admin' as a special user.
And move it to the group 'admins' instead. This way the admin user can
be removed/renamed.

ticket 197
2010-10-01 13:38:52 -04:00
Adam Young
58f1026e34 Corrected Language Codes The Gnu document incorrectly listed Japanese as jp and Hebrew as iw. That was why the Plurals line passed through directly from the template. 2010-10-01 10:14:20 -04:00
Pavel Zuna
c106922c13 Add Delete capabilities to Search facet in the WebUI.
Ticket #206
2010-10-01 10:00:10 -04:00
Endi S. Dewata
c53831037c Refactoring navigation.js.
The navigation.js has been modified to make it more abstract, i.e.
unaware of entity facets. The nav_update_tabs() has been modified
such that it activates and updates the tabs based on the current
state stored in the URL.

The facets are now handled in entity.js. The ipa_entity_setup() has
been modified to update the facets based on the current state and
cached state.

The navigation.js also has been modified to be more class-like. The
nav_create() has been modified to store the tab configuration and
the tab container in internal variables nav_tabs_lists and
nav_container. The nav_update_tabs() now can be called without any
parameters.

Functions nav_push_state(), nav_get_state(), and nav_remove_state()
have been added to wrap BBQ API. This is to allow unit tests to
replace them with mockup functions to remove dependency on BBQ.
2010-10-01 09:06:47 -04:00
Adam Young
4f2d2fda93 telephone
Typo in attribute name.
2010-09-30 19:10:39 -04:00
Adam Young
df5fa8b71b Item Level Undo
Also adding some unit tests for details.
Using JQuery UI buttons for update and reset

Now triggers on keydown, not change
2010-09-30 09:49:46 -04:00
Endi S. Dewata
c82b4d91bf Checking empty AJAX response in ipa_cmd().
Some errors (e.g. server down) are reported as AJAX success with
empty data. The ipa_cmd() has been modified so that it will detect
such errors and invoke the error handler.
2010-09-29 21:44:39 -04:00
Adam Young
6477bc26df ukrainian language update
Merge in .po file from transifex
2010-09-29 20:27:57 -04:00
Endi S. Dewata
4b4ecef4a3 Added error handler for ipa_cmd().
The ipa_cmd() has been modified such that when an error occurs a
dialog box will appear showing the error message with 2 buttons:
Retry and Cancel. If Retry is clicked, it will attempt to execute
the same operation again. If Cancel is clicked, the operation will
be canceled and the control is returned to the caller.

New unit tests have been added to test ipa_cmd() on successfull
and unsuccessfull cases.

The associate.js, details.js, entity.js, search.js, and webui.js
have been modified to display the error message inside the page.
This behavior can be changed in the future (e.g. redirect to error
page).

The navigation.js and webui.js have been modified to render only
the visible tabs. This improves the performance and reduce hidden
errors. The navigation unit test has been modified to reflect this
behavior.

Some variables/functions also have been renamed for consistency.
2010-09-29 15:43:23 -04:00
Adam Young
09555fae17 tab objects
Convert the tab lists to arrays of objects with four potential fields:

tab[0] -> tab.name
tab[1] -> tab.label
tab[2] -> tab.setup or tab.children

Added unit tests for nav_setup and nav_select_tab
2010-09-29 09:30:09 -04:00
Endi S. Dewata
d201a4350d Fixed tab selection on page reload.
jQuery tabs by default will display the first tab, so reloading a page
or opening a page from bookmark may not show the active tab correctly.
The nav_select_tabs() has been added to get the list of active tabs from
the hash values in the URL and then activate the appropriate tabs. It
will be called during page initialization and whenever the hash values
change.

The navigation.js and webui.js has been cleaned up to better utilize
jQuery API. jQuery selectors are used to create DOM objects that can
be used by subsequent codes. Tab selection handler is now added to the
tabs object instead of anchors. The change event no longer needs to be
triggered manually.
2010-09-28 17:35:23 -04:00
Adam Young
b3a501b8da Fix the 'add' button
THe Add button was located using the DOm, and the scheme used to find it was fragile enough to be broken by the I18N approach.  This is a little more robust, using a JQuery selector based on the class of the controls, and the entity name.

Also remove  Makefile, which should be autogenerated
2010-09-28 10:20:30 -04:00
Endi Sukma Dewata
d966056bb0 Test suite for association.
New test cases have been added to test SerialAssociator and
BulkAssociator using mockup objects. Also fixed a bug in BulkAssociator.

Moved switch_view() out of ipa_entity_generate_views() in entity.js
to allow unit testing using mockup objects. Updated the test case
to validate click event on facets.
2010-09-28 10:20:14 -04:00
Jr Aquino
af48654cbc Add plugins for Sudo Commands, Command Groups and Rules 2010-09-27 22:38:06 -04:00
Adam Young
c187702bfe I18N for web
Performing I18N completely on the server, to leverage the
existing gettext architecture.
Also, the browser does not have access to the Language header.

Added the additional po files for a set of required languages

conflict with install/static/ipa.js was resolved.

Note that the addition of the .po files in this patch is necessary.
In order to get Transifex support, we need to update the LINGUAS
file with the languages for which we want support.  If we don't
add the .po files in, they get automatically generated by the rpmbuild
process.  Our implementation of gettext has a bug in it (It might
be F13 thing) where the the Plurals line is not getting correctly
transformed, which causes a build failure.  However, since the
RPM would have the .po files  anyway, we should revision control
the ones we have, even if they are empty.

Fixed the Bug reporting url to the original value.
Corrected the Chartype encoding for UK
2010-09-27 13:30:55 -04:00
Adam Young
65b455edf9 Whoami link
The 'logged in as' message in the header into an active hypoerlink that loads the details page for the current user.
Also fixed a bug where, when reloading, the search page would fail due to scl being undefined.

Fixed a typo
replaced                {'user-facet':'details', 'pkey':whoami_pkey},2);
with                    {'user-facet':'details', 'user-pkey':whoami_pkey},2);
2010-09-24 20:51:09 -04:00
Endi Sukma Dewata
346615d4a0 Test framework for Web UI.
Test framework for Web UI has been created using qUnit. The test files
are located in install/static/test. The main page is index.html which
contains links to all test suites (xxx_tests.html). The test cases are
stored in xxx_tests.js. All test suites can be executed at once using
all_tests.html. The test data is stored in data folder. This patch
includes test suites for ipa.js and entity.js.

Some variables and functions in ipa.js have been modified to accomodate
testing (e.g. JSON URL, error handler, synchronous operation). The
sampledata has been moved to test/data. The develop.js and webui.js also
have been modified accordingly.
2010-09-24 19:50:29 -04:00
Dmitri Pal
59d46abcd5 Addressing issues found in schema
* Matching rule was incorrect
* Added memberOf attribute to the command
* Switched from groupOfUniqueNames to groupOfNames
2010-09-24 16:11:34 -04:00
Rob Crittenden
da8f51373a Remove spurious error in server uninstaller about client uninstall failure.
This was meant to catch the case where the client wasn't configured and
it missed the most obvious one: the client was installed and is now
uninstalled.
2010-09-24 15:31:44 -04:00
Rob Crittenden
2951901d1e Properly handle CertificateOperationErrors in replication prepration.
The problem here was two-fold: the certs manager was raising an
error it didn't know about and ipa-replica-prepare wasn't catching it.

ticket 249
2010-09-24 15:30:41 -04:00
Endi Sukma Dewata
af36e5ea90 Modal dialog for enrollment
The enroll facet has been converted into a dialog box. This dialog
box will appear when the user clicks the enroll button above the
association list. When the user clicks the enroll button in the
dialog box, the new associations will be created, then the list will
be refreshed to show the changes.

The SerialAssociator and BulkAssociator have been modified to accept
an on_success function which will be called when the whole operation
is completed successfully. This is used to refresh the list and close
the dialog box appropriately.

Some other changes were also made to improve code clarity.
2010-09-23 16:57:11 -04:00
Adam Young
f1f9c37a55 self-service
Selects the site map based on the presence or absense of rolegroups for
the current user.  If the user has no rolegroups, UI defaults to the Details page for that user.

Corrected to leave two levels of tabs
2010-09-23 16:38:00 -04:00
Rob Crittenden
a7ba867438 Add new DNS install argument for setting the zone mgr e-mail addr.
ticket 125
2010-09-23 12:00:12 -04:00
Adam Young
8b4a0adcee rolegroups to config tab 2010-09-21 16:25:46 -04:00
Adam Young
2606f98f39 Rolegroups tab.
The Makefile.am and index.xhtml has been modified to include
rolegroup.js. The webui.js has been modified to register the
rolegroup tab.

The rolegroup.js defines the rolegroup's search, add, and details
pages. Sample data for some rolegroup operations have been added.
2010-09-20 17:05:22 -04:00
Rob Crittenden
6de0834fca Unenroll the client from the IPA server on uninstall.
Unenrollment means that the host keytab is disabled on the server making
it possible to re-install on the client. This host principal is how we
distinguish an enrolled vs an unenrolled client machine on the server.

I added a --unroll option to ipa-join that binds using the host credentials
and disables its own keytab.

I fixed a couple of other unrelated problems in ipa-join at the same time.

I also documented all the possible return values of ipa-getkeytab and
ipa-join. There is so much overlap because ipa-join calls ipa-getkeytab
and it returns whatever value ipa-getkeytab returned on failure.

ticket 242
2010-09-20 16:07:42 -04:00
Rob Crittenden
e648e03d0c Set ipaUniqueId to be unwritable and add to uniqueness configuration.
We don't want admins messing with this value.

ticket 231
2010-09-20 15:59:53 -04:00
Rob Crittenden
923f88c485 Add missing man pageas for ipa-dns-install and ipa-upgradeconfig.
tickets 130 and 131
2010-09-20 15:57:21 -04:00
Adam Young
b47d6c0944 links and facet icons
Enables the icons in the links and in the facets lists
2010-09-20 12:11:33 -04:00
Adam Young
de88718f87 placeholder icons
Place holder icons to show how things should be layed out.  THese will be replaced by the real icons once we get them from UXD
2010-09-20 12:11:15 -04:00