Commit Graph
513 Commits
Author SHA1 Message Date
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
Vinnie Okada cacac147de Move restricted visibility settings to the UI
Add checkboxes to the application settings page for restricted
visibility levels, and remove those settings from gitlab.yml.
2015-03-07 13:11:08 -07:00
Stan Hu ad14ed5e49 Add tag_push event notification to HipChat and Slack services.
Normalize output to use:
- User name instead of username
- Include first line of title in message description
- Link to "Issue #X" instead of "#X"
2015-03-06 08:31:49 -08:00
Stan Hu 7e204cf389 Added comment notification events to HipChat and Slack services.
Supports four different event types all bundled under the "note" event type:

- comments on a commit
- comments on an issue
- comments on a merge request
- comments on a code snippet
2015-03-06 06:54:00 -08:00
Stan Hu f12ec5f4e8 Add merge and issue event notification for HipChat 2015-03-05 08:23:38 -08:00
Dmitriy Zaporozhets 66c61f023b Re-annotate models 2015-03-04 14:14:00 -08:00
Dmitriy Zaporozhets 63178a9509 Merge branch 'add-more-slack-notifications' into 'master'
Add more Slack notifications for issue and merge request events

From https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/237 by Stan Hu.

See merge request !1556
2015-03-04 21:57:17 +00:00
Douwe Maan fc61608161 Fix specs. 2015-03-03 13:09:45 +01:00
Douwe Maan d86c0cda24 Fix specs. 2015-03-03 11:14:32 +01:00
Stan HuandDouwe Maan afe5d7d209 Issue #595: Support Slack notifications upon issue and merge request events
1) Adds a DB migration for all services to toggle on push, issue, and merge events.

2) Upon an issue or merge request event, fire service hooks.

3) Slack service supports custom messages for each of these events. Other services
not supported at the moment.

4) Label merge request hooks with their corresponding actions.
2015-03-03 11:14:31 +01:00
Dmitriy Zaporozhets f438791721 Fix import check for case sensetive namespaces 2015-03-02 23:06:59 -08:00
Dmitriy Zaporozhets f00feb14ec Merge branch 'add-irker-service' of https://github.com/Aorimn/gitlabhq into Aorimn-add-irker-service
Conflicts:
	app/controllers/projects/services_controller.rb
2015-03-02 15:22:31 -08:00
Dmitriy Zaporozhets e39bf83770 Merge pull request #8501 from AKoetsier/slack_channel_and_username
Allow a user to specify a channel and username for the slack-webhook
2015-03-02 15:17:56 -08:00
Aorimn f84b7eef3f Add Irker service
Irker is a gateway which sends IRC messages on git updates. This new
service provides an interface to this gateway, integrated in Gitlab, for
each updates.
As per the guidelines, this commit adds the new feature in the
CHANGELOG, tests and documentation.

See http://www.catb.org/esr/irker/
2015-03-01 20:51:03 +01:00
Jeroen van Baarsen 93bacb03e5 Merge pull request #8890 from sue445/feature/project_api_avatar_url
Expose avatar_url in projects API
2015-03-01 10:54:42 +01:00