Commit Graph

334 Commits

Author SHA1 Message Date
Douwe Maan ad55f0d6f9 Merge branch 'master' into comment-updated-by 2015-08-07 15:05:17 +02:00
Dmitriy Zaporozhets cba7f20dc8
Allow users to send abuse reports
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-08-06 14:03:27 +02:00
Douwe Maan 36bd6c8494 Show who last edited a comment if it wasn't the original author 2015-07-30 14:45:54 +02:00
Marin Jankovski 6e08e7aac4 Check if session_expire_delay column exists before adding the column. 2015-07-22 17:04:49 +02:00
Dmitriy Zaporozhets f0116f1335
Store commit count in project table
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-07-17 15:22:56 +02:00
Dmitriy Zaporozhets 5f34759ecb
Allow user to specify content he wants to see on project page
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-07-13 18:24:15 +02:00
Valery Sizov 411829fdb5 Audit log for user authentication 2015-07-06 12:36:08 +03:00
Robert Speicher aedb546964 Correct AddDefaultOtpRequiredForLoginValue migration
Also MySQL complains when you change a field to be not null if any
existing records already have a null value, so this updates those rows.
2015-06-22 11:36:11 -04:00
Robert Speicher d3ff8c1a95 Make default value for otp_required_for_login false instead of null 2015-06-20 19:40:48 -04:00
Robert Speicher 2bc4fd2d04 Add `dashboard` attribute to User model 2015-06-13 17:59:11 -04:00
themaze75 1d080f5745 session_expire_seconds => session_expire_delay
delay is in seconds
more legible code in session_store
Added `GitLab restart required` help block to session_expire_delay
2015-06-10 22:10:00 -04:00
Eric Maziade 84a414fe53 Add session expiration delay configuration through UI application
settings
2015-06-05 11:50:37 -04:00
Alex Lossent 60225a067d Allow to configure a URL to show after sign out 2015-05-29 18:20:15 +02:00
Douwe Maan 96d6fdc27c Add option to disallow users from registering any application to use GitLab as an OAuth provider 2015-05-29 13:29:16 +02:00
Stan Hu deeff56967 Add support for Webhook note events
Closes https://github.com/gitlabhq/gitlabhq/issues/6745
2015-05-21 23:48:16 -04:00
Robert Speicher a9103eae3a Make more migrations reversible
[ci skip]
2015-05-13 11:03:29 -04:00
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 Zaporozhets 802fcd051f Add support for backup codes 2015-05-09 17:31:37 -04:00
Dmitriy Zaporozhets 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