summaryrefslogtreecommitdiffstats
path: root/install/ui/widget.js
Commit message (Collapse)AuthorAgeFilesLines
* Added IP address validator to Host and DNS record adder dialogPetr Vobornik2012-01-111-2/+16
| | | | | | | | | Also fixed minor issues reagarding IP addresses or multivalued field: - removed unnecessary method overrides from multivalued_field - fixed extract_child_value method in multivalued_widget to return '' instead of empty arrays when value array is empty - net.js - changed method name and error message from 'trailing zeros' to 'leading zeros' https://fedorahosted.org/freeipa/ticket/1466
* Added account status into user search facet.Endi Sukma Dewata2012-01-061-15/+57
| | | | | | | | The user search facet has been modified to show the account status. The IPA.boolean_format has been converted into a class to allow behavior customization. Ticket #1996
* Added validation logic to multivalued text fieldPetr Vobornik2012-01-031-1/+26
| | | | https://fedorahosted.org/freeipa/ticket/1466
* Refactored entity object resolution.Endi S. Dewata2011-12-211-10/+10
| | | | | | | | | | | | | The IPA.get_entity() has been modified to accept either entity name or entity object. If it receives an entity object it will return the object itself. Otherwise, it will resolve the name in the entity registry. The other_entity variables have been modified to store a reference to the entity object instead of its name. The test cases have been modified to use real entity objects instead of just the names. Ticket #2042
* Better table column width computingPetr Vobornik2011-12-171-21/+42
| | | | | | | | Columns can have width set or not. Without setting the width it was computed based on tbody width and number of columns. This method is working well if no column has width set. The disadvantage of this approach is that all columns have the same width and so they are not reflecting their possible usage. Flag columns such as 'external' in rule association tables or various 'enable' flags in search facets can be narrower. If we set them fixed small width it will have different size because this width is not currently added to the computation. This is fixing this problem so dynamic and fixed width can be combined and the columns have desired width. https://fedorahosted.org/freeipa/ticket/2200
* Distinguishing of external values in association tablesPetr Vobornik2011-12-151-3/+7
| | | | | | | | | | | | | | | | | | | | Problem: Rule association widget was displaying standard records with external records in one table. User couldn't distinguish the values. When clicking on the external record link it navigated to appropriate page for that entity. But for external value there is no record to show so it displayed error. Solution: * For tables with possible external values a 'external' column was added. It displays "True" if the value is external and nothing if not. Displaying nothing is intentional. If user sees some text in external column he imidiately knows that the record is external without even reading the "True" text. * Rows with external values don't have a link for navigating to record page. This prevents showing the error as no record exists. Additional changes: * Association table widget was stripped of get_records method. Loading records isn't its resposibility it's a resposibility of field. * Column was extended by possible suppressing of link creation. It's done by optional suppress_link argument in setup method. * To allow setting suppress_link attribute in inherited tables a new overridable method was created - setup_column. Posible future improvements: * Table is using dynamic setting of width for columns. Each column has the same width. For flag columns such as 'external' the width of the column is too big. It would be better to be able to set smaller fixed width and the rest of the columns width (without the width set) would be computed (to fit the table). * When a table has displayed buttons in its last column header the cells in column header have different vertical alignmnent. It should be united. https://fedorahosted.org/freeipa/ticket/1993
* Additional better displaying of long namesPetr Vobornik2011-12-091-27/+21
| | | | | | | | - facet group headers, error dialog, non-scrollable tables, can manage long names Size calculation of scrollable and non-scrollable tables was united. Now these types of tables differ only by style. https://fedorahosted.org/freeipa/ticket/1821
* Better displaying of long names in tables and facet headersPetr Vobornik2011-12-091-11/+18
| | | | | | | | | | | | | | | | | | | | | | | | | Tables columns have computed width. If value in one column is very long it widens the column and shortens others. This change causes that body columns are not aligned with header columns which makes the table less readable. Applying 'word-break: break-all' style breaks the word to multiple lines and solves the problem. Simililar problem is in details facet when displaying text values. Very long values widens the table and a horizontal slider is displayed, which is bad. Applying same solution. In facet headers and breadcrumb navigation breaking the pkey looks bad - there should be only on line of pkey. To solve this, the pkey is limited to 63 characters (empirically measured). Long pkeys are cut. Uncut pkey is set as a title to avoid losing information. Whole breadcrump could be about 140 chars (with current styles). 10 chars is reserved for entity link, 60 for pkey the rest (about 60) for parent pkeys. The assumtion is that the parent pkeys wouldn't be so long so they won't be cut anyway. Column width calculation in tables was iproved. Now it counts with cell spacing, padding, border. It uses these assumtions: cell-spacing: 2px cell-padding: 6px th:right, left; td: left cell-border: th:1px; td:0px It would be better to get these measures dynamically. Right now it is good enough - better than previous calculation. Result: data cells are aligned with their header. This alignment fails if vertical scrollbar is displayed (existing problem). Also added padding to headers in association adder dialog. https://fedorahosted.org/freeipa/ticket/1890
* Search facets show translated boolean valuesPetr Vobornik2011-12-081-0/+21
| | | | | | | | Created format method for getting translated messages for boolean values - IPA.boolean_format. Used in hosts, sudo rules, hbac rules and hbac test. https://fedorahosted.org/freeipa/ticket/2027
* Added external fields for HBAC Test.Endi Sukma Dewata2011-12-071-0/+1
| | | | | | | A text field has been added for specifying external user, host, and service for HBAC testing. Ticket #388
* Fixed navigation buttons for HBAC Test.Endi Sukma Dewata2011-12-071-1/+1
| | | | | | | The Back, Next, and New Test buttons in HBAC Test have been fixed to work properly. Ticket #388
* Added HBAC Test page.Endi Sukma Dewata2011-12-061-2/+8
| | | | | | | | | | This is the initial implementation of HBAC Test page. Currently it can select user, source/target group, service, rules, and execute the test. Other functionalities to be implemented include the search filter, external users/hosts, back/next buttons, validation, styling, and internalization. Ticket #388
* Added support for radio buttons in table widget.Endi Sukma Dewata2011-12-061-44/+59
| | | | | | | | | The table widget has been modified to support single-valued attribute using radio buttons needed by some facets in HBAC Test. The widget now uses 'pagination' flag to determine whether to show the pagination control. The test data has also been updated. Ticket #388
* Removed usage of bitwise assignment operators in logical operationsPetr Vobornik2011-12-051-1/+1
| | | | | | | | | | | | | | | JavaScript &= and |= are bitwise operators. They are shortened version of: foo = foo & bar foo = foo | bar In some places they were used as shortened version of logical operation and assignment. foo = foo && bar It lead to type conversion to Number which is wrong (0 !== false). This patch replaces such occurances with full version of logical operation and asignment. https://fedorahosted.org/freeipa/ticket/2040
* Modifying automount to work with new conceptPetr Vobornik2011-12-051-0/+13
| | | | https://fedorahosted.org/freeipa/ticket/2040
* Code cleanup of HBAC, Sudo rulesPetr Vobornik2011-12-051-0/+31
| | | | https://fedorahosted.org/freeipa/ticket/1515
* Removing sections as special type of objectPetr Vobornik2011-12-051-0/+165
| | | | | | | | | | Sections are changed into pure widget objects. Introduced IPA.composite_widget, basic widget for widget nesting (it's using IPA.widget_container). It's base class for section widgets. TODO: change old custom sections into custom fields and widgets. Note: usage of section in HBAC and SUDO is kept - whole logic will be removed in #1515 patch. https://fedorahosted.org/freeipa/ticket/2040
* Builders and collections for fields and widgetsPetr Vobornik2011-12-051-0/+143
| | | | | | | | | | | Introduced IPA.field_container and IPA.widget_container. IPA.field_container: collection for fields. Can set logical container (facet, dialog...) to fields. IPA.widget_container: collection for widgets. Has basic searching capability withing widget tree. Introduced field_builder, widget_builder, section_builder, details_builder. All are used for building fields and widgets. Field_builder and widget_builder have the main building logic. Section_builder can create content based on current section spec. Details builder defines a strategy for building content. https://fedorahosted.org/freeipa/ticket/2040
* Splitting basic widgets into visual widgets and fieldsPetr Vobornik2011-12-051-346/+274
| | | | https://fedorahosted.org/freeipa/ticket/2040
* Splitting widget into widget and fieldPetr Vobornik2011-12-051-274/+34
| | | | | | Splitting IPA.widget into IPA.field (logical part) and IPA.widget, IPA.input_widget (visual part). https://fedorahosted.org/freeipa/ticket/2040
* Refactored permission target section.Endi S. Dewata2011-11-141-2/+3
| | | | | | | The permission target section has been modified to use widgets to create the target selection and handle multiple fields. Ticket #2098
* Added paging on search facet.Endi S. Dewata2011-11-111-7/+7
| | | | | | | | | | | | | | | The search facet has been modified to support paging on most entities using the --pkey-only option to get the primary keys and a batch command to get the complete records. Paging on DNS records is not supported because a record may appear as multiple rows. The following entities do not have --pkey-only option: Automount Key, Self-Service Permissions, Delegation. The search and association facet have been refactored to reuse the common code from the table facet base class. Ticket #981
* Extending facet's mechanism of gathering changesPetr Vobornik2011-11-041-1/+14
| | | | | | | | | | | | https://fedorahosted.org/freeipa/ticket/2041 Adding option to gathering changes for update from widgets, sections, details facet. Changes are represented by update_info { fields [] ((field_info)), commands [] ((command_info)) } object. * On calling get_update_info() method widget, section and facet returns update_info object which represents all changes in nested objects. Thus usually widgets are creating update_infos, their containers are merging them. * This object can be then used in details facet update method. In order to use it command_mode = 'init' has to be set. Command mode was introduced to support backward compatibility. * command_info consists of command and priority. Priority can be set to specify exact exectuting order of commands. It can be defined on facet level by setting widget's priority. When widgit is creating command_info it should pas its priority to it.
* Page is cleared before it is visiblePetr Vobornik2011-11-021-10/+70
| | | | | | | | | https://fedorahosted.org/freeipa/ticket/1459 Changes: * added clear method to widgets, section, search, details, association facets * clear and refresh method in facet are called only if key/filter was changed * added id generator for widgets
* Refactored validation code.Endi S. Dewata2011-10-271-1/+1
| | | | | The validation code in details facet, dialog, and sections have been modified to work more consistently.
* Merged widget's metadata and param_info.Endi S. Dewata2011-10-271-64/+51
| | | | | | | The metadata and param_info attributes in widget have been merged because they are redundant. Ticket #1436
* Fixed problem clearing validation error on checkboxes.Endi S. Dewata2011-10-261-0/+1
| | | | | | The IPA.checkboxes_widget has been modified such that it performs validation when the checkboxes are clicked. This will also clear any validation errors.
* Minor visual enhancement of required indicatorPetr Vobornik2011-10-251-1/+1
| | | | | | | | | https://fedorahosted.org/freeipa/ticket/1696 Changes: * in details table facet '*' don't break colon alignment * bolder, bigger (-> IMHO nicer) asteriks * float (visual style) moved to css file
* Fixed inconsistent required/optional attributes.Endi S. Dewata2011-10-251-9/+47
| | | | | | | | | The dialogs and details pages have been modified to use the * symbol to mark required fields. The automount map and the DNS zone dialogs have been modified to update the required fields according to the input type. Ticket #1696, #1973
* Disables gid field if not posix group in group adder dialogPetr Vobornik2011-10-061-0/+11
| | | | | | https://fedorahosted.org/freeipa/ticket/1922 gidNumber is not an allowed attribute for a non-posix group. When adding a non-posix group from the UI, unchecking the "Is this a POSIX group?:" box should disable the "GID:" field.
* Added selectable labels for radio buttons.Endi S. Dewata2011-10-051-4/+14
| | | | | | | | The radio buttons in association facet and radio widget are now linked to their labels so that they can be selected by clicking the labels. Ticket #1782
* I18n clean-up.Endi S. Dewata2011-10-031-2/+2
| | | | | | | The hard-coded 'undo' and 'undo all' labels have been moved into internal.py to allow translation. Ticket #1897
* Fixed: Some widgets do not have space for validation error messagePetr Vobornik2011-09-291-5/+24
| | | | | | | | | | | | | | | | | | | | | | | | https://fedorahosted.org/freeipa/ticket/1454 The following widgets should call create_error_link() to create a space to show validation error messages: IPA.checkbox_widget IPA.checkboxes_widget IPA.radio_widget IPA.select_widget IPA.table_widget IPA.attributes_widget IPA.rights_widget IPA.target_section (it's a widget) Solution: * added call to checkbox, checkboxes, radio, select, table, attributes widget * rights_widget inherits it from checkboxes_widget. * target_section IS NOT a widget as it doesn't inherit from widget. It's still a section, which shows different widgets based on its state. * table_widget displays error_link between pagination and summary. Additional: * added padding and unified font-weight for error message
* Use editable combobox for service type.Endi S. Dewata2011-09-291-5/+29
| | | | | | | The service type field in the service adder dialog has been modified to use an editable combobox. Ticket #1633.
* Fixed problem displaying special characters.Endi S. Dewata2011-09-231-12/+10
| | | | | | | | Some jQuery objects in various locations have been modified to use text() to show values obtained from the server (except messages). The text() will automatically encode special characters. Ticket #1798
* Fixed problem on combobox with search limit.Endi S. Dewata2011-09-231-12/+7
| | | | | | | | | | | The IPA.combobox_widget has been modified such that if the drop-down list doesn't contain the stored value (due to search limit) it will not select anything from the list. The widget has also been modified not to select the value that matches the filter automatically because that might not be the user's intention. Ticket #1819
* Modified dialog to use sections.Endi S. Dewata2011-09-231-13/+17
| | | | | | | | | | | | | | | The IPA.dialog has been modified to store sections instead of fields. If there is no sections specified, it will create a default section. The adder dialog for automount map has been modified such that the fields related to indirect map are stored in a section which will only be visible when the map type is set to indirect. The adder dialog for host has been modified such that it uses a custom section for hostname and DNS zone and standard section for the other fields. Ticket #1394
* Fixed posix group checkbox.Endi S. Dewata2011-09-201-6/+21
| | | | | | | | | | | | In the adder dialog for groups the checkbox has been modified to use the correct field name "nonposix" and be checked by default. Note: This is a temporary fix to minimize the changes due to release schedule. Eventually the field label will be changed into "Non-POSIX group" and the checkbox will be unchecked by default, which is more consistent with CLI. Ticket #1799
* Code cleanup: widget creationPetr Vobornik2011-09-131-112/+70
| | | | | | | https://fedorahosted.org/freeipa/ticket/1788 Removed code duplication of undo links. Simplified code of widget creation to be more readable.
* Fixed problem with combobox using SahiEndi S. Dewata2011-09-011-3/+1
| | | | | | | The IPA.combobox_widget has been temporarily fixed to support automation using Sahi. Ticket #1754
* Fixed problem with combobox.Endi S. Dewata2011-08-311-28/+70
| | | | | | | The entity select widget has been modified to handle timing issue in both dialog box and details page. Ticket #1736
* Enable update and reset button only if dirtyPetr Vobornik2011-08-311-0/+42
| | | | | | | | | | | | | | | https://fedorahosted.org/freeipa/ticket/1697 Original problem: WEBUI: Update automount location refer to unknown command Update name of the automount location (Policy -> Automount -> custom_location -> Settings -> Update) in the WEBUI refer to an unknown command. Solution: Tracking dirty state in field -> section -> details facet. 'Reset' and 'Updates' in details facet are enabled only if facet is dirty. Removes the problem above and 'no modification to be performed' annoyance.
* Fixed host adder dialog to show default DNS zone.Endi S. Dewata2011-08-301-4/+13
| | | | | | | The DNS zone widget for host adder dialog has been modified not to provide an empty option, so it will show the first available zone. Ticket #1685
* Modifying sudo options refreshes the whole pagePetr Vobornik2011-08-291-5/+5
| | | | | | https://fedorahosted.org/freeipa/ticket/1689 Currently adding or deleting sudo options will refresh the entire page. It's not a problem but the code could be optimized to refresh only the sudo options table
* Fixed default map type in automount map adder dialog.Endi S. Dewata2011-08-251-0/+1
| | | | | | | The adder dialog for automount map has been modified to select the direct map by default. Ticket #1698
* Validation of details facet before update ↵Petr Vobornik2011-08-251-5/+7
| | | | | | | | https://fedorahosted.org/freeipa/ticket/1676 The ticket is a duplicate of server error, but it revealed few UI errors. Newly performs validation of details facet before update. If validation fails, notification dialog is shown and command isn't executed. Fixed integer minimum and maximum value checking. Read-only and non-writable fields are no longer considered required.
* Uncheck checkboxes in association after deletionPetr Vobornik2011-08-191-9/+20
| | | | https://fedorahosted.org/freeipa/ticket/1639
* Fixed problem selecting value from comboboxEndi S. Dewata2011-08-171-2/+2
| | | | | | | The IPA.combobox_widget has been modified to use the 'change' event to capture the selected value from the drop-down list. Ticket #1654
* removing setters setup and initAdam Young2011-07-281-104/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | change widget and widget unit tests to hold on to entity, not entity name. Replacing entity_name with entity.name in most places. The one exception is columns for table_widget. Widgets that refer to other entities have to have late resolution of the entity object, due to circular dependencies. cleanup entity assignment. removed template and layout, merged setup into create adder dialogs adjust height for external removed init from widget, isection, association, facet, host and service Make unit tests use factory. fix functional tests to click find link correctly. tweak to activation test, but still broken. moved initialization code to the end use --all for hbacrule find, so the type shows up now fixed dns exception code and exception handling for get_entity replace metadata look up with value from entity. fixed author lines removed duplicate columns in managed by facets. tweak to nav fix in order to initialize tab. more defensive code update metadata for true false one line init for entity_name in widget move init code to end of constructor functions moved constants to start of function for adder_dialog external fields for dialogs initialized at dialog creation sudo sections: move add fields and columns to widget definition. The parameter validation in IPA.column ...This is precondition checking. Note that it merely throws an exception if the entity_name is not set. I want this stuff at the top of the function so that it is obvious to people looking to use them what is required. I added a comment to make this clear, but I'd like to keep precondition checking at the top of the function. decreased the scope of the pkey_name and moved the initiailzation fof columns into the setup_column function for association_tables return false at the end of click handler removed blank labels in sudo command section fix radio buttons for sudo category fixed table side for adder dialogs with external fields comments for future direction with add_columns https://fedorahosted.org/freeipa/ticket/1451 https://fedorahosted.org/freeipa/ticket/1462 https://fedorahosted.org/freeipa/ticket/1493 https://fedorahosted.org/freeipa/ticket/1497 https://fedorahosted.org/freeipa/ticket/1532 https://fedorahosted.org/freeipa/ticket/1534
* Removed reverse zones from host adder dialog.Endi S. Dewata2011-07-181-6/+9
| | | | | | | The host adder dialog has been modified to specify the new flag for retrieving the forward zones only. Ticket #1458