Commit Graph
318 Commits
Author SHA1 Message Date
Dmitriy Zaporozhets f32a045ef4 Merge branch 'version-check' into 'master'
Version check

See merge request !1509
2015-05-13 11:17:16 +00:00
Dmitriy Zaporozhets 1a1e42ad31 Merge branch 'rs-system-note' into 'master'
Add SystemNoteService class

The Note model was basically two models crammed together - one handling user-created notes
(i.e., comments on things) and one handling system-created notes (i.e., references).
This splits out the system-specific stuff to a new SystemNoteService class.

See merge request !595
2015-05-12 10:45:42 +00:00
Valery Sizov 071f07b673 Merge branch 'fix_migration' into 'master'
Make migrations reversible

/cc @jacobvosmaer @marin

See merge request !622
2015-05-12 09:51:14 +00:00
Robert Speicher cdb69d728c Add migration to convert legacy system notes 2015-05-11 00:01:15 -04:00
Robert Speicher 0c113c8dcb Make otp_backup_codes a text field 2015-05-09 17:32:46 -04:00
Dmitriy ZaporozhetsandRobert Speicher 802fcd051f Add support for backup codes 2015-05-09 17:31:37 -04:00
Dmitriy ZaporozhetsandRobert Speicher 7302395142 Init 2 factor authentication for user model 2015-05-09 17:31:07 -04:00
Valery Sizov 3bc717f010 Adding quote_string to migration 2015-05-08 16:54:45 +03:00
Dmitriy Zaporozhets c3cf32e863 Merge branch 'version-check' into gl-version-check
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>

Conflicts:
	app/controllers/admin/application_settings_controller.rb
	app/views/admin/application_settings/_form.html.haml
	db/schema.rb
2015-05-08 16:05:00 +03:00
Valery Sizov cd2659fdb5 Merge branch 'tag_dup' into 'master'
Remove tag duplicates

Prevention of getting this error:

```
ActiveRecord::RecordNotUnique: PG::Error: ERROR:  could not create unique index "index_tags_on_name"
DETAIL:  Key (name)=(XSS') is duplicated.
: CREATE UNIQUE INDEX  "index_tags_on_name" ON "tags"  ("name")
```

This migration fails if there are duplicates:
https://github.com/mbleigh/acts-as-taggable-on/blob/v3.5.0/db/migrate/2_add_missing_unique_indices.rb#L3

See merge request !623
2015-05-08 08:30:05 +00:00
Valery Sizov d881345ed7 Merge branch 'fix-mysql-migration-with-tags' into 'master'
Change the MySQL collation type to utf8_bin to ensure case-sensitive tags are supported

MySQL tables had a collation type of utf8_ci, which makes the name case-insensitive. Previously this migration was run only after indices were built, but it needs to happen before if there is existing data that is case-sensitive. This is an idempotent change, so applying it again in the existing migration (20150425164651) should not change anything.

This is related to !623, but this migration should run before that one.

* Closes #1589
* Closes https://github.com/gitlabhq/gitlabhq/issues/9255

See merge request !625
2015-05-08 08:29:07 +00:00
Stan Hu f6c0ef5553 Conditionally remove indices that may not exist in pre-GitLab v6.7 installations
Closes #1593
2015-05-08 00:43:19 -07:00
Stan Hu 548cec6ea4 Change the MySQL collation type to utf8_bin to ensure case-sensitive tags are supported 2015-05-07 16:33:11 -07:00
Valery Sizov b60717604c remove tag duplicates 2015-05-07 18:17:58 +03:00
Valery Sizov 3e6181db14 Make migrations reversible 2015-05-07 17:29:15 +03:00
Stan Hu eb4f1eb5f5 Add application setting to restrict user signups to e-mail domains
This feature was requested long ago:

http://feedback.gitlab.com/forums/176466-general/suggestions/4118466-ability-to-register-only-from-ceratain-domains

This MR is based off !253 but changed to use application settings and use wildcard strings
to give more flexibility in pattern matching. Regexps seemed overkill and easy to get wrong.

Only restrict e-mail addresses upon creation
2015-05-02 09:36:52 -07:00
Douwe Maan 2f4426b7e4 Merge branch 'fix-project-tags' into 'master'
Fix DB error when trying to tag a repository

Steps to reproduce: Go to a project settings, add tags, click on save changes

Observed behavior: Error 500

```
    PG::Error: ERROR:  column "taggings_count" does not exist
        LINE 1: UPDATE "tags" SET "taggings_count" = COALESCE("taggings_coun...
```

Ran `rake acts_as_taggable_on_engine:install:migrations`, removed the first
migration that created the `tags` and `taggings` table, and added the rest.

* Closes #1512
* Closes #1550
* Closes https://github.com/gitlabhq/gitlabhq/issues/6867
* Closes https://github.com/gitlabhq/gitlabhq/issues/9194

See merge request !577
2015-04-30 17:20:36 +00:00
Valery Sizov 4d3a93af2d Remove abandoned GroupMembers 2015-04-29 13:46:57 +03:00
Stan Hu 44afcd2019 Fix DB error when trying to tag a repository
Upon tagging a repository, an error due to a missing migration occurred:

```
    PG::Error: ERROR:  column "taggings_count" does not exist
        LINE 1: UPDATE "tags" SET "taggings_count" = COALESCE("taggings_coun...
```

Ran `rake acts_as_taggable_on_engine:install:migrations`, removed the first
migration that created the `tags` and `taggings` table, and added the rest.

Closes #1512
Closes https://github.com/gitlabhq/gitlabhq/issues/6867
Closes https://github.com/gitlabhq/gitlabhq/issues/9194
2015-04-27 06:09:20 -07:00
Vinnie Okada bd557e4b64 Add new admin settings
Add new global application settings for default project and snippet
visibility levels.
2015-04-26 07:48:19 -06:00
Douwe Maan 70f9893ed6 Explain namespace clearn regex. 2015-04-24 14:49:23 +02:00
Douwe Maan 2fd47a0e95 Don't attempt to move if original path only contains periods. 2015-04-24 14:49:23 +02:00
Douwe Maan 4934bc0312 Change migration timestamp. 2015-04-24 14:49:23 +02:00
Douwe Maan fac1f83fd5 Properly migrate users with usernames like "." or "..". 2015-04-24 14:49:23 +02:00
Douwe Maan 1d2a5ee188 Revert "Revert disallowing usernames to end in period."
This reverts commit c75c6b840b.
2015-04-24 14:47:49 +02:00
Douwe Maan c75c6b840b Revert disallowing usernames to end in period. 2015-04-20 12:41:44 +02:00
Dmitriy Zaporozhets e1099f9717 Merge branch 'google-code-import-performance' into 'master'
Decrease memory use and increase performance of Google Code importer.

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

See merge request !536
2015-04-17 14:01:33 +00:00
Douwe Maan 7d98c8842d Move import data out of project so it doesn't take ages to load. 2015-04-17 14:49:00 +02:00
Douwe Maan 46524ecb33 Fix username period migration to preserve uniqueness of names and paths. 2015-04-17 12:03:54 +02:00
Dmitriy Zaporozhets e3d818a4e8 Merge branch 'invitation' into 'master'
Allow users to be invited.

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

The "Add members" panes for both Group Members and Project Members have gained a line of text by the People field.

![Screen_Shot_2015-04-10_at_14.14.32](https://gitlab.com/gitlab-org/gitlab-ce/uploads/fe990e65eccd9203d7324b492941362b/Screen_Shot_2015-04-10_at_14.14.32.png)

Entering an email address that is not already a member will give you the option to invite them.

![Screen_Shot_2015-04-10_at_14.14.48](https://gitlab.com/gitlab-org/gitlab-ce/uploads/d6b0d4571ea90f2a2e4af8f5b336e8e1/Screen_Shot_2015-04-10_at_14.14.48.png)

Choosing the option will add them to the People field. This works the right way (TM) in combination with adding existing users as members.

![Screen_Shot_2015-04-10_at_14.15.09](https://gitlab.com/gitlab-org/gitlab-ce/uploads/a618e5ec292d79578b16400dca6d4cfe/Screen_Shot_2015-04-10_at_14.15.09.png)

The invited member will be shown in the members list as such. The access level can be changed, and the invite can be revoked by deleting the member.

![Screen_Shot_2015-04-10_at_14.15.19](https://gitlab.com/gitlab-org/gitlab-ce/uploads/3695b9a6778d367b275115747579b46e/Screen_Shot_2015-04-10_at_14.15.19.png)

The invited user will receive an email with an "Accept invitation" link.

![Screen_Shot_2015-04-10_at_14.17.52](https://gitlab.com/gitlab-org/gitlab-ce/uploads/730121888153117d83c3cd0e4f5c90f6/Screen_Shot_2015-04-10_at_14.17.52.png)

If they're not already logged in, clicking this link will redirect them to the sign in/up page with a helpful notice.

![Screen_Shot_2015-04-10_at_14.18.12](https://gitlab.com/gitlab-org/gitlab-ce/uploads/1a26a5fa13321e7ef77ed8b538c8557d/Screen_Shot_2015-04-10_at_14.18.12.png)

Signing in or signing up will redirect them back to the invite detail page, where they can actually accept the invitation, which will update the member record in question to point to the user in question.

![Screen_Shot_2015-04-10_at_14.18.48](https://gitlab.com/gitlab-org/gitlab-ce/uploads/7ac33085463a99b8cfa6baa13bfa1235/Screen_Shot_2015-04-10_at_14.18.48.png)

Accepting the invitation will redirect them to the group (or project) with an appropriate notice.

![Screen_Shot_2015-04-10_at_14.18.58](https://gitlab.com/gitlab-org/gitlab-ce/uploads/7bf02a2e3bea589a11df401c23e68648/Screen_Shot_2015-04-10_at_14.18.58.png)

As currently, they will also receive this information by email.

![Screen_Shot_2015-04-10_at_14.24.00](https://gitlab.com/gitlab-org/gitlab-ce/uploads/b44a342068433a268c0a06ed9e791ffa/Screen_Shot_2015-04-10_at_14.24.00.png)

At the same time, the person who initially invited the email address is sent a notification as well, so they know of the new member and to tell them what name the user signed up with.

![Screen_Shot_2015-04-10_at_14.19.07](https://gitlab.com/gitlab-org/gitlab-ce/uploads/b29fea128186f938ec76bd7dec016b83/Screen_Shot_2015-04-10_at_14.19.07.png)

The member row on the Members page will now have been updated with the new user account.

![Screen_Shot_2015-04-10_at_14.19.23](https://gitlab.com/gitlab-org/gitlab-ce/uploads/cf503d3d1679614e03acec2e946a28c3/Screen_Shot_2015-04-10_at_14.19.23.png)

See merge request !500
2015-04-15 10:48:28 +00:00
Douwe Maan 63b21945d2 Merge branch 'google-code-import' into 'master'
Import projects from Google Code.

Resolves #1257.

Issue import logic almost entirely taken from https://gitlab.com/o9000/google-code-to-gitlab ( ♥️ @o9000).

### To do

- [x] List projects from Google Takeout file
- [x] Import Git repository
- [x] Import issues
- [x] Link to correct attachment URL (https://code.google.com/p/support-tools/issues/detail?id=50)
- [x] Handle deleted attachments
- [x] Handle blockedOn attribute
- [x] Add directions on how to get data from Google Takeout

### Import instructions

![Screen_Shot_2015-04-03_at_16.02.21](https://gitlab.com/gitlab-org/gitlab-ce/uploads/4a87038035fbad9441cf613b8cdcc690/Screen_Shot_2015-04-03_at_16.02.21.png)

### Imported issue

![Screen_Shot_2015-04-03_at_16.25.49](https://gitlab.com/gitlab-org/gitlab-ce/uploads/b2c2eaf5ecfcf57b3c48511eb5d26db4/Screen_Shot_2015-04-03_at_16.25.49.png)

See merge request !471
2015-04-15 06:53:42 +00:00
Jacob Vosmaer 0b2670f82f Remove unnecessary semicolons
I could not help myself
2015-04-14 15:45:15 +02:00
Jacob Vosmaer 41a1cb88f4 Use different queries for MySQL and Postgres
I could not find a query that worked on both; these two queries look
very similar and seem to do the same thing.
2015-04-14 15:44:19 +02:00
Senorsen 7b28218f96 Allow user to choose which email to be public
This commit allows user to show one of their emails in profile page,
or don't show email in this page.
2015-04-14 19:42:48 +08:00
Douwe Maan 1e97864958 Add invite data to member. 2015-04-14 12:06:42 +02:00
Dmitriy Zaporozhets 4ab717ea6a Merge branch 'ldap_migration'
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>

Conflicts:
	db/schema.rb
2015-04-13 17:18:02 +03:00
Jacob Vosmaer afa47eddcc Also ldap_group_links where provider='ldap' 2015-04-13 11:56:35 +02:00
Jacob Vosmaer 8476d171cc Merge branch 'ldap_migration' of dev.gitlab.org:gitlab/gitlabhq into ldap_migration 2015-04-13 11:52:05 +02:00
Jacob Vosmaer 8b4705fea6 Make migration work if LDAP is disabled 2015-04-13 11:50:00 +02:00
Dmitriy Zaporozhets 04f05ac1fb Check for table instead of class 2015-04-13 12:26:14 +03:00
Jacob Vosmaer f64db1fab9 Try to explain what we are doing 2015-04-13 11:22:31 +02: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
Dmitriy Zaporozhets 896ea2482b Change migration to SQL
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-04-13 11:50:21 +03:00
Robert Speicher 1fd03a9b79 Add migration to rename BuildboxService to BuildkiteService 2015-04-11 14:05:23 -04:00
Valery Sizov 8666f497ff fix ldap identities 2015-04-11 17:56:45 +03:00
Douwe Maan 7b5bc32cad Allow projects to be imported from Google Code. 2015-04-03 15:29:27 +02: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
Douwe Maan 317206300d Merge branch 'configurable-attachment-size' into 'master'
Support configurable attachment size in Application Settings page

### What does this MR do?

This MR provides the ability to configure the maximum size of an attachment inside a note. A parameter has been added to the Application Settings page.

### Are there points in the code the reviewer needs to double check?

What should be done with the legacy note attachment validation? I added code to make the validation work with the configurable setting. I could see an issue where an admin lowers the limit from 10 megabytes to 5 megabytes, which could cause an existing model to be invalid.

### Why was this MR needed?

We often have attachments that exceed 10 MB, and it would be nice to be able to override the defaults.

### What are the relevant issue numbers / [Feature requests](http://feedback.gitlab.com/)?

See Issue #1258

### Screenshots

Before:

![Screen_Shot_2015-03-29_at_3.06.53_PM](https://gitlab.com/gitlab-org/gitlab-ce/uploads/6013a1dbc8cf61a63e93744149937fa0/Screen_Shot_2015-03-29_at_3.06.53_PM.png)

After:

![Screen_Shot_2015-03-29_at_3.12.34_PM](https://gitlab.com/gitlab-org/gitlab-ce/uploads/f3518af7e8653ba40f0a3579456da6ad/Screen_Shot_2015-03-29_at_3.12.34_PM.png)

See merge request !407
2015-04-03 08:47:55 +00:00
Stan Hu dfd256f29e Support configurable attachment size via Application Settings
Fix bug where error messages from Dropzone would not be displayed on the issues page

Closes #1258
2015-04-02 00:04:08 -07:00
Douwe Maan 45ee9009f5 Fix migration SQL. 2015-03-31 23:42:49 +02:00