Commit Graph

1018 Commits (d6eb7532fdb9eb6eac3fdf215d4fbd02e16e486c)

Author SHA1 Message Date
Thomas Keller d6eb7532fd Move the orig_file_ext field from resource to resourcerev where
it actually belongs.  Add an option to download a specific resource
revision as attachment in the view.  Fix a bug that occurred when
displaying an old revision of a resource.  Prepare for proper
deletion of the original file and the connected resource in case
a revision is deleted; mark any previous revision as head in this
case. Left-align the summary label in the resource list view.
2011-12-01 00:30:50 +01:00
Thomas Keller 58ccb93f2d Render a resource preview view with more information about the
resource, such as its summary, its mime type, a preview (available
for some image/* and text/* mime types) and a list of pages where
the specific resource revision is used.
2011-11-26 23:25:46 +01:00
Thomas Keller ff2b19d587 The "exists file from archive in project" check was flawed because
$name was overwritten. So, this was fixed by adding a special
functionality when archive files are uploaded that replace existing
files with equal names; these are now deleted. This is docuemented
more clearly in the FAQ and it is also documented now that files
in the archive that are not listed in the manifest are not extracted.
2011-11-19 01:13:22 +01:00
Thomas Keller ba365af020 "Therefor" (AE, legal) -> "Therefore" (BE, general) 2011-11-17 15:33:02 +01:00
Thomas Keller b2e25fc501 Implemented resource creation. 2011-11-15 20:31:39 +01:00
Thomas Keller f29348c604 Rename a couple of view methods and templates to better accomodate
the upcoming changes.
2011-11-13 01:09:11 +01:00
Thomas Keller b09a7d2fd2 Move the Wiki* models into the IDF_Wiki_* namespace and adapt all models,
table names and relations accordingly.
Start with a resource and resource revision model and add migrations for
that as well.
Note in NEWS.mdtext that we need a more recent Pluf version to take
advantage of the MySQL introspection implementation.
2011-11-06 01:05:27 +01:00
Thomas Keller 82a2d6a39c Rework the notification functionality in all areas:
- for object changes in each tab / section we send out notifications to
  project owners, members and / or additional addresses (all this is
  configurable) (fixes issues 334, 452, 480 and possible others)
- one can now also receive notifications about download updates
- the notification template that informs about issue updates is no
  longer confusing the reader with the "a new issue has been created
  and assigned to you" phrase if the user who is notified is not
  actually the (new) owner (fixes issue 562)
- send-out notification emails for reviews, wiki updates and review
  updates are now linked via a unique message id to support a threaded
  view in email clients like Thunderbird (this was previously only
  implemented for issue notifications for issue 414)

This commit has been sponsored by SciLab.
2011-11-05 14:15:43 +01:00
Thomas Keller 2b5efb7fee Allow the fine-grained configuration of notification settings for
each section and reword the help texts quite a bit. This will
later be used to collect the correct set of email addresses to
notify a particular audience about changes in a particular section.

Notice that a project admin will have to explicitely opt-in for
"Others" notifications, i.e. unless the checkbox is checked, existing
email addresses won't be notified anymore. This is surely debatable
for existing setups, but makes much more sense for new setups.
Eventually we'll write a small migration script to add the specific
enabled setting for those (existing) projects that have a non-empty
mail list configured.

This commit has been sponsored by SciLab.
2011-11-04 00:46:33 +01:00
Thomas Keller 099e4888e8 Implement archive extraction and file handling and note in NEWS and INSTALL
that PHP's zip extension is now needed.
2011-11-03 01:04:16 +01:00
Thomas Keller 3eca572866 Spelling fix. 2011-11-03 01:01:45 +01:00
Thomas Keller c39f5c2174 Change the format to use <labels> and <label> to match the actual field names better. 2011-11-03 00:59:39 +01:00
Thomas Keller c71ed2cecb Start with the archive upload functionality (sponsored by Scilab);
add a new view and plain form to upload an archive; rename the internal
URLs, handlers and templates from submit to create for single downloads
and also add a help section about the new format as well as a detailed
FAQ entry. Archive files get a bigger upload limit (default: 20MB).

Next up: archive uploading, validation and processing.
2011-11-02 00:15:33 +01:00
Thomas Keller 34fbf6ec5f Merge branch 'develop' into feature.scilab 2011-10-27 23:41:12 +02:00
Thomas Keller d2db3b16d2 Fix issue 748. 2011-10-27 23:32:18 +02:00
Thomas Keller ae11b1de4a split() is deprecated in php 5.3 2011-10-27 23:00:14 +02:00
Thomas Keller 810b753edf Re-order the issue links so that "New Issue" goes to the very right
just before the search input field. Also rename "Open Issues" to
"All Issues" (since one can view both, open and closed issues under
this view, just like in every other issue list view we have) and
mark "All Issues" as active if we filter by label.
2011-10-10 22:32:08 +02:00
Thomas Keller 464c1a8ef5 Fix / adapt the side-by-side review diff rendering. 2011-10-09 03:14:43 +02:00
Thomas Keller e5b10a8494 Merge branch 'develop' into feature.diff-whitespace 2011-10-09 02:25:49 +02:00
Thomas Keller ffc49b9ea6 Merge branch 'develop' of projects.ceondo.com:indefero into develop 2011-10-09 02:25:03 +02:00
Thomas Keller 0efc14dd6f The autocompleter for the issue relations feature broke the review view, do'h 2011-10-09 02:22:43 +02:00
Thomas Keller 4fb15ccb7d 6abd0b6f made problems in reviews, need to be reworked anyways in a few. 2011-10-09 02:13:49 +02:00
Thomas Keller 6abd0b6faa - Move common static methods out of IDF_Diff and into IDF_FileUtil.
- Make stuff that should be private in IDF_Diff really private
  and comment out a test that was the only call path for a previously
  public method.
- Apply the whitespace emphasizing on the normal file view as well
  and get finally rid of padLine()
2011-10-09 01:54:51 +02:00
Thomas Keller 7438a2bf19 Improve the rendering of the control characters greatly by using
the Unicode counterparts in th 0x24## plane and add a little bit
of explanation what we are doing there and why we are doing this.
2011-10-09 00:55:42 +02:00
Thomas Keller 2e0995abac Fixed rendering in Firefox which did, unlike Chrome, not expand the last
row's height to fit the up-popping horizontal scrollbar, but all rows
just a little, so the heights did not match. I've reworked this to not
used the ill-advised rowspan any longer, but two separate tables whose
heights match each other now in both browsers.

Also I fixed a bug in the whitespace detection code - utf8 characters
where broken into single bytes, so apparently the [:print:] character
class does not accout for them, even in //u mode, so we're selecting
the characters that we want to make visible on our own (basically
control characters lower than space, I might add more).
2011-10-09 00:13:34 +02:00
Thomas Keller c84afd0f78 Some git diffs (most likely octopus merges) start with diff --cc,
so we have to detect and stop log parsing when this occurs as well.
2011-10-09 00:08:16 +02:00
Thomas Keller 52383edfd0 Merge branch 'develop' of projects.ceondo.com:indefero into feature.scilab 2011-10-08 19:26:46 +02:00
Thomas Keller b1276dff6c Merge branch 'develop' of projects.ceondo.com:indefero into feature.diff-whitespace 2011-10-08 19:25:08 +02:00
Thomas Keller b413b7ee89 Improve the calculation part and reuse the values we have from the diff hunks. 2011-10-06 02:31:36 +02:00
Thomas Keller f19f07ec59 Change the unidiff rendering by letting the actual content be rendered
into a separate container that can overflow and side-scroll for long lines.

This effectively removes the need for all kinds of line-breaking hacks
that have been applied before and only worked when the browser was
actually able to break a word group apart somewhere.

Lines are now always rendered as-is; as a nice side effect the line numbers
are always visible, independently how far one scrolled into one direction,
so the context is always clear. If the rendering area is made smaller, the
table rendering also degrades gracefully and provides horizontal scrolling
for views that did not need them before.

The size that is occupied by the number display is now also automatically
determined by the size that is needed to render the biggest line number
in a column. Empty columns are rendered with a zero size.

Currently all this works nicely with a recent version of Chrome, Firefox
still needs some fine tuning for the vertical positioning. Other browsers
are untested as of now.
2011-10-06 02:06:51 +02:00
Thomas Keller d0e2977746 Add support for line ending detection in our diff parser.
Line endings are now preserved during the diff parsing. When the diff
is then rendered later on, we replace non-printable characters by their
ordinal counterparts, so a user can easily grasp changes when a hunk
comes with edits that might be invisible at first.

The expected format for the diff test suite has changed from serialized
PHP to var_export, which is easier readable, editable and understandable,
while still keeping parsable as well.

Support for old Macintosh line endings could not be added, mainly because
modern SCMs do not support single \r in their unified diff output either
and working around and parsing these "lines" would have been a major
headache with not much outcome (given the fact that all Macs that have been
sold since 2001 or 2002 have been BSD-based and as such used Unix line
endings by default).

This commit fixes issue 636.
2011-10-05 02:44:04 +02:00
Thomas Keller 1be91e5a2a Do not split Hg's and git's log output into lines - this will make it
impossible for us to detect proper line endings later on.
2011-10-05 02:42:51 +02:00
William MARTIN 15d4d1aa7d Fix issue 713 : Wiki page have now a css for printer output 2011-10-04 22:45:51 +02:00
William MARTIN 708b90fccd Fix url /p/aaa/issues/status/open/ 2011-10-04 21:45:23 +02:00
William MARTIN b90246a239 Merge branch 'feature.issue-of-others' into develop 2011-10-04 20:57:18 +02:00
William MARTIN 813184f06c Fix an issue with "unasigned issues"
Rename the view to userIssues
2011-10-04 10:05:42 +02:00
Thomas Keller ef2d3a9af9 Merge branch 'feature.issue-of-others' of projects.ceondo.com:indefero into feature.issue-of-others 2011-10-04 01:01:31 +02:00
Thomas Keller 9a8bd464a3 Remove a couple of unused calls to get a list of project tags; these
calls are currently done from within the tags-cloud template most of
the time, which is ugly, but the way it works as of now.
2011-10-04 00:47:31 +02:00
Thomas Keller 9e2ea7404b Tags are now returned grouped by class, I seem to have missed this call
when I changed the API...
2011-10-04 00:46:48 +02:00
Thomas Keller 160d11b89b Properly initialize arrays with 0 for IN conditions 2011-10-04 00:37:28 +02:00
William MARTIN d860f299fd The last part of the previous patch. 2011-10-03 10:17:10 +02:00
William MARTIN 33882d4fa7 Update how the myIssue view works.
It's allow to display this view for other members.
In the issue summary, we can now follow make links for each user display in the part "Unresolved: By Assignee".
2011-10-03 10:00:35 +02:00
Thomas Keller 85978a4d18 Implement basic filtering capabilities in the issue search view.
Since IDF's text search component does not allow further restrictions
on the result set, we make a second, filtered query to restrict to
the item state ('open' or 'closed') and optionally a label. All in
all this is all harder than it could be, especially the tag cloud
is very monolithic and should be replaced by a data-driven component
that is less dependent on a single data / query and link usage, but
this would for now require too many changes.

Similar questionable is the code duplication for the index, listStatus
and listLabel view implementations that all do more or less the same.
The search implementation now only uses one implementation for a very
similar use case. It also removes the artificial restriction to 100
results we had previously there and does not query a record for each
single result (as was done with Pluf_Search_ResultSet previously).

On my way through this I tried to generalize a couple of i18n texts
and removed smaller issues like the "trailing comma" in label lists.

This partially fixes issue 548.
2011-10-03 01:54:01 +02:00
Thomas Keller 695428075b Merge branch 'develop' of projects.ceondo.com:indefero into develop 2011-10-02 00:06:17 +02:00
Thomas Keller e7c2e721b4 The tag cloud was fixed to "issues" for both, the open and closed issue list
which is clearly wrong.
2011-10-02 00:05:08 +02:00
William MARTIN 13fad756ab Fix issue 732
Commit based on Stéphane Baron patch
2011-10-01 22:43:00 +02:00
Thomas Keller 920432025f Change post-commit webhooks to issue PUTs instead of POST requests
and generalize the HTTP header name for the auth digest; introduce
an option to restore the old behaviour and document that; place a
big warning in NEWS.mdtext about this change.

This change has been sponsored by Scilab.
2011-09-26 01:36:04 +02:00
Thomas Keller 7ff298af79 Call the configured download webhook when new downloads are created
or existing downloads are updated.

This feature is sponsored by Scilab.
2011-09-26 00:51:33 +02:00
Thomas Keller b29acd71cb Add an option to specify a webhook URL for updates in the downloads section
and tweak the help texts for the original source web hook a bit. Also remove
the superfluous inline help code from the SourceConf form that was actually
not used.

This feature was sponsored by Scilab.
2011-09-25 02:03:35 +02:00
Thomas Keller dc50e9b316 Spelling. 2011-09-25 02:02:34 +02:00