Fix various typos

Found via `codespell -q 3 -S ./config/locales,./modules/xls_export/config/locales,./modules/job_status/config/locales,./modules/two_factor_authentication/config/locales,./modules/backlogs/config/locales/crowdin -L ba,nd,parms,sur,varius`
pull/10196/head
luz paz 3 years ago committed by Oliver Günther
parent 347f937b63
commit 1830420679
  1. 2
      app/seeders/basic_data/color_scheme_seeder.rb
  2. 2
      app/services/api/v3/work_package_collection_from_query_service.rb
  3. 2
      docs/api/apiv3/paths/work_package_file_link_download.yml
  4. 2
      docs/api/apiv3/paths/work_package_file_link_open.yml
  5. 4
      docs/api/apiv3/tags/schemas.yml
  6. 2
      docs/development/concepts/queries/README.md
  7. 2
      docs/development/style-guide/frontend/README.md
  8. 14
      docs/installation-and-operations/configuration/README.md
  9. 2
      docs/installation-and-operations/misc/custom-openid-connect-providers/README.md
  10. 2
      docs/release-notes/10-5-0/README.md
  11. 2
      docs/system-admin-guide/system-settings/Attachments/README.md
  12. 2
      docs/system-admin-guide/system-settings/attachments/README.md
  13. 2
      docs/user-guide/wiki/wiki-faq/README.md
  14. 2
      frontend/doc/STYLING.md
  15. 2
      frontend/src/app/core/browser/browser-detector.service.ts
  16. 2
      frontend/src/app/core/global_search/services/global-search.service.ts
  17. 2
      frontend/src/app/core/setup/globals/global-listeners/settings.ts
  18. 2
      frontend/src/app/core/setup/globals/global-listeners/top-menu.ts
  19. 2
      frontend/src/app/features/bim/ifc_models/pages/viewer/styles/tabs.sass
  20. 2
      frontend/src/app/features/boards/board/board-actions/assignee/assignee-action.service.ts
  21. 2
      frontend/src/app/features/boards/board/board-actions/board-action.service.ts
  22. 2
      frontend/src/app/features/hal/resources/hal-resource.spec.ts
  23. 2
      frontend/src/app/features/hal/services/hal-aware-error-handler.ts
  24. 2
      frontend/src/app/features/invite-user-modal/invite-user.component.ts
  25. 2
      frontend/src/app/features/projects/components/new-project/new-project.component.ts
  26. 4
      frontend/src/app/features/reporting/reporting-page/functionality/reporting_engine/controls.js
  27. 2
      frontend/src/app/features/work-packages/components/wp-fast-table/builders/modes/grouped/grouped-rows-builder.ts
  28. 2
      frontend/src/app/features/work-packages/components/wp-fast-table/builders/modes/hierarchy/hierarchy-rows-builder.ts
  29. 2
      frontend/src/app/features/work-packages/components/wp-fast-table/builders/modes/hierarchy/single-hierarchy-row-builder.ts
  30. 2
      frontend/src/app/features/work-packages/components/wp-table/configuration-modal/tabs/sort-by-tab.component.html
  31. 2
      frontend/src/app/features/work-packages/components/wp-table/configuration-modal/tabs/sort-by-tab.component.ts
  32. 2
      frontend/src/app/features/work-packages/components/wp-table/configuration-modal/tabs/timelines-tab.component.ts
  33. 2
      frontend/src/app/features/work-packages/components/wp-table/timeline/wp-timeline.ts
  34. 2
      frontend/src/app/features/work-packages/components/wp-tabs/services/wp-tabs/wp-tabs.service.spec.ts
  35. 2
      frontend/src/app/shared/components/autocompleter/lazyloaded/lazyloaded-autocompleter.ts
  36. 2
      frontend/src/app/shared/components/dynamic-forms/services/dynamic-fields/dynamic-fields.service.ts
  37. 2
      frontend/src/app/shared/components/fields/changeset/resource-changeset.ts
  38. 4
      frontend/src/app/shared/components/fields/edit/edit-form/edit-form.ts
  39. 2
      frontend/src/app/shared/components/fields/edit/editing-portal/edit-field-handler.ts
  40. 2
      frontend/src/app/shared/components/fields/edit/field-handler/hal-resource-edit-field-handler.ts
  41. 2
      frontend/src/global_styles/content/_forms_mobile.sass
  42. 2
      frontend/src/global_styles/content/_members.sass
  43. 2
      frontend/src/global_styles/content/_table.sass
  44. 2
      frontend/src/global_styles/content/_toast.lsg
  45. 2
      frontend/src/global_styles/content/_tooltips.lsg
  46. 2
      frontend/src/global_styles/content/work_packages/new/_type_status_row.sass
  47. 2
      frontend/src/global_styles/content/work_packages/single_view/_single_view.sass
  48. 2
      frontend/src/global_styles/layout/work_packages/_print.sass
  49. 2
      modules/backlogs/lib/open_project/backlogs/hooks.rb
  50. 2
      modules/github_integration/spec/lib/open_project/github_integration/notification_handler/helper_spec.rb
  51. 2
      modules/github_integration/spec/models/github_pull_request_spec.rb
  52. 2
      modules/two_factor_authentication/app/controllers/two_factor_authentication/authentication_controller.rb
  53. 2
      modules/two_factor_authentication/app/controllers/two_factor_authentication/my/remember_cookie_controller.rb
  54. 2
      modules/two_factor_authentication/app/controllers/two_factor_authentication/my/two_factor_devices_controller.rb
  55. 2
      modules/xls_export/spec/lib/spreadsheet_builder_spec.rb
  56. 4
      spec/features/auth/auth_stages_spec.rb
  57. 2
      spec/features/placeholder_users/delete_spec.rb
  58. 2
      spec/helpers/hook_helper_spec.rb
  59. 2
      spec/models/queries/roles/filters/unit_filter_spec.rb
  60. 2
      spec/services/users/set_attributes_service_spec.rb

@ -46,7 +46,7 @@ module BasicData
end
##
# Pallette by open-color
# Palette by open-color
# https://yeun.github.io/open-color/
def data
[

@ -81,7 +81,7 @@ module API
if query.manually_sorted?
params[:query_id] = query.id
params[:offset] = 1
# Force the setting value in all cases except when 0 is requested explictly. Fetching with pageSize = 0
# Force the setting value in all cases except when 0 is requested explicitly. Fetching with pageSize = 0
# is done for performance reasons to simply get the query without the results.
params[:pageSize] = pageSizeParam(params) == 0 ? pageSizeParam(params) : Setting.forced_single_page_size
else

@ -32,7 +32,7 @@ get:
type: string
format: uri
description: |-
Returned if the request was succesful. In the `Location` header is the uri where the client can download the
Returned if the request was successful. In the `Location` header is the uri where the client can download the
origin file from the storage.
'404':
content:

@ -32,7 +32,7 @@ get:
type: string
format: uri
description: |-
Returned if the request was succesful. In the `Location` header is the uri where the client can open the origin
Returned if the request was successful. In the `Location` header is the uri where the client can open the origin
file on the storage.
'404':
content:

@ -50,7 +50,7 @@ description: |-
| writable | If false it is not allowed to **change** the properties value | Boolean | true |
| location | If present, contains a reference to the location of the property in the JSON | String | |
| description | If present, contains a formattable, human readable description | Formattable | |
| deprecated | If present, the client should considere the existence of the property depreacated | Boolean | false |
| deprecated | If present, the client should consider the existence of the property depreacated | Boolean | false |
All of the above properties that do not have a default value *must* be present in the schema.
For properties that have a default value, the client can assume the default value, if the property is missing.
@ -102,7 +102,7 @@ description: |-
"description": {
"format": "markdown",
"raw": "A description for field Lorem ipsum. This may contain [links](https://example.com).",
"html": "<p>A description for field Lorem ipsum. This may contain <a href=\"https://exampel.com\">links</a>.</p>"
"html": "<p>A description for field Lorem ipsum. This may contain <a href=\"https://example.com\">links</a>.</p>"
};
"_links": {
"allowedValues": {

@ -50,7 +50,7 @@ A query is an object that revolves about two types of information:
1. The configuration needed to fetch data from the database (filters, sort criteria, grouping criterion etc.)
2. The way the results retrieved from the database with the above filters are displayed (set of visible columns, highlighting, display mode of the work package table, etc.)
Currently, the Queries endpoint and object is highly specific to work packages, but this is bound to change with more resources becoming queriable. For some other resources such as projects, queries already exists in the backend, but not yet in the frontend application.
Currently, the Queries endpoint and object is highly specific to work packages, but this is bound to change with more resources becoming queryable. For some other resources such as projects, queries already exists in the backend, but not yet in the frontend application.

@ -124,7 +124,7 @@ means that the respective collections and entities have to be refreshed from the
For this usecase, we have implemented a global actions service. You can dispatch actions here, and other parts of the
application can listen to these actions. Think of it like a global event bus. These actions are typed.
To reduce server requests, side effects **should be** be calculated in the frontend. If this is impossible, the updating store **must** send out a global event to notify other parts that the specific event occured.
To reduce server requests, side effects **should be** be calculated in the frontend. If this is impossible, the updating store **must** send out a global event to notify other parts that the specific event occurred.
**Note:** The proper solution to this problem would be a backend that can push updates for collections and entities that we are requiring. However, implementing and relying on websockets comes with its own challenges.

@ -442,14 +442,14 @@ web:
**Note:** Timeouts only are supported when using at least 2 workers.
As usual these values can be overriden via the environment.
As usual these values can be overridden via the environment.
```
OPENPROJECT_WEB_WORKERs=2
OPENPROJECT_WEB_TIMEOUT=60 # overriden by: RACK_TIMEOUT_SERVICE_TIMEOUT
OPENPROJECT_WEB_WAIT__TIMEOUT=10 # overriden by: RACK_TIMEOUT_WAIT_TIMEOUT
OPENPROJECT_WEB_MIN__THREADS=4 # overriden by: RAILS_MIN_THREADS
OPENPROJECT_WEB_MAX__THREADS=16 # overriden by: RAILS_MAX_THREADS
OPENPROJECT_WEB_TIMEOUT=60 # overridden by: RACK_TIMEOUT_SERVICE_TIMEOUT
OPENPROJECT_WEB_WAIT__TIMEOUT=10 # overridden by: RACK_TIMEOUT_WAIT_TIMEOUT
OPENPROJECT_WEB_MIN__THREADS=4 # overridden by: RAILS_MIN_THREADS
OPENPROJECT_WEB_MAX__THREADS=16 # overridden by: RAILS_MAX_THREADS
```
### Two-factor authentication
@ -515,8 +515,8 @@ statsd:
Or via the environment:
```
OPENPROJECT_STATSD_HOST=127.0.0.1 # overriden by: STATSD_HOST
OPENPRJOECT_STATSD_PORT=8125 # overriden by: STATSD_PORT
OPENPROJECT_STATSD_HOST=127.0.0.1 # overridden by: STATSD_HOST
OPENPRJOECT_STATSD_PORT=8125 # overridden by: STATSD_PORT
```
| ----------- | :---------- |

@ -91,7 +91,7 @@ You can see a list of possible options [here](https://github.com/m0n9oose/omniau
There are a number of known providers where the endpoints are configured automatically based on the provider name in the configuration. All that is required are the client ID (identifier) and secret in that case.
If you want to configure multiple connections using the same provider you can prefix an arbitary name with the
If you want to configure multiple connections using the same provider you can prefix an arbitrary name with the
provider name followed by a period. For instance, if you want to configure 2 AzureAD connections and 1 Google connection it would look like this:
```

@ -65,7 +65,7 @@ OpenProject supports BIM project management with central planning, collaboration
### BCF Management for the construction industry
The core scenario enabled by the new release of the BIM Edition is BIM Issue Management with BCF. This enables issues in a construction project (e.g. clashes, requests, questions) to be crated and communicated directly on a 3D model or between several submodels.
The core scenario enabled by the new release of the BIM Edition is BIM Issue Management with BCF. This enables issues in a construction project (e.g. clashes, requests, questions) to be created and communicated directly on a 3D model or between several submodels.
Both, model-associated issues (BCFs) directly on the BIM model as well as non-model-associated tasks can be created and tracked.
![BCF-management-details](BCF-management-details.png)

@ -22,5 +22,5 @@ keywords: Attachments Settings
2. Do not forget to **save** your changes.
![attchment settings](image-20220125124252869.png)
![attachment settings](image-20220125124252869.png)

@ -22,5 +22,5 @@ keywords: Attachments Settings
2. Do not forget to **save** your changes.
![attchment settings](image-20220125124252869.png)
![attachment settings](image-20220125124252869.png)

@ -33,7 +33,7 @@ Otherwise the page will appear in the project navigation and you can select, whe
After saving a wiki-page, you can create a referencing link for the page to easily access it - either by making it a wiki menu item (s.a.) or by referencing it with a link on the main wiki-page. If this chance was missed you can reaccess the page at any time, by typing in the page’s URL in the browser:
The example URL would be: openproject.org/projects/your-projects-name/wiki/your-wiki-page’s-name
Also, you have the possibility to display the wiki’s Table of Contents, which you also can acitvate for each wiki page with “configure menu item” (s.a.). Here you see all wiki pages for the project.
Also, you have the possibility to display the wiki’s Table of Contents, which you also can activate for each wiki page with “configure menu item” (s.a.). Here you see all wiki pages for the project.
### I activated the wiki module in the project settings but cannot see any wiki in the project menu. What happened?

@ -1,7 +1,7 @@
Styling the frontend
====================
Frontend styling is coupled to the Living Styleguide. The guide implements the same CSS that the application does. It takes the very same Sass files used in the Asset pipeline to build a second css file that is then used for diplaying the guide.
Frontend styling is coupled to the Living Styleguide. The guide implements the same CSS that the application does. It takes the very same Sass files used in the Asset pipeline to build a second css file that is then used for displaying the guide.
All styles for OpenProject are found in `./app/assets/stylesheets`. The frontend folder contains no styling, besides rendered files and some styling for the styleguide itself.

@ -15,7 +15,7 @@ export class BrowserDetector {
}
/**
* ToDo: Remove all occurences once Edge on Chromium is released
* ToDo: Remove all occurrences once Edge on Chromium is released
*/
public get isEdge() {
return this.hasBodyClass('-browser-edge');

@ -44,7 +44,7 @@ export class GlobalSearchService {
public currentTab$ = this._currentTab.asObservable();
// Default project scope is "this project and all subprojets"
// Default project scope is "this project and all subprojects"
private _projectScope = new BehaviorSubject<any>('');
public projectScope$ = this._projectScope.asObservable();

@ -106,7 +106,7 @@ export function listenToSettingChanges() {
jQuery('.settings--highlighted-attributes').toggle(highlightingMode === 'inline');
});
/** Initialize hightlighted attributes checkboxes. If none is selected, it means we want them all. So let's
/** Initialize highlighted attributes checkboxes. If none is selected, it means we want them all. So let's
* show them all as selected.
* On submitting the form, we remove all checkboxes before sending to communicate, we actually want all and not
* only the selected. */

@ -222,7 +222,7 @@ export class TopMenu {
}
// If there is ANY input, it will have precedence over links,
// i.e. links will only get focussed, if there is NO input whatsoever
// i.e. links will only get focused, if there is NO input whatsoever
focusFirstInputOrLink(dropdown:JQuery) {
let toFocus = dropdown.find('ul :input:visible:first');
if (toFocus.length === 0) {

@ -116,7 +116,7 @@
padding-bottom: 0.5rem
vertical-align: top
// Hightlighted list items shall look like a "pill", similarly to the selected tree item in the wiki menu.
// Highlighted list items shall look like a "pill", similarly to the selected tree item in the wiki menu.
$pill-padding-left: 8px
.xeokit-tab

@ -65,7 +65,7 @@ export class BoardAssigneeActionService extends CachedBoardActionService {
/**
* Returns the current filter value if any
* @param query
* @returns The loaded action reosurce
* @returns The loaded action resource
*/
getLoadedActionValue(query:QueryResource):Promise<HalResource|undefined> {
const filter = this.getActionFilter(query);

@ -106,7 +106,7 @@ export abstract class BoardActionService {
/**
* Returns the current filter value if any
* @param query
* @returns The loaded action reosurce
* @returns The loaded action resource
*/
getLoadedActionValue(query:QueryResource):Promise<HalResource|undefined> {
const id = this.getActionValueId(query);

@ -469,7 +469,7 @@ describe('HalResource', () => {
deep = resource.$embedded.resource.$embedded.first.$embedded.second;
});
it('should crate all nested resources recursively', () => {
it('should create all nested resources recursively', () => {
expect(deep.$isHal).toBeTruthy();
});

@ -26,7 +26,7 @@ export class HalAwareErrorHandler extends ErrorHandler {
let message:string = this.text.internal_error;
// Angular wraps our errors into uncaught promises if
// no one catches the error explictly. Unwrap the error in that case
// no one catches the error explicitly. Unwrap the error in that case
if ((error as RejectedPromise)?.rejection instanceof HalError) {
this.handleError((error as RejectedPromise).rejection);
return;

@ -45,7 +45,7 @@ export class InviteUserModalComponent extends OpModalComponent implements OnInit
/* Close on outside click */
public closeOnOutsideClick = true;
/* Data that is retured from the modal on close */
/* Data that is returned from the modal on close */
public data:any = null;
public type:PrincipalType|null = null;

@ -120,7 +120,7 @@ export class NewProjectComponent extends UntilDestroyedMixin implements OnInit {
}
private isHiddenField(key:string|undefined):boolean {
// We explictly want to show the sendNotifications param
// We explicitly want to show the sendNotifications param
if (key === '_meta.sendNotifications') {
return false;
}

@ -150,7 +150,7 @@ Reporting.Controls = function($){
}
if ($("#query-breadcrumb-save").length) {
// When saving an update of an exisiting query or apply filters, we replace the table on success
// When saving an update of an existing query or apply filters, we replace the table on success
Reporting.Controls.attach_settings_callback($("#query-breadcrumb-save"), Reporting.Controls.update_result_table);
}
}
@ -165,7 +165,7 @@ Reporting.Controls = function($){
Reporting.Controls.attach_settings_callback($("#query-icon-save-button"), function (newLocation) {
document.location = newLocation;
});
// When saving an update of an exisiting query or apply filters, we replace the table on success
// When saving an update of an existing query or apply filters, we replace the table on success
Reporting.Controls.attach_settings_callback($("#query-icon-apply-button"), Reporting.Controls.update_result_table);
Reporting.Controls.observe_click('query-link-clear', Reporting.Controls.clear_query);
});

@ -31,7 +31,7 @@ export class GroupedRowsBuilder extends RowsBuilder {
}
/**
* The hierarchy builder is only applicable if the hierachy mode is active
* The hierarchy builder is only applicable if the hierarchy mode is active
*/
public isApplicable(table:WorkPackageTable) {
return !_.isEmpty(this.groups);

@ -22,7 +22,7 @@ export class HierarchyRowsBuilder extends RowsBuilder {
}
/**
* The hierarchy builder is only applicable if the hierachy mode is active
* The hierarchy builder is only applicable if the hierarchy mode is active
*/
public isApplicable(_table:WorkPackageTable) {
return this.wpTableHierarchies.isEnabled;

@ -48,7 +48,7 @@ export class SingleHierarchyRowBuilder extends SingleRowBuilder {
/**
* Refresh a single row after structural changes.
* Remembers and re-adds the hierarchy indicator if neccessary.
* Remembers and re-adds the hierarchy indicator if necessary.
*/
public refreshRow(workPackage:WorkPackageResource, jRow:JQuery):JQuery {
// Remove any old hierarchy

@ -60,7 +60,7 @@
However, the Angular template compiler wrongly complains about the comparison.
https://github.com/angular/angular/issues/18754
Since the explicit null comparision is safer than `!sort.column.href` the code
Since the explicit null comparison is safer than `!sort.column.href` the code
should be reverted to the old version once the bug is fixed.
-->
<option [textContent]="emptyColumn.name"

@ -84,7 +84,7 @@ export class WpTableConfigurationSortByTabComponent implements TabComponent {
(sort:QuerySortByResource) => ({ name: sort.column.name, href: sort.column.href }),
);
// For whatever reason, even though the UI doesnt implement it,
// For whatever reason, even though the UI doesn't implement it,
// QuerySortByResources are doubled for each column (one for asc/desc direction)
this.allColumns = _.uniqBy(allColumns, 'href');

@ -21,7 +21,7 @@ export class WpTableConfigurationTimelinesTabComponent implements TabComponent {
public zoomLevel:TimelineZoomLevel;
// Manualy build available zoom levels with zoom
// Manually build available zoom levels with zoom
// because it is not part of the order.
public availableZoomLevels:TimelineZoomLevel[] = ['auto', ...zoomLevelOrder];

@ -46,7 +46,7 @@ export class TimelineViewParametersSettings {
zoomLevel:TimelineZoomLevel = 'days';
}
// Can't properly map the enum to a string aray
// Can't properly map the enum to a string array
export const zoomLevelOrder:TimelineZoomLevel[] = [
'days', 'weeks', 'months', 'quarters', 'years',
];

@ -55,7 +55,7 @@ describe('WpTabsService', () => {
});
describe('getTab()', () => {
it('returns the displayable tab whith the correct identifier', () => {
it('returns the displayable tab with the correct identifier', () => {
expect(service.getTab('displayable-test-tab', workPackage)?.id).toEqual('displayable-test-tab');
expect(service.getTab('non-existing-tab', workPackage)).toEqual(undefined);
expect(service.getTab('non-displayable-test-tab', workPackage)).toEqual(undefined);

@ -209,7 +209,7 @@ export namespace LazyLoadedAutocompleter {
},
/**
* Return the number of (lazy) pages for the curent set of results
* Return the number of (lazy) pages for the current set of results
* @param {IAutocompleteItem[]} items
* @returns {number}
*/

@ -211,7 +211,7 @@ export class DynamicFieldsService {
if (!inputType) {
console.warn(
`Could not find a input definition for a field with the folowing type: ${fieldType}. The full field configuration is`, field,
`Could not find a input definition for a field with the following type: ${fieldType}. The full field configuration is`, field,
);
return null;
}

@ -237,7 +237,7 @@ export class ResourceChangeset<T extends HalResource = HalResource> {
* Retrieve the editing value for the given attribute
*
* @param {string} key The attribute to read
* @return {any} Either the value from the overriden change, or the default value
* @return {any} Either the value from the overridden change, or the default value
*/
public value(key:string) {
// Overridden value by user?

@ -169,7 +169,7 @@ export abstract class EditForm<T extends HalResource = HalResource> {
// Mark changeset as in flight
this.change.inFlight = true;
// Reset old error notifcations
// Reset old error notifications
this.errorsPerAttribute = {};
// Notify all fields of upcoming save
@ -233,7 +233,7 @@ export abstract class EditForm<T extends HalResource = HalResource> {
}
protected handleErroneousAttributes(error:ErrorResource):void {
// Get attributes withe errors
// Get attributes with errors
const erroneousAttributes = error.getInvolvedAttributes();
// Save erroneous fields for when new fields appear

@ -119,7 +119,7 @@ export abstract class EditFieldHandler extends UntilDestroyedMixin {
/**
* Handle users pressing enter inside an edit mode.
* Outside an edit mode, the regular save event is captured by handleUserSubmit (submit event).
* In an edit mode, we can't derive from a submit event wheteher the user pressed enter
* In an edit mode, we can't derive from a submit event whether the user pressed enter
* (and on what field he did that).
*/
public abstract handleUserKeydown(event:JQuery.TriggeredEvent, onlyCancel?:boolean):void;

@ -136,7 +136,7 @@ export class HalResourceEditFieldHandler extends EditFieldHandler {
/**
* Handle users pressing enter inside an edit mode.
* Outside an edit mode, the regular save event is captured by handleUserSubmit (submit event).
* In an edit mode, we can't derive from a submit event wheteher the user pressed enter
* In an edit mode, we can't derive from a submit event whether the user pressed enter
* (and on what field he did that).
*/
public handleUserKeydown(event:JQuery.TriggeredEvent, onlyCancel = false) {

@ -66,7 +66,7 @@
.-browser-safari
// Special rule for mobile safari to prevent zooming into the text field
// when focussed.
// when focused.
select,
textarea,
input[type="text"],

@ -47,7 +47,7 @@
#add-member--submit-button
margin-bottom: 0
margin-left: 1rem
// Neccessary so that button and select box have the same height
// Necessary so that button and select box have the same height
line-height: 0.6rem
@include breakpoint(680px down)

@ -190,7 +190,7 @@ table.generic-table
// then the container width is set to the width calculated by summing up
// all the column widths. For td.-max, the max-width will be taken to be
// the column width because of the combination of max-width and width: 100%.
// as a result, td.-max will aways have at least a width of max-width, but it can
// as a result, td.-max will always have at least a width of max-width, but it can
// become even wider.
&.-max
@media screen

@ -24,7 +24,7 @@
<div class="op-toast -error">
<a href="#" title="close" class="op-toast--close icon-context icon-close"></a>
<div class="op-toast--content">
<p>An error occured, here are the facts:</p>
<p>An error occurred, here are the facts:</p>
<ul>
<li>Fact 1: You made a mistake</li>
<li>Fact 2: You <em>really</em> made a mistake</li>

@ -129,5 +129,5 @@ Note that the tabindex has to be set manually on the `<span>` and not the contai
```
<h2>Title</h2>
<p>Lorem <span style="text-decoration: underline;" class="tooltip--top" data-tooltip="this is actully not a real latin text">ipsum</span> dolor sit amet, consectetur adipisicing elit. Facere quibusdam sit voluptas illo error reiciendis non nisi necessitatibus architecto beatae, ea quos <span style="text-decoration: underline;" class=" tooltip--top" data-tooltip="Sounds like an endboss in a JRPG, doesn't it?">sint</span> consectetur repellat aliquid. Ducimus provident totam pariatur.</p>
<p>Lorem <span style="text-decoration: underline;" class="tooltip--top" data-tooltip="this is actually not a real latin text">ipsum</span> dolor sit amet, consectetur adipisicing elit. Facere quibusdam sit voluptas illo error reiciendis non nisi necessitatibus architecto beatae, ea quos <span style="text-decoration: underline;" class=" tooltip--top" data-tooltip="Sounds like an endboss in a JRPG, doesn't it?">sint</span> consectetur repellat aliquid. Ducimus provident totam pariatur.</p>
```

@ -8,7 +8,7 @@
.work-packages--type-selector
margin-left: 5px
// Fix display left padding of tpye
// Fix display left padding of type
.inline-edit--display-field
padding-left: 0 !important

@ -57,7 +57,7 @@
@include details-pane--form-field
// overriding default in place editing padding
// because the heigt will otherwise be too much
// because the height will otherwise be too much
// and the change from read to write will flicker
.inplace-edit--text-field
padding: 0.15625rem 0.375rem

@ -68,7 +68,7 @@
.generic-table--results-container
overflow: hidden
// -------------------- Sepcial Rules for FF --------------------
// -------------------- Special Rules for FF --------------------
body.-browser-firefox
#wrapper,
#main,

@ -44,7 +44,7 @@ module OpenProject::Backlogs::Hooks
{ controller: '/rb_wikis', action: 'edit', project_id: project.id, sprint_id: version.id }, class: 'icon icon-edit'
snippet += '</span>'
# This wouldn't be necesary if the schedules plugin didn't disable the
# This wouldn't be necessary if the schedules plugin didn't disable the
# contextual hook
snippet += context[:hook_caller].nonced_javascript_tag(<<-JS)
(function ($) {

@ -64,7 +64,7 @@ describe OpenProject::GithubIntegration::NotificationHandler::Helper do
expect(handler.extract_work_package_ids(source)).to eq([434, 234])
end
it 'finds multiple occurences of a work package only once' do
it 'finds multiple occurrences of a work package only once' do
source = "I reference https://example.net/work_packages/434\n and Blabla\n[WP 234](https://example.net/work_packages/434)\n"
expect(handler.extract_work_package_ids(source)).to eq([434])
end

@ -158,7 +158,7 @@ describe GithubPullRequest do
.to be_new_record
end
it 'has the privided attributes initialized' do
it 'has the provided attributes initialized' do
expect(finder.attributes.compact)
.to eql("github_id" => pull_request.github_id + 1,
"github_html_url" => "#{pull_request.github_html_url}zzzz")

@ -1,6 +1,6 @@
module ::TwoFactorAuthentication
class AuthenticationController < ApplicationController
# Remmeber token functionality
# Remember token functionality
include ::TwoFactorAuthentication::RememberToken
# Backup tokens functionality
include ::TwoFactorAuthentication::BackupCodes

@ -1,7 +1,7 @@
module ::TwoFactorAuthentication
module My
class RememberCookieController < ::ApplicationController
# Remmeber token functionality
# Remember token functionality
include ::TwoFactorAuthentication::RememberToken
# Ensure user is logged in

@ -8,7 +8,7 @@ module ::TwoFactorAuthentication
before_action :find_device, except: %i[new index register]
# Remmeber token functionality
# Remember token functionality
include ::TwoFactorAuthentication::RememberToken
# Password confirmation helpers and actions

@ -11,7 +11,7 @@ describe "SpreadsheetBuilder" do
expect(@sheet.last_row_index).to eq(0)
end
it "should add the title complety in the first cell" do
it "should add the title completely in the first cell" do
title = "A fancy title"
@spreadsheet.add_title(title)
expect(@sheet.last_row[0]).to eq(title)

@ -137,7 +137,7 @@ describe 'Authentication Stages', type: :feature do
end
end
it 'redirects to registered authentication stage before actual login if succesful' do
it 'redirects to registered authentication stage before actual login if successful' do
expect { login! }.to raise_error(ActionController::RoutingError, /\/login\/stage_test/)
expect(current_path).to eql "/login/stage_test"
@ -238,7 +238,7 @@ describe 'Authentication Stages', type: :feature do
OpenProject::Authentication::Stage.deregister :two_step
end
it 'redirects to both registered authentication stages before actual login if succesful' do
it 'redirects to both registered authentication stages before actual login if successful' do
expect { login! }.to raise_error(ActionController::RoutingError, /\/login\/stage_test/)
expect(current_path).to eql "/login/stage_test"

@ -72,7 +72,7 @@ describe 'delete placeholder user', type: :feature, js: true do
it_behaves_like 'placeholders delete flow'
end
context 'as user with global permission, but placeholder in an invisble project' do
context 'as user with global permission, but placeholder in an invisible project' do
current_user { create :user, global_permission: %i[manage_placeholder_user] }
let!(:project) { create :project }

@ -97,7 +97,7 @@ describe HookHelper do
end
it 'adds to the context' do
# mimicks having two different classes registered for the hook
# mimics having two different classes registered for the hook
allow(OpenProject::Hook)
.to receive(:call_hook)
.and_return(%w[response1 response2])

@ -69,7 +69,7 @@ describe Queries::Roles::Filters::UnitFilter, type: :model do
end
end
context 'for the projet value' do
context 'for the project value' do
let(:values) { ['project'] }
context 'for "="' do

@ -86,7 +86,7 @@ describe Users::SetAttributesService, type: :model do
.to eql model_instance
end
it 'initalizes the notification settings' do
it 'initializes the notification settings' do
expect(call.result.notification_settings.length)
.to be 1

Loading…
Cancel
Save