summaryrefslogtreecommitdiff
path: root/app/models/namespace.rb
Commit message (Collapse)AuthorAgeFilesLines
* Eliminate duplicated wordsTakuya Noguchi2018-11-221-1/+1
| | | | Signed-off-by: Takuya Noguchi <takninnovationresearch@gmail.com>
* Backport generic methods to CEce-fix_vuln_list_on_group_dashboardOlivier Gonzalez2018-11-051-0/+6
| | | | | | | Allow to fetch all pipelines for every projects in a group and its subgroups. Allow to fetch the latest pipeline id for each projects of a group and its subgroups.
* Fix typos in comments and specsGeorge Tsiolis2018-11-011-1/+1
|
* Improve logging when username update fails due to registry tagsStan Hu2018-10-021-0/+4
| | | | | When a user cannot be renamed due to existing container registry tags, log the namespace and an example project that has tags.
* Use `Gitlab::SafeRequestStore` in more placesMichael Kozono2018-09-241-2/+2
| | | | | | Even if it doesn’t save lines of code, since people will tend to use code they’ve seen. And `SafeRequestStore` is safer since you don’t have to remember to check `RequestStore.active?`.
* Added FromUnion to easily select from a UNIONYorick Peterse2018-09-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds the module `FromUnion`, which provides the class method `from_union`. This simplifies the process of selecting data from the result of a UNION, and reduces the likelihood of making mistakes. As a result, instead of this: union = Gitlab::SQL::Union.new([foo, bar]) Foo.from("(#{union.to_sql}) #{Foo.table_name}") We can now write this instead: Foo.from_union([foo, bar]) This commit also includes some changes to make this new setup work properly. For example, a bug in Rails 4 (https://github.com/rails/rails/issues/24193) would break the use of `from("sub-query-here").includes(:relation)` in certain cases. There was also a CI query which appeared to repeat a lot of conditions from an outer query on an inner query, which isn't necessary. Finally, we include a RuboCop cop to ensure developers use this new module, instead of using Gitlab::SQL::Union directly. Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/51307
* Refactor code to remove object storage flag from Import/ExportJames Lopez2018-09-061-12/+0
| | | | | | Updated docs, refactor import/export code Fix AvatarUploader path issue Fix project export upload webhook error
* Add Acceptance testing issue templateZeger-Jan van de Weg2018-08-151-1/+1
|
* Merge branch 'frozen-string-enable-app-models' into 'master'Rémy Coutable2018-08-021-0/+2
|\ | | | | | | | | Enable frozen string in app/models/*.rb See merge request gitlab-org/gitlab-ce!20851
| * Enable frozen string in app/models/*.rbrepo-forks/gitlab-ce-frozen-string-enable-app-modelsgfyoung2018-07-261-0/+2
| | | | | | | | Partially addresses #47424.
* | Add repository languages for projectsZeger-Jan van de Weg2018-08-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our friends at GitHub show the programming languages for a long time, and inspired by that this commit means to create about the same functionality. Language detection is done through Linguist, as before, where the difference is that we cache the result in the database. Also, Gitaly can incrementaly scan a repository. This is done through a shell out, which creates overhead of about 3s each run. For now this won't be improved. Scans are triggered by pushed to the default branch, usually `master`. However, one exception to this rule the charts page. If we're requesting this expensive data anyway, we just cache it in the database. Edge cases where there is no repository, or its empty are caught in the Repository model. This makes use of Redis caching, which is probably already loaded. The added model is called RepositoryLanguage, which will make it harder if/when GitLab supports multiple repositories per project. However, for now I think this shouldn't be a concern. Also, Language could be confused with the i18n languages and felt like the current name was suiteable too. Design of the Project#Show page is done with help from @dimitrieh. This change is not visible to the end user unless detections are done.
* | Remove code for dynamically generating routesstop-dynamic-routable-creationYorick Peterse2018-07-251-1/+0
|/ | | | | | This adds a database migration that creates routes for any projects and namespaces that don't already have one. We also remove the runtime code for dynamically creating routes, as this is no longer necessary.
* Port Namespace#root_ancestor to CELin Jen-Shin2018-06-261-0/+4
|
* Add `Ci::Runner` inverse_of'sKamil Trzciński2018-05-311-1/+1
|
* Merge branch '4084-epics-username-autocomplete-ce' into 'master'Douwe Maan2018-05-071-0/+7
|\ | | | | | | | | Backport CE changes from "autocomplete usernames in Epic comments/description" See merge request gitlab-org/gitlab-ce!18605
| * Backport of 4084-epics-username-autocompleteMario de la Ossa2018-05-041-0/+7
| |
* | Rename RunnerGroup -> RunnerNamespaceDylan Griffith2018-05-021-0/+3
|/
* Get GITLAB_FEATURES from Project#licensed_features instead of ↵5320-fix-gitlab-features-env-varDylan Griffith2018-04-091-4/+0
| | | | Namespace#features (#5320)
* Extend API for importing a project export with overwrite supportFrancisco Javier López2018-04-061-0/+4
|
* Fix a typo, a conflict and improve documentationissue_38337Felipe Artur2018-03-061-1/+1
|
* Bring one group board to CEFelipe Artur2018-03-031-0/+5
|
* Expose GITLAB_FEATURES as CI/CD variable (fixes #40994)40994-expose-features-as-ci-cd-variableDylan Griffith2018-02-071-0/+4
|
* Validate path uniqueness only on Route, and bubble up appropriatelyDouwe Maan2018-02-061-1/+0
|
* Validate user namespace before saving so that errors persist on modeldm-user-namespace-route-path-validationDouwe Maan2018-02-061-0/+3
|
* 31885 - Ability to transfer a single group to another groupMayra Cabrera2018-02-061-15/+11
|
* Fix export removal for hashed-storage projects within a renamed or deleted ↵Nick Thomas2018-02-051-0/+18
| | | | namespace
* use Gitlab::UserSettings directly as a singleton instead of ↵Mario de la Ossa2018-02-021-1/+0
| | | | including/extending it
* Remove soft removals related codeYorick Peterse2018-01-081-8/+3
| | | | | | | | | | | | | | This removes all usage of soft removals except for the "pending delete" system implemented for projects. This in turn simplifies all the query plans of the models that used soft removals. Since we don't really use soft removals for anything useful there's no point in keeping it around. This _does_ mean that hard removals of issues (which only admins can do if I'm not mistaken) can influence the "iid" values, but that code is broken to begin with. More on this (and how to fix it) can be found in https://gitlab.com/gitlab-org/gitlab-ce/issues/31114. Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/37447
* Write projects config to all projects inside namespace in batchesDouglas Barbosa Alexandre2018-01-031-2/+2
|
* Refactoring Project#write_repository_configDouglas Barbosa Alexandre2018-01-031-1/+1
|
* Update project full path in .git/config when renaming namespaceDouglas Barbosa Alexandre2018-01-031-0/+7
|
* Allow git pull/push on project redirectsMayra Cabrera2017-12-081-0/+11
|
* Cache the forks in a namespace in the RequestStoreBob Van Landuyt2017-12-041-1/+11
| | | | | | | | | On the `show` of a project that is part of a fork network. We check if the user already created a fork of this project in their personal namespace. We do this in several places, so caching the result of this query in the request store prevents us from repeating it.
* Use fuzzy search with minimum length of 3 characters where appropriatedm-search-patternDouwe Maan2017-11-271-4/+1
|
* Use Gitlab::SQL::Pattern where appropriateDouwe Maan2017-11-241-1/+2
|
* Reallow project paths ending in periodsdm-reallow-project-path-ending-in-periodDouwe Maan2017-11-061-1/+1
|
* Merge branch 'master' into bvl-group-treesBob Van Landuyt2017-10-101-1/+3
|\
| * Find forks within users/namespaces using fork membershipsBob Van Landuyt2017-10-071-1/+3
| |
* | Move the `ancestors_upto` to `Project` and `Namespace`Bob Van Landuyt2017-10-101-0/+7
|/
* Fix setting share_with_group_lockfix-share-with-group-lock-updateYorick Peterse2017-09-151-1/+8
| | | | | | | | | | | | | | | | | | | Prior to this commit running Namespace#force_share_with_group_lock_on_descendants would result in updating _all_ namespaces in the namespaces table, not just the descendants. This is the result of ActiveRecord::Relation#update_all not taking into account the CTE. To work around this we use the CTE query as a sub-query instead of directly calling #update_all. To prevent this from happening the relations returned by Gitlab::GroupHierarchy are now marked as read-only, resulting in an error being raised when methods such as #update_all are used. Fortunately on GitLab.com our statement timeouts appear to have prevented this query from actually doing any damage other than causing a very large amount of dead tuples. Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/37916
* Refactor based on code reviewMichael Kozono2017-09-061-2/+2
|
* Enable share_with_group_lock on subgroupMichael Kozono2017-09-061-0/+14
| | | | …when needed
* Don't show references to Pages when not availableZeger-Jan van de Weg2017-08-311-0/+4
| | | | | | | In this instance its subgroups, and given we can't deploy it, we shouldn't allow it to be shown. Fixes gitlab-org/gitlab-ce#34864
* Speed up Group#user_ids_for_project_authorizationsNick Thomas2017-08-141-0/+14
|
* Small refactor in LegacyNamespace and moved back send_update_instructions28283-legacy-storage-formatGabriel Mazetto2017-08-011-0/+6
|
* Move storage specific code from Namespace and Project to concernsGabriel Mazetto2017-08-011-100/+4
|
* Promote visibility level helpers from Group to NamespaceNick Thomas2017-07-171-0/+5
| | | | | In EE, we make use of `namespace#public?` in projects. When the project is in a personal namespace, this breaks as the `public?` helper isn't present.
* Added Cop to blacklist the use of `dependent:`Yorick Peterse2017-07-061-2/+2
| | | | | | | | This is allowed for existing instances so we don't end up 76 offenses right away, but for new code one should _only_ use this if they _have_ to remove non database data. Even then it's usually better to do this in a service class as this gives you more control over how to remove the data (e.g. in bulk).
* Defer project destroys within a namespace in ↵Stan Hu2017-06-291-0/+6
| | | | | | | | | | | Groups::DestroyService#async_execute Group#destroy would actually hard-delete all associated projects even though the acts_as_paranoia gem is used, preventing Projects::DestroyService from doing any work. We first noticed this while trying to log all projects deletion to the Geo log.
* Remove Namespace model default scope override and write additional test to ↵refactor-namespace-default-scope-overrideTiago Botelho2017-06-291-3/+1
| | | | Project search