Commit Graph
627 Commits
Author SHA1 Message Date
Dmitriy Zaporozhets 38e2ae5ae0 Merge pull request #8644 from Bugagazavr/hook-events
Add X-GitLab-Event header for web hooks
2015-04-27 11:22:33 +03:00
Dominik Sander 3c3b43b0a0 Add notify and color options to HipchatService
When notify is set to true send messages will trigger a notification for
all room members.
Color changes the background color of the message.
2015-04-26 22:00:51 +02:00
Robert Speicher 165cacce16 Rename CommitRange#inclusive? to #exclude_start? 2015-04-25 14:58:49 -04:00
Robert Speicher 92c681a53c Remove CommitRange#to_a 2015-04-25 14:45:56 -04:00
Robert Speicher 2403a28b3f Include caret in CommitRange#reference_title 2015-04-25 14:41:06 -04:00
Robert Speicher c11d3c5789 Remove param from CommitRange#to_s 2015-04-25 14:41:06 -04:00
Robert Speicher 81a21e5796 CommitRange improvements 2015-04-25 14:41:06 -04:00
Robert Speicher a8e6656481 Add CommitRange class 2015-04-25 14:40:40 -04:00
bugagazavr 548f182814 Added X-GitLab-Event header for web hooks 2015-04-25 21:31:52 +03:00
Douwe Maan 0ff778c0f4 Link cross-project cross-reference notes to correct project. 2015-04-24 12:30:36 +02:00
Douwe Maan 27af24c1c9 No longer needed to pass project argument to commit methods. 2015-04-24 12:29:36 +02:00
Douwe Maan 8ed7ac9d44 Use project.commit convenience method. 2015-04-24 12:29:36 +02:00
Robert Speicher 8c9a148720 Update mentionable shared examples to be (a bit) more understandable 2015-04-16 16:30:16 -04:00
Robert Speicher dee52393b5 Correct usage of subject in specs 2015-04-16 16:30:16 -04:00
Dmitriy Zaporozhets 089f5b914e Merge branch 'emailsonpush-hellip' into 'master'
Don't use HTML ellipsis in EmailsOnPush subject truncated commit message.

Addresses private issue https://dev.gitlab.org/gitlab/gitlabhq/issues/2229.

Since the page is encoded as UTF-8, we don't need HTML entities anymore and can just use the character.

See merge request !521
2015-04-15 12:37:19 +00:00
Douwe Maan 5662b24132 Don't use HTML ellipsis in EmailsOnPush subject truncated commit message. 2015-04-14 16:32:11 +02:00
Douwe Maan cb5362e7ce Follow newline guidelines. 2015-04-14 15:16:00 +02:00
Douwe Maan 0013ea5130 Remove duplication between Group and ProjectMember. 2015-04-14 12:41:19 +02:00
Douwe Maan e50556fcc8 Let invites be declined. 2015-04-14 12:08:11 +02:00
Douwe Maan 629fa7fbe3 Add invite logic to Member. 2015-04-14 12:06:43 +02:00
Dmitriy Zaporozhets c420255401 Merge branch 'rs-remove-invalid-key-factories' into 'master'
Remove the invalid key factories

They're only used once each, and they're easy to build in-place.

See merge request !1766
2015-04-14 07:33:55 +00:00
Dmitriy Zaporozhets 9c14ed0689 Merge branch 'public-deploy-keys' into 'master'
Allow admin to create public deploy keys that are accessible to any project.

Addresses private issue https://dev.gitlab.org/gitlab/gitlabhq/issues/1774.

Project settings:

![Screen_Shot_2015-03-27_at_14.46.48](https://gitlab.com/gitlab-org/gitlab-ce/uploads/01799ff912671ba6db3f828ea1aca1a6/Screen_Shot_2015-03-27_at_14.46.48.png)

The "Public deploy keys" section is only shown when there are any. If there are public deploy keys but no project deploy keys, only public deploy keys are shown. If there are no public deploy keys and no project deploy keys, the current "Deploy keys from projects you have access to will be displayed here" placeholder is shown.

The list of projects below the public key has been changed to only show projects the user has access to.

"Public deploy key" seems to be repeated on the left, but the first is just the title. The label is always visible for public deploy keys.

Admin index:

![Screen_Shot_2015-03-27_at_14.47.06](https://gitlab.com/gitlab-org/gitlab-ce/uploads/ea889d274cfd3f0694d47d602f4f3e94/Screen_Shot_2015-03-27_at_14.47.06.png)

Admin detail page:

![Screen_Shot_2015-03-27_at_14.47.16](https://gitlab.com/gitlab-org/gitlab-ce/uploads/8c8475e05bf6b497da3b9f1bc102329f/Screen_Shot_2015-03-27_at_14.47.16.png)

Projects using the deploy key are listed on the left and can be disabled easily.

See merge request !469
2015-04-13 09:08:13 +00:00
Robert Speicher 273df6a44b Remove the invalid key factories
They're only used once each, and they're easy to build in-place.
2015-04-11 17:12:10 -04:00
Robert Speicher 307962a046 Rename last uses of Buildbox to Buildkite 2015-04-11 14:05:22 -04:00
Robert Speicher 93b1767799 Move buildbox_service files to buildkite_service 2015-04-11 14:05:22 -04:00
Valery Sizov bafec400f1 CI forking: tests 2015-04-06 19:45:16 +03:00
Douwe Maan edc4a56d26 Allow admin to create public deploy keys that are accessible to any project. 2015-04-03 12:23:20 +02:00
Dmitriy Zaporozhets f8f9750323 Merge branch 'username-period' into 'master'
Don't allow username to end in period.

The current behavior doesn't do username referencing and mentioning in sentences like "I discussed with with @douwe." since `douwe.` is matched as a username.

Addresses private issue https://dev.gitlab.org/gitlab/gitlabhq/issues/2174.

See merge request !438
2015-04-02 20:28:23 +00:00
Marin Jankovski 96d093e59a Merge branch 'email-full-url' 2015-03-31 19:00:59 -07:00
Douwe Maan 175f7f68a6 Move files for moved namespaces. 2015-03-31 09:30:34 +02:00
Robert Speicher 32d6a14098 Move asana_service_spec to its correct location 2015-03-27 22:53:27 -04:00
Douwe Maan 3f7531d6f2 Move User.cleanup_username to Namespace.cleanup_path. 2015-03-27 11:09:29 +01:00
Douwe Maan e08d947e77 Use relative URL for Markdown references, except in mails. 2015-03-27 10:39:05 +01:00
Douwe Maan c5de2ce742 Return full URLs from GitLabIssueTrackerService. 2015-03-27 10:39:05 +01:00
Keith Pitt 7fdc017650 Renamed Buildbox to Buildkite. 2015-03-26 11:40:43 +00:00
Dmitriy Zaporozhets e24da35984 Merge branch 'improve-contributions-calendar' into 'master'
Replace commits calendar with contributions calendar

* count opening of issues and merge requests
* dont trigger git repository - use events from database
* count pushes instead of commits for faster and easier counting
* much-much faster since does not affected by repository size

See merge request !420
2015-03-23 16:40:55 +00:00
Dmitriy Zaporozhets 9c6086bc95 Refactor repository specs 2015-03-22 11:01:45 -07:00
Stan Hu 59d5c77975 Fix dots in Wiki slug causing errors
Closes #1263, #431
2015-03-21 18:33:51 -07:00
Valery Sizov e5fe14b2fb Link to CI with ref 2015-03-20 19:19:29 +02:00
Stan Hu fad71576f9 Fix cross references when usernames, milestones, or project names contain underscores.
Remove emphasis from system notes to avoid Markdown conflicts in names.
2015-03-19 07:07:30 -07:00
Hannes Rosenögger 9e5738b007 Extend the commit calendar to show the actual commits for a date 2015-03-18 08:42:42 +01:00
Dmitriy Zaporozhets 52acd2b45c Merge branch 'external_wiki' into 'master'
Add support for external wikis

## What does this MR do?
This MR adds the possibility to replace the link to the internal wiki of gitlab with a custom link.
Currently this is realised as a service.

## What Use Case does this MR solve?
In my Company we already have a wiki System (Confluence).
We have a policy to use the existing wiki, so we can't switch to the internal wiki Gitlab provides.
This currently only leaves us two choices:
1. Disable the gitlab wiki. That means we completly loose the connection between wiki and code from the gitlab ui.
2. Create a simple wiki page with a link to our external wiki and hope that no one uses the internal one.

Both solutions are not really good.
So what can be done to improve the situation while making it as easy as possible for new developers to access both, wiki and gitlab?
Replacing the wiki link kinda like the JIRA integration replaces the issues link looks like a good first step to me. :)
This can probably be extended later to completly prevent access to the internal wiki (currently that's still possible if you know the link) or maybe to check if the link really points to a wiki.

## Screenshot:
![external_wiki_service](https://gitlab.com/uploads/gitlab-org/gitlab-ce/89b27cf068/external_wiki_service.png)

See merge request !291
2015-03-18 02:00:36 +00:00
Douwe Maan 9c7fffb655 Delete deploy key when last connection to a project is destroyed. 2015-03-17 14:55:43 +01:00
Dmitriy Zaporozhets 648f38cd98 Merge branch 'fix-restricted-visibility' into 'master'
Restricted visibility levels - bug fix and new feature

This allows admin users to override restricted visibility settings when creating and updating projects and snippets, and moves the restricted visibility configuration from gitlab.yml to the web UI.  See #1903.

## Move configuration location

I added a new section to the application settings page for restricted visibility levels.  Each level has a checkbox, styled with Bootstrap to look like a toggle button.  A checked box means that the level is restricted.  I added a glowing text shadow and changed the background color for checked buttons because the default styles made it hard to distinguish between checked and unchecked.  This image shows the new section with the "Public" box checked:

![restricted_visibility_settings](https://dev.gitlab.org/Okada/gitlabhq/uploads/629562e4313f89b795e81c3bb0f95893/restricted_visibility_settings.png)

## Allow admins to override

To allow admin users to override the restricted visibility levels, I had to remove the `visibility_level` validation from the `Project` class.  The model doesn't know about the `current_user`, which should determine whether the restrictions can be overridden.  We could use the creator in the validation, but that wouldn't work correctly for projects where a non-admin user is the creator and an admin tries to change the project to a restricted visibility level.

The `Project::UpdateService` and `Project::CreateService` classes already had code to determine whether the current user is allowed to use a given visibility level; now all visibility level validation is done in those classes.  Currently, when a non-admin tries to create or update a project using a restricted level, these classes silently set the visibility level to the global default (create) or the project's existing value (update).  I changed this behavior to be more like an Active Model validation, where using a restricted level causes the entire request to be rejected.

Project and personal snippets didn't have service classes, and restricted visibility levels weren't being enforced in the model or the controllers.  The UI disabled radio buttons for restricted levels, but that wouldn't be difficult to circumvent.  I created the `CreateSnippetService` and `UpdateSnippetService` classes to do the same restricted visibility check that the project classes do.  And since I was dealing with snippet visibility levels, I updated the API endpoints for project snippets to allow users to set and update the visibility level.

## TODO

* [x] Add more tests for restricted visibility functionality

cc @sytse @dzaporozhets

See merge request !1655
2015-03-16 17:49:46 +00:00
Douwe Maan 99f995755e Use group_member instead of users_group or membership. 2015-03-15 13:49:41 +01:00
Vinnie Okada ad0ca0499a Merge branch 'master' into fix-restricted-visibility
Conflicts:
	db/schema.rb
2015-03-14 10:49:11 -06:00
Hannes Rosenögger 7ff9c8229d Add a service to support external wikis 2015-03-12 19:13:51 +01:00
Dmitriy Zaporozhets 961971544a Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce 2015-03-10 12:03:58 -07:00
Douwe Maan 383c56efa1 Use Gitlab::Git helper methods and constants as much as possible. 2015-03-10 13:39:31 +01:00
Stan Hu b26ab0ceeb This MR extends the commit calendar so it searches for commits made with every email address the user has associated with his account.
This fixes one of the problems mentioned in gitlab-org/gitlab-ce#1162 and makes the behavior of the commit calendar as described in the profile.
"All email addresses will be used to identify your commits."
2015-03-09 21:43:54 -07:00