summaryrefslogtreecommitdiff
path: root/app/services/issuable_base_service.rb
Commit message (Collapse)AuthorAgeFilesLines
* Enable frozen string in apps/uploaders/*.rbgfyoung2018-07-161-0/+2
| | | | Partially addresses #47424.
* Updates from `rubocop -a`Lin Jen-Shin2018-07-091-1/+1
|
* Resolve "Update `updated_at` on an issue/mr on every issue/mr changes"🙈 jacopo beschi 🙉2018-06-011-1/+4
|
* Show issues of subgroups in group-level issue boardFelipe Artur2018-04-051-1/+2
|
* Allow assigning and filtering issuables by ancestor group labelsFelipe Artur2018-04-041-1/+1
|
* Rename quick actions handlerOswaldo Ferreira2018-03-051-2/+2
|
* Move wip handling to MergeRequest::BaseServicewip-slash-command-on-mr-descriptionOswaldo Ferreira2018-03-011-16/+5
|
* /wip slash command on MR creationAdam Pahlevi2018-03-011-0/+15
| | | | | | | | | | | | change to symbol add complete changelog add test for /wip unwip as sym test for work in progress separate from issuable
* Allow to find labels in ancestor groups and better group support in label ↵Jan Provaznik2018-02-261-3/+11
| | | | service
* Port `read_cross_project` ability from EEBob Van Landuyt2018-02-221-1/+1
|
* Execute quick actions when creating MR from issuefix-create-mr-from-issue-with-templateSean McGivern2017-12-131-2/+4
| | | | | | | | | | | In CE, this does nothing - the `MergeRequests::BuildService` will, at the time of writing, never return a description for this case. In EE, a project can have a default MR template, which will be returned by the service. Previously we were only using the description passed in the params, ignoring any already set on the object. Now we fall back to the one set on the object if there was none in the params, allowing quick actions to be executed from default MR templates when creating an MR from an issue.
* Refactor the way we pass `old associations` to issuable's update services40226-refactor-the-issuable-s-webhooks-data-architectureRémy Coutable2017-11-241-15/+18
| | | | Signed-off-by: Rémy Coutable <remy@rymai.me>
* Add total_time_spent to the `changes` hash in issuable Webhook payloads40122-only-one-note-webhook-is-triggered-when-a-comment-with-time-spent-is-addedRémy Coutable2017-11-151-1/+7
| | | | Signed-off-by: Rémy Coutable <remy@rymai.me>
* Move update_project_counter_caches? out of issue and merge requestGeorge Andrinopoulos2017-11-111-1/+5
|
* CE port of code changed for epicsjk-epic-changes-ce-portJarka Kadlecova2017-11-021-82/+11
|
* Start adding Gitlab::HookData::IssuableBuilderRémy Coutable2017-10-091-1/+1
| | | | Signed-off-by: Rémy Coutable <remy@rymai.me>
* Include the changes in issuable webhook payloadsRémy Coutable2017-10-091-1/+1
| | | | Signed-off-by: Rémy Coutable <remy@rymai.me>
* Merge remote-tracking branch 'origin/master' into 18608-lock-issuesLuke "Jared" Bennett2017-09-201-4/+7
|\
| * Fix refreshing of issues/MR count cachesfix-counts-cachingYorick Peterse2017-09-191-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This ensures the open issues/MR count caches are refreshed properly when creating new issues or MRs. This MR also includes a change to the cache keys to ensure all caches are rebuilt on the fly. This particular problem was not caught in the test suite due to a null cache being used, resulting in all calls that would use a cache using the underlying data directly. In production the code would fail because a newly saved record returns an empty hash in #changes meaning checks such as `state_changed? || confidential_changed?` would return false for new rows, thus never updating the counters. Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/38061
* | Create system notes for MR too, improve doc + clean up codeJarka Kadlecova2017-09-141-0/+11
| |
* | Support discussion locking in the backendJarka Kadlecova2017-09-141-0/+1
|/
* Merge branch 'remove-finder-caching' into 'master'Robert Speicher2017-09-011-13/+2
|\ | | | | | | | | Remove issuable finder count caching See merge request !13959
| * Remove issuable finder count cachingSean McGivern2017-08-311-13/+2
| | | | | | | | | | | | | | We're going to cache the total open count separately, and then just perform these counts on the list. We already do that to get the pagination information, through Kaminari, and a future change will make Kaminari reuse the query results from earlier in the request.
* | Merge branch 'move-action' into 'master'Sean McGivern2017-09-011-0/+1
|\ \ | |/ |/| | | | | Merge request to address /move functionality. See merge request !13436
| * /move project functionality. Squash commit.Manolis Mavrofidis2017-08-311-0/+1
| | | | | | | | | | Update to add all issues to be updated. Added functionality, proper tests, documentation and changelog.
* | Cache the number of open issues and merge requestsYorick Peterse2017-08-231-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Every project page displays a navigation menu that in turn displays the number of open issues and merge requests. This means that for every project page we run two COUNT(*) queries, each taking up roughly 30 milliseconds on GitLab.com. By caching these numbers and refreshing them whenever necessary we can reduce loading times of all these pages by up to roughly 60 milliseconds. The number of open issues does not include confidential issues. This is a trade-off to keep the code simple and to ensure refreshing the data only needs 2 COUNT(*) queries instead of 3. A downside is that if a project only has 5 confidential issues the counter will be set to 0. Because we now have 3 similar counting service classes the code previously used in Projects::ForksCountService has mostly been moved to Projects::CountService, which in turn is reused by the various service classes. Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/36622
* | Whitelist or fix additional `Gitlab/PublicSend` cop violationsrs-more-public-send-whitelistsRobert Speicher2017-08-141-1/+1
|/ | | | | An upcoming update to rubocop-gitlab-security added additional violations.
* Merge branch '32844-issuables-performance' into 'master'Sean McGivern2017-08-071-1/+0
|\ | | | | | | | | Issuables: Move some code from create services to Sidekiq workers See merge request !13326
| * Move some after_create parts to worker to improve performance32844-issuables-performanceJarka Kadlecova2017-08-071-1/+0
| |
* | Create system notes for group milestone changesSean McGivern2017-08-071-4/+1
| |
* | Avoid plucking Todo ids and use sub-queries insteadToon Claes2017-08-031-1/+1
|/ | | | | | | | TodoService should not call `.select(&:id)` on todos, because this is bad performance. So instead use sub-queries, which will result in a single SQL query to the database. https://docs.gitlab.com/ee/development/sql.html#plucking-ids
* Move duplicate issue management to a servicearchytaus/gitlab-ce-26372-duplicate-issue-slash-commandSean McGivern2017-07-211-22/+1
|
* Changes based on MR feedback.Ryan Scott2017-07-201-10/+10
| | | | Marking an issue as a duplicate will now also add an upvote on behalf of the author on the original issue.
* Added slash command to close an issue as a duplicate. Closes #26372Ryan Scott2017-07-201-0/+22
|
* Clear issuable counter caches on updateclear-issuable-count-cache-for-statesSean McGivern2017-07-191-7/+16
| | | | | | When an issuable's state changes, or one is created, we should clear the cache counts for a user's assigned issuables, and also the project-wide caches for this user type.
* Native group milestonesFelipe Artur2017-07-071-5/+10
|
* Enable Style/DotPosition Rubocop :cop:Grzegorz Bizon2017-06-211-2/+2
|
* Merge branch '27070-rename-slash-commands-to-quick-actions' into 'master'Sean McGivern2017-06-161-3/+3
|\ | | | | | | | | | | | | Rename "Slash commands" to "Quick actions" Closes #27070 See merge request !11811
| * Rename "Slash commands" to "Quick actions"Eric Eastwood2017-06-151-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | Fix https://gitlab.com/gitlab-org/gitlab-ce/issues/27070 Deprecate "chat commands" in favor of "slash commands" We looked for things like: - `slash commmand` - `slash_command` - `slash-command` - `SlashCommand`
* | Use the same way to invalidate cache in EEbackport-ee-cache-invalidation-to-ceLin Jen-Shin2017-06-151-2/+3
|/ | | | | | Because it doesn't really hurt and could reduce conflicts Discussion: https://gitlab.com/gitlab-org/gitlab-ee/commit/5020e1a779cecbf16fffa3b37726b9167093126c#note_32403646
* Only add a description change note when no tasks are updatedJared Deckard2017-06-121-5/+7
|
* Enable the Style/PreferredHashMethods coprc/enable-PreferredHashMethods-copRémy Coutable2017-06-021-1/+1
| | | | Signed-off-by: Rémy Coutable <remy@rymai.me>
* Remove duplicate cache invalidation from IssuableBaseServiceRémy Coutable2017-05-181-1/+0
|
* Invalidate cache for issue and MR counters more granularlycounters_cache_invalidationValery Sizov2017-05-151-1/+8
|
* Move update_assignee_cache_counts to the serviceValery Sizov2017-05-121-0/+6
|
* Merge branch 'blackst0ne/gitlab-ce-add_system_note_for_editing_issuable'Sean McGivern2017-05-051-0/+16
|\
| * Add specs for issue and note changesblackst0ne2017-05-041-2/+2
| |
| * Simplified assign_attributes for issuableblackst0ne2017-05-041-6/+3
| |
| * Add last_edited_at and last_edited_by attributesblackst0ne2017-05-041-0/+11
| |
| * Add system note on description change of issue/merge requestblackst0ne2017-05-041-0/+8
| |