summaryrefslogtreecommitdiffstats
path: root/app/models
Commit message (Collapse)AuthorAgeFilesLines
* Bugfix: when changing project ownership to a group, give admin rights to all ↵HEADorigin/masterorigin/HEADmasterMarius Mathiesen2010-02-181-1/+3
| | | | | | mainline repositories Until now, committerships created for these repositories would have a nil permissions mask.
* Fix a bug where Gitorious would try to notify about commit events to watchers.Marius Mathiesen2010-02-181-1/+9
| | | | Only push events should fire notifications.
* Changing the algorithm for calculating candidates for garbage collectionMarius Mathiesen2010-02-111-3/+3
| | | | | After studying the collected number of pushes (Repository#push_count_since_gc) on gitorious.org, we found that none of the top 10 were included in the older search. We will now gc the top N repositories based on number of pushes since last gcc
* Use sequence number as MergeRequest#title, for better display in breadcrumbsMarius Mathiesen2010-02-111-1/+1
| | | | Thanks to Saur on #gitorious
* Adding a counter of pushes since last garbage collection, incremented when ↵Marius Mathiesen2010-02-031-1/+16
| | | | | | | | pushed to and reset when gc-ed The algorithm for finding gc candidates is unchanged, will run this in production and collect metrics for changing this the next few days. - Also tracking disk usage for repositories, calculated when pushed to and stored in the database
* Process messages for merge request version branch deletionMarius Mathiesen2010-02-011-2/+3
| | | | - Use tracking repository instead of target repository, since this is where the tracking branches are kept
* Send a message to MQ when a MergeRequestVersion is deleted in order for a ↵Marius Mathiesen2010-02-011-0/+18
| | | | processor to delete the tracking branch.
* Do not display commits on ~user except as part of a push eventMarius Mathiesen2010-01-261-0/+1
|
* Destroy events for favorites when favorites are destroyed.Marius Mathiesen2010-01-211-0/+7
| | | | Rendering events lacking its target fails
* Make sure the FeedITems for a given Event is destroyed along with the eventJohan Sørensen2010-01-151-0/+1
|
* Make push event notifications (email) display display the correct number of ↵Marius Mathiesen2010-01-151-6/+13
| | | | | | | commits in push. Since the commit events are created after the push, we need to save the commit events first, then send notifications. Event#disable_notifications handles this, the processor uses and explicitly sends notifications afterwards.
* Add caching to the Repository::most_active_clones* methodsJohan Sørensen2010-01-111-24/+29
|
* Deliver an email for each watchable event, if it's turned on for the given ↵Johan Sørensen2010-01-113-2/+32
| | | | favorite
* Support for plaintext rendering of eventsJohan Sørensen2010-01-071-5/+11
| | | | | | | The EventRendering::Text class is responsible for rendering plaintext versions of events, this makes it easier to test and maintain than. Hopefully we can one day move the html rendering of events into a EventRendering::HTML module.
* skip pagination links if items < per_pageJohan Sørensen2010-01-071-2/+3
|
* Cheat with the FeedItem pagination on the ~user pageJohan Sørensen2009-12-151-5/+7
| | | | | If we just assume there's always one more page we have to waste time querying for the total feeditems
* Skip the most_active_overall on projects#index and move the recently into ↵Johan Sørensen2009-12-141-9/+0
| | | | the sidebar
* Project#search_repositories now uses the same logic as Repository#search_clonesMarius Mathiesen2009-12-142-7/+24
|
* Perform Repository#search_clones in SQL instead of RubyMarius Mathiesen2009-12-141-1/+17
|
* Re-order the ~user page a bitJohan Sørensen2009-12-141-1/+4
| | | | | | * only show the repository list if we're viewing another user (since it's include in his own favorites) * Show projects first, since there's bound to be less of those for most users
* Speed up User#watched_objects by including the watchable associationJohan Sørensen2009-12-141-1/+1
|
* Added another field - last_activity_at - to messages, used in sorting ↵Marius Mathiesen2009-12-102-3/+4
| | | | | | | messages for a user. This field is updated independently of other actions on a thread. On new records it is the current time, when a reply is created, this is set to current time.
* Do not create favorites for new repositories if it's an internal kind of repoJohan Sørensen2009-12-101-0/+1
|
* Creating a project adds the creator as a watcher of eventsJohan Sørensen2009-12-101-0/+5
|
* Add repository user as a watcher when creating a new repositoryJohan Sørensen2009-12-102-4/+9
|
* Move creation of favorites into controller. Also adding merge request to ↵Marius Mathiesen2009-12-102-11/+7
| | | | owner's favorites upon creation
* Don't attempt to create a committership delete event when deleting a userJohan Sørensen2009-12-101-0/+1
|
* Change the way reviewers are notified about new merge requestsMarius Mathiesen2009-12-101-13/+19
| | | | | | | | | | When a merge request is created, each reviewer has this added as a favorite. In the same process, a FeedItem is created for the event associated (now created in the model and accessible as #creation_event). Messages are no longer sent to the reviewers, as this gave a lot of email to the reviewers. Instead, they will now be able to track the creation (and updates) of merge requests through their newsfeed. Since notifications are no longer sent to reviewers, the checkbox on Repositories#edit is no longer displayed (it has no effect). It is still in the database, though.
* Don't create feed items for users who are the creator of an eventJohan Sørensen2009-12-101-1/+4
| | | | | Users wouldn't be too interested in getting notified about what they just did
* Move the bulk creation of feed items into the FeedItem classJohan Sørensen2009-12-092-12/+14
|
* Don't create FeedItems for commit events and fetch 30 events for the ↵Johan Sørensen2009-12-092-9/+16
| | | | newsfeed atom feed
* Create a FeedItem model for the User which is responsible for populating his ↵Johan Sørensen2009-12-094-56/+103
| | | | | | | | | | | | | | | newsfeed The FeedItem is a simple pseudo-join model between a User and the Events he needs to see in his newsfeed. By having it in a seperate table we can use it as an index of sorts to figure out which events he needs to see. The FeedItems are populated in a bulk manner after an Event is created by figuring out who watches (through Favorite) the object the Event belong to. The FeedItem not only makes the finding of watched events faster, it also allows us to insert things into the event that we cannot do through a straight join between favorites and events.
* When a merge request is created (confirmed_by_user), each reviewer will have ↵Marius Mathiesen2009-12-092-3/+24
| | | | | | a favorite created. - Support creation of favorites without creating an event.
* Lower the number for MAX_TREE_ENTRIES_FOR_LAST_COMMIT_LOGJohan Sørensen2009-12-091-1/+1
|
* Limit the number of messages displayed on ~loginMarius Mathiesen2009-12-091-2/+3
| | | | | - User#messages_in_inbox now takes a limit argument - Also added link to all messages in pull box
* Use a faster two query stategy for finding the latest eventsJohan Sørensen2009-12-081-7/+7
|
* Don't do a heavy count() query when paginating the ~user newsfeed, instead ↵Johan Sørensen2009-12-081-5/+6
| | | | | | cheat. .. by always assuming there's one more record than what's displayed on the page
* Touch the root message when a reply is created, sort user#messages_in_inbox ↵Marius Mathiesen2009-12-082-1/+6
| | | | by updated_at
* Paginate newsfeed events better on the ~user pageJohan Sørensen2009-12-082-9/+12
|
* Only create an event the first time a user starts watching somethingMarius Mathiesen2009-12-081-1/+1
|
* Make sure that we can remove a repository's descriptionJohan Sørensen2009-12-081-2/+4
| | | | | Make Repository#replace_value accept an allow_blank parameter to control whether blank values are ok or not.
* Projects can be favorited too (no link in the GUI yet, but still)Marius Mathiesen2009-12-072-2/+6
|
* Make merge requests watchableMarius Mathiesen2009-12-072-1/+10
| | | | | - Moved linking logic into FavoritesHelper - Favorites know of their project
* Sort watched by recency in the ~user listsJohan Sørensen2009-12-071-4/+5
|
* Add an event when someone starts watching a repository.Marius Mathiesen2009-12-033-0/+19
| | | | - Added rendering of favorite related events
* Favorites: GUI improvements, rename user accessor to eventsMarius Mathiesen2009-12-031-1/+1
| | | | | - Added waiting indicator when favoriting, added CSS classes - Renamed User#favorite_events -> User#events_in_watchlist
* Access to a user's favorite eventsMarius Mathiesen2009-12-032-5/+7
| | | | Removed old copyrights.
* FavoritesController: provides watching of repositoriesMarius Mathiesen2009-12-031-0/+23
| | | | - Also added Copyright header where missing
* Improve the favorite/favoritable model:Marius Mathiesen2009-12-033-0/+6
| | | | | - Validations - Extract watchable logic into module
* Adding basic favorite modelMarius Mathiesen2009-12-032-1/+7
|
* Whitespace shenenigans in group.rbJohan Sørensen2009-12-031-29/+29
|
* Further restructuring of the ~user page and some color tweaksJohan Sørensen2009-12-011-1/+1
|
* Add a tally of merge requests the user may wish to look at on his ~user pageJohan Sørensen2009-12-011-44/+59
| | | | Also try out some restructuring of the ~user page
* attr_protect Committership#permisssions from mass attribute updatesJohan Sørensen2009-11-301-4/+13
| | | | | | Also ad a Committership::create_with_permission to easy expressing things, mostly for usable for test and utility code NOT for controller code.
* Don't just assume committership when deciding when to show the "request ↵Johan Sørensen2009-11-301-1/+6
| | | | | | | merge" link Requesting a merge from one mainline to another doens't make sense, since they don't have any parents
* Pedantic line-length and whitespace cleanupJohan Sørensen2009-11-301-13/+18
|
* MergeRequest's to_param now uses the sequence number instead of idMarius Mathiesen2009-11-301-3/+7
| | | | | | | | | | A summary of what's changed: - Routing - Links, where necessary - Git branch names use seq instead of id Also made some refactorings in PushEventProcessor to make it testable without a full stack test. And set some revealing sequence numbers in the fixtures.
* Avoiding ridiculously high sequence numbersMarius Mathiesen2009-11-301-7/+16
| | | | | - Try to represent the # of merge requests in a repo in the sequence number - If this sequence is taken, build on the highest existing one until this is surpassed
* Adding sequence number to merge requests, will replace id in URLs etc.Marius Mathiesen2009-11-302-3/+27
|
* Make it more obvious that the new message notifications are just thatJohan Sørensen2009-11-302-15/+15
| | | | | The outgoing email notification when receiving a private message should be a lot clearer that it is a message
* Don't blow up if Committership#build_permissions receives nilJohan Sørensen2009-11-261-1/+1
|
* Hint the database to use the proper index in Event::latestJohan Sørensen2009-11-251-17/+25
|
* Use a smaller time window for calculating most active clonesJohan Sørensen2009-11-251-3/+3
|
* Remove the "repo can't be deleted if it's the last mainline" checkJohan Sørensen2009-11-241-5/+1
| | | | In practice its function is a bit counter-intuitive and not really useful
* Added Repository#{admin,reviewer,committer}? helpers and fixup ↵Johan Sørensen2009-11-241-4/+15
| | | | | | can_be_deleted_by? The can_be_deleted_by? method now takes the proper adminship (through the committerships) into account
* No reason to skip bits in the Committership permissionsJohan Sørensen2009-11-241-2/+2
|
* Use "Collaborator" instead of "Committer" when adding new committershipsJohan Sørensen2009-11-191-1/+1
| | | | | The Committership class really needs a different name now that they have more fine-grained permissions, but now just change the UI.
* Only notify reviewers about new merge requestsJohan Sørensen2009-11-191-80/+80
|
* Add controller+view code for setting permissions on a CommittershipJohan Sørensen2009-11-192-0/+7
|
* MergeRequest#resolvable_by? should use the committerships with a review bitJohan Sørensen2009-11-192-1/+6
|
* Repository#committers should only include users from committerships with ↵Johan Sørensen2009-11-191-2/+2
| | | | commit bit
* Be able to get a list of permissions out of a CommittershipJohan Sørensen2009-11-191-0/+4
|
* Create the proper initial Committership permissions when a repository is createdJohan Sørensen2009-11-192-1/+8
|
* Added auxiliary methods on Committership for checking and fetching based on ↵Johan Sørensen2009-11-191-10/+31
| | | | permission masks
* Add a permissions bitmask to CommittershipJohan Sørensen2009-11-191-15/+36
|
* Make sure MergeRequestVersion comment notifications says its for a merge requestJohan Sørensen2009-11-191-14/+14
|
* re-activate tree commit cachingJohan Sørensen2009-11-171-120/+119
| | | | and trim excess whitespace
* Specify whether a repository accepts merge requestsMarius Mathiesen2009-11-171-1/+2
| | | | | | - On by default - Inherits the value from its parent when cloned - When set to off: do not include in targets for merges, do not display link to merge requests on Repository#show
* Enable clicking a comment to jump to the inline context.Marius Mathiesen2009-11-161-1/+1
| | | | - Also got back support for side by side rendering of diffs
* Mark the whole message thread as read by the recipient when he reads itJohan Sørensen2009-11-161-0/+6
|
* Extract some stuff from the MessagesController into the modelJohan Sørensen2009-11-161-0/+8
|
* Order the repository clone shortlist by last_pushed_toJohan Sørensen2009-11-131-0/+10
|
* Show most active users in the past 3 days to give bette rotationJohan Sørensen2009-11-122-6/+9
|
* Added Repository#search clones for clones matching a termMarius Mathiesen2009-11-122-4/+12
| | | | | - Limit the number of clones displayed on Repositories#show - Moved the logic behind this and Project#search_clones into Repository#matches_regexp?
* Adding a liveSearch plugin, enable it on the repository listingMarius Mathiesen2009-11-121-1/+4
| | | | | | - The json rendering in Repositories#index is now done by the controller - Include a new js-file for live searching - Searching repositories in a project now matches repo description
* Make Project::most_active_recently use a cache key that's actually cachableJohan Sørensen2009-11-101-3/+4
|
* Changed default name of repository clone to <user>s-<repository>Thomas Schamm2009-11-091-1/+1
|
* Calculate User::most_active by commits, not pushesJohan Sørensen2009-11-061-2/+2
|
* Use a proper SQL query for MergeRequest.cascaded_comments so we can order ↵Johan Sørensen2009-11-051-4/+6
| | | | | | | | | them properly Some MergeRequestController test cases had to be reworked as an effect of this, since they stub out too much internal logic of ActiveRecord, by stubbing out the association proxies, which is not a good thing to do anyway.
* Don't mention MergeRequestVersion in the notificationcomment subjectJohan Sørensen2009-11-041-2/+10
| | | | | We should always refer to it as "merge request" towards the user, since that's the only thing he interacts with
* Store affected lines of an inline diff comment correctlyJohan Sørensen2009-11-041-7/+14
| | | | | | | | | In order to be able to place the comment correctly in the diff we now store a tuple of [old_linenumber, new_line_number] along with the number of lines the comment spans. We store both the first and the last line number tuple so that we can calculate the placement of things generated outside the DOM tree (such as the InlineTableCallback diff rendering callback).
* Introducing Event#single_commit? for single commit push eventsMarius Mathiesen2009-11-041-1/+6
|
* Support for editing comments for the author 10 minutes after creating themMarius Mathiesen2009-11-041-1/+9
| | | | | - A new link is displayed when hovering over an editable comment - Clicking on this loads the edit form, and makes it submit over ajax
* Notify MergeRequest owners about new comments on MergeRequestVersions aswellJohan Sørensen2009-11-041-3/+8
|
* Introducing Comment#editable_by?Marius Mathiesen2009-11-041-0/+4
| | | | | A user should be able to edit his comments within x minutes (x=10) after creating it Model level only, for now, controllers coming up
* Show the render_if_ready box if a merge request isn't readyJohan Sørensen2009-11-041-1/+1
| | | | | | With this we don't need to Refresh header, which causes confusion among users. Be able to supply an options hash to render_if_ready() that swaps out the spinner image with a refresh page
* Don't set memcached TTL on MergeRequestVersion#affected_commits and use the ↵Johan Sørensen2009-11-041-5/+1
| | | | | | #cache_key from AR::Base ActiveRecord::Base already implements a decent #cache_key for us, that we can piggyback upon
* Less cryptic MergeRequest#version_number(n)Johan Sørensen2009-11-041-1/+1
|
* Even less N+1 queries when fetching comments for a merge requestJohan Sørensen2009-11-041-1/+1
|
* Less N+1 queries when fetching comments for a merge requestJohan Sørensen2009-11-042-2/+4
|