Commit Graph
323 Commits
Author SHA1 Message Date
Josh Frye cf8a74be5f Cleanup to use one selector 2016-02-09 20:21:47 -05:00
Josh Frye 120dca0f35 MR feedback 2016-02-09 10:10:41 -05:00
Josh Frye 8b4e9720d9 Extract events rendering to own action. 2016-02-09 10:10:41 -05:00
Josh Frye 30e022a2fe Starred, All, and Trending on explore are paged also group projects. Need ajax filter. 2016-02-09 10:10:41 -05:00
Dmitriy Zaporozhets 9258636021 Re-use top-are css component for issues/mr pages
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2016-02-05 11:35:55 +01:00
Dmitriy Zaporozhets 8cd25901d3 Use top-area component for top page navigation for pages that contains list of items
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2016-02-03 18:41:55 +01:00
Dmitriy Zaporozhets 4beae990b3 Refactor nav controls section (search and new project/group btn)
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2016-02-03 16:14:11 +01:00
Yorick Peterse de7c9c7ab1 Use Atom update times of the first event
By simply loading the first event from the already sorted set we save
ourselves extra (slow) queries just to get the latest update timestamp.
This removes the need for Event.latest_update_time and significantly
reduces the time needed to build an Atom feed.

Fixes gitlab-org/gitlab-ce#12415
2016-01-27 10:33:33 +01:00
Dmitriy Zaporozhets cf673ba9f6 Fix UI for pages with panels
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2016-01-22 13:37:40 -08:00
Dmitriy Zaporozhets 49c310e45c Fix missing padding for user/group pages
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2016-01-14 16:42:25 +01:00
Dmitriy Zaporozhets 620d8b68a1 Merge branch 'remove-gray-bg'
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2016-01-14 14:09:49 +01:00
Dmitriy Zaporozhets 9c69c89941 Add margin to pages where is no header
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2016-01-14 12:48:02 +01:00
Patricio Cano 76b3ca7205 Added hint that you can search users by name, username, or email. 2016-01-13 11:06:33 -05:00
Dmitriy Zaporozhets 0673fad893 Apply new layout to user page
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2016-01-13 16:26:40 +01:00
Dmitriy Zaporozhets 03090a88d8 Replace all navigation menu with nav-links class
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2016-01-13 15:58:04 +01:00
Dmitriy Zaporozhets 8c3debb18a Start moving all navigation to one class
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2016-01-13 15:03:32 +01:00
Dmitriy Zaporozhets 3b3f755b5b New layout without background color
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2016-01-13 14:37:25 +01:00
Stan Hu 1587d57197 Check for current user 2016-01-10 20:46:57 -08:00
Stan Hu 8aac39d836 Add pencil icon to edit group settings
Move icons to upper-right corner of group page

Closes #6038
2016-01-10 20:27:25 -08:00
Robert Speicher 4408dc0bd1 Use xmlschema where even more appropriate! 2016-01-07 20:01:08 -05:00
Robert Speicher 6344493655 Use to_s(:iso8601) where appropriate 2016-01-07 20:01:08 -05:00
Valery Sizov 8b18449125 remove public field from namespace and refactoring 2016-01-04 16:00:29 +02:00
Sytse Sijbrandij 4465e2eca0 Fix spelling mistake, thanks Connor. 2015-12-28 17:08:15 +01:00
Dmitriy Zaporozhets 8516b20571 New UI for group page
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-12-22 16:37:29 +01:00
Douwe Maan 79c90821ac Rename .issuable-details to .detail-page (and -header and -description) 2015-12-16 16:13:22 +01:00
Douwe Maan 5413960b1a Fix headers of milestone and snippet show pages 2015-12-15 17:29:37 +01:00
Robert Speicher bcd89a58e7 Merge branch 'reference-pipeline-and-caching' into 'master'
Implement different Markdown rendering pipelines and cache Markdown

Builds on !1090. 

Related to !1014.

Fixes #2054.

See merge request !1602
2015-12-08 20:22:23 +00:00
Douwe Maan 5a9a8d03a7 Merge branch 'master' into ui/dashboard-new-issue 2015-12-07 17:12:29 +01:00
Douwe Maan cbcb8dbe70 Use select2 dropdown for dashboard/group 'New X' buttons 2015-12-07 17:12:04 +01:00
Douwe Maan d611a38798 Merge branch 'master' into reference-pipeline-and-caching 2015-12-07 14:48:53 +01:00
Dmitriy Zaporozhets eb9601d906 Merge branch 'ui/form-consistency' into 'master'
UI: Improve form consistency

Depends on !1953

See the commits for more details, the messages mostly speak for themselves.

# Highlights

## Tag form

Before:

![tag_before](/uploads/ee5ba6ef405749013f9e5717ebcf72f3/tag_before.png)

After:

![tag_after](/uploads/71bb543553190d91c03fd706cce35923/tag_after.png)


See merge request !1955
2015-12-04 09:27:27 +00:00
Douwe Maan dccc227754 Use autofocus where appropriate 2015-12-02 14:41:56 +01:00
Douwe Maan da48fdc2a5 Don't write "Optional" or "Required" unless non-obvious 2015-12-02 14:41:55 +01:00
Douwe Maan b04c5b0695 Use form-actions where appropriate 2015-12-02 14:41:55 +01:00
Douwe Maan ca01690305 Add cancel button to forms that didn't have one already 2015-12-02 14:41:54 +01:00
Douwe Maan ed74fa73e2 Use consistent casing for page titles 2015-12-02 14:41:54 +01:00
Douwe Maan 5a59712b8a Add "New X" buttons to dashboard and group issue, MR and milestone indexes 2015-12-02 14:02:12 +01:00
Douwe Maan 0833057494 Use new style for milestone detail page 2015-12-02 14:01:20 +01:00
Dmitriy Zaporozhets d262daa4f0 Split group feature tests
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-11-25 11:44:39 +01:00
Dmitriy Zaporozhets 34cc8f4a60 Improve project members page UI
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-11-25 10:24:29 +01:00
Dmitriy Zaporozhets d9749c8d36 Improve UI for group members page
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-11-25 10:24:29 +01:00
Dmitriy Zaporozhets 4caef63d82 Fix 500 error when update group member permission
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-11-24 16:13:21 +01:00
Yorick Peterse 054f2f98ed Faster way of obtaining latest event update time
Instead of using MAX(events.updated_at) we can simply sort the events in
descending order by the "id" column and grab the first row. In other
words, instead of this:

    SELECT max(events.updated_at) AS max_id
    FROM events
    LEFT OUTER JOIN projects   ON projects.id   = events.project_id
    LEFT OUTER JOIN namespaces ON namespaces.id = projects.namespace_id
    WHERE events.author_id IS NOT NULL
    AND events.project_id IN (13083);

we can use this:

    SELECT events.updated_at AS max_id
    FROM events
    LEFT OUTER JOIN projects   ON projects.id   = events.project_id
    LEFT OUTER JOIN namespaces ON namespaces.id = projects.namespace_id
    WHERE events.author_id IS NOT NULL
    AND events.project_id IN (13083)
    ORDER BY events.id DESC
    LIMIT 1;

This has the benefit that on PostgreSQL a backwards index scan can be
used, which due to the "LIMIT 1" will at most process only a single row.
This in turn greatly speeds up the process of grabbing the latest update
time. This can be confirmed by looking at the query plans. The first
query produces the following plan:

    Aggregate  (cost=43779.84..43779.85 rows=1 width=12) (actual time=2142.462..2142.462 rows=1 loops=1)
      ->  Index Scan using index_events_on_project_id on events  (cost=0.43..43704.69 rows=30060 width=12) (actual time=0.033..2138.086 rows=32769 loops=1)
            Index Cond: (project_id = 13083)
            Filter: (author_id IS NOT NULL)
    Planning time: 1.248 ms
    Execution time: 2142.548 ms

The second query in turn produces the following plan:

    Limit  (cost=0.43..41.65 rows=1 width=16) (actual time=1.394..1.394 rows=1 loops=1)
      ->  Index Scan Backward using events_pkey on events  (cost=0.43..1238907.96 rows=30060 width=16) (actual time=1.394..1.394 rows=1 loops=1)
            Filter: ((author_id IS NOT NULL) AND (project_id = 13083))
            Rows Removed by Filter: 2104
    Planning time: 0.166 ms
    Execution time: 1.408 ms

According to the above plans the 2nd query is around 1500 times faster.
However, re-running the first query produces timings of around 80 ms,
making the 2nd query "only" around 55 times faster.
2015-11-18 13:02:43 +01:00
Douwe Maan e3fe3da63d Use project member abilities more extensively 2015-11-17 15:51:40 +01:00
Dmitriy Zaporozhets b093f50986 Some code and doc improvements
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-11-16 19:55:58 +01:00
Dmitriy Zaporozhets 929ab909c8 Group masters should be able to create/close milestones
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-11-16 16:14:19 +01:00
Dmitriy Zaporozhets f16f315115 Few changes to Group Milestone feature:
* Group attachments are not supported so I removed attach file link
* Added changelog item
* Add markdown hint to project milestone form

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-11-16 15:07:16 +01:00
Dmitriy Zaporozhets 8630d476e4 Add header and page title to new milestone page
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-11-16 14:45:20 +01:00
Dmitriy Zaporozhets 986695e136 Refactor global and group milestones logic
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-11-16 14:07:38 +01:00
Dmitriy Zaporozhets 05335a3c85 Create milestones in the group
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-11-16 14:07:38 +01:00