fr33domlover
0b2090f048
Fix issue: Ticket table was displaying project sharer instead of ticket author
2018-05-26 08:02:07 +00:00
fr33domlover
5c12e7c34f
Add project role op for opening tickets, require it for opening a ticket
...
Before that only the project's sharer was authorized to open a ticket. Now
everyone can, once given a role with the op.
2018-05-26 06:59:54 +00:00
fr33domlover
ca1e83f504
Apply basic style to make commit diffs look a bit less very ugly
2018-05-24 22:42:01 +00:00
fr33domlover
0895fbf911
Minimal diff context line number is 1, not 0, latter caused vector slice error
2018-05-24 22:20:52 +00:00
fr33domlover
7d237b7540
Adapt to darcs-lights and changes in darcs-rev
2018-05-24 21:45:01 +00:00
fr33domlover
400ddf6089
Forgot breadcrumb for RepoPatchR
2018-05-24 21:44:13 +00:00
fr33domlover
b398f05ecc
Ignore line numbers when computing diff
2018-05-21 20:54:05 +00:00
fr33domlover
9f77ea69cb
Display commit diff for Git repos
2018-05-21 20:32:34 +00:00
fr33domlover
dbec638415
Generate commit diff data for git repos
2018-05-19 16:10:03 +00:00
fr33domlover
5e2ac28c30
Forgot to record new files!
2018-05-18 19:44:14 +00:00
fr33domlover
6d97636b0f
Commit info display, no diff diplay yet
2018-05-17 23:33:37 +00:00
fr33domlover
ce89bded73
Add a commit view route, nothing displayed yet
2018-05-17 15:46:57 +00:00
fr33domlover
8eca3fa647
Upgrade to GHC 8 and LTS 10.10
2018-05-16 00:02:54 +00:00
fr33domlover
47b0cdfc2f
Implement forgotten loadUserByEmailAddress (thanks ultrason)
2018-05-15 23:54:12 +00:00
fr33domlover
d49b5d678c
Allow login using email address
2018-04-11 11:09:42 +00:00
fr33domlover
c172784d61
Display last change for Darcs repos in homepage
2018-04-09 22:00:01 +00:00
fr33domlover
c768659f57
Fix typo in message text
2018-04-09 00:38:40 +00:00
fr33domlover
3cc2810d4e
Fix DB migrations and use the validating addEntities
2018-04-05 00:04:39 +00:00
fr33domlover
28f6cbaf5a
Fix accidental infinite loop in error message formatting
2018-04-05 00:03:27 +00:00
fr33domlover
ec28256de5
Adapt to switch to typed default/fill values in persistent-migration
2018-04-03 01:20:24 +00:00
fr33domlover
7c2faa7faa
Email tokens expire within 1 day
2018-04-01 03:02:35 +00:00
fr33domlover
282ed32fe6
Upgrade to latest yesod-auth-account
2018-04-01 01:29:50 +00:00
fr33domlover
c2785c8e47
Oops forgot to commit a source file
2018-04-01 00:59:13 +00:00
fr33domlover
bfa6436bb3
Atom and RSS feeds for repo history
2018-03-31 22:04:33 +00:00
fr33domlover
c5a50c336e
Adapt to persistent-migration changes
...
We have gained:
* Haskell-side validation of schema changes before their execution
* Report of results of migration process
* Handling of old deployments
However:
* The validation code hasn't been tested yet at all
* Most of the migration list hasn't been applied at all yet
* Adding lists of entities from a model file is NOT VALIDATED!!! It's totally
possible to implement, just need to catch all the small details right
2018-03-31 19:22:37 +00:00
fr33domlover
bec9290783
Complete DB migration list, allowing to upgrade 2016-08-04 running instance
...
Until now the list of DB migration actions was incomplete, containing only
changes made since I added the migration system itself. It now contains the
2016-08-04 model, and then every change made since then.
IMPORTANT: The 2016-08-04 instance doesn't have a schema version entity at all,
so it is assigned version 0, while the actual version of its schema is 1. I'm
going to patch persistent-migration to allow it to be 1, making the migration
path smooth.
2018-03-27 14:28:56 +00:00
fr33domlover
f149da8ec6
getPersonR respond with minimal ActivityPub actor
2018-03-25 19:26:30 +00:00
fr33domlover
abfb77479f
Move DarcsRev and code we're sharing with it into a separate library
2018-03-20 23:45:09 +00:00
fr33domlover
ff5bb97383
Move Yesod.Mail.Send to a new dedicated separate library
2018-03-20 16:01:33 +00:00
fr33domlover
865d81c235
Resend POST and verify GET require unverified login
2018-03-18 00:13:22 +00:00
fr33domlover
baeef7873e
Unverified login and dedicated route for verification email resend form
2018-03-17 22:59:40 +00:00
fr33domlover
f196bf38d6
Unverified variants of setCreds and clearCreds
2018-03-17 22:16:02 +00:00
fr33domlover
139cc996d6
Write unverified login user functions
2018-03-17 17:30:46 +00:00
fr33domlover
d026cf0656
Treat email address as EmailAddress
instead of Text
including in the mailer
2018-03-06 02:26:27 +00:00
fr33domlover
33af9fb289
Use HTTPS for avatar URL if approot in settings is https://
2018-03-06 00:55:52 +00:00
fr33domlover
3398b56931
Switch to yesod-auth-account and make the mail code independent of Vervis
2018-03-03 21:33:59 +00:00
fr33domlover
fb47407f2b
Adapt to changes in persistent-migration
2018-02-27 03:03:24 +00:00
fr33domlover
829fd72fef
Use my new persistent-migration library, to which I moved the related modules
2018-02-26 14:23:02 +00:00
fr33domlover
3b4bd2a5e8
I made upgrades to the DB migration system in Funbot, apply them here too
2018-02-25 11:14:07 +00:00
fr33domlover
b8681e2681
Change breadcrumb separator from "::" to Unicode arrow "→"
2018-02-25 09:55:55 +00:00
fr33domlover
c2d1bb444b
Add email sending capability to Vervis
2018-02-25 09:28:55 +00:00
fr33domlover
fc556e0eb3
Workflow scope field, minimal support
2016-09-01 17:40:02 +00:00
fr33domlover
6b4ecb99c7
Migration: Repsert, not update, otherwise schema version never saved
2016-09-01 17:38:44 +00:00
fr33domlover
cd1f7af46e
Migration: Safe IsString instances for Field, Entity, Unique
2016-09-01 17:37:20 +00:00
fr33domlover
e027789fbd
Migration: When escaping names, forgot to surround then with "s
2016-09-01 17:36:39 +00:00
fr33domlover
bff41673c4
Migration: Specify default value when adding non-null column
2016-09-01 16:30:39 +00:00
fr33domlover
7218262223
Don't update DB schema version if equal to app's version
2016-08-31 17:12:20 +00:00
fr33domlover
dc74456a6a
Use the new migration system in place of persistent's one
2016-08-31 16:51:02 +00:00
fr33domlover
2640ecb8d1
Schema backend becomes associated datatype
2016-08-29 13:19:57 +00:00
fr33domlover
400c29289d
Persistent schema backend, and PostgreSQL impl
2016-08-20 17:41:16 +00:00
fr33domlover
5909424644
Custom ticket field relevance filter by ticket status
2016-08-11 09:27:30 +00:00
fr33domlover
21192fef26
Route for accepting a New ticket
2016-08-11 07:58:51 +00:00
fr33domlover
3329b49b2e
Turn boolean ticketDone into TicketStatus enum
2016-08-11 00:44:11 +00:00
fr33domlover
26624404ca
Forgot to record Data.Maybe.Local util module
2016-08-10 21:23:55 +00:00
fr33domlover
941bd0ea03
Ticket content edit form lets you edit custom ticket params
2016-08-10 18:52:26 +00:00
fr33domlover
d7be2f04b2
Ticket custom fields can be constant, i.e. no edits
2016-08-09 13:22:56 +00:00
fr33domlover
19c18b031e
Include custom ticket enum fields in new ticket form
2016-08-09 12:34:03 +00:00
fr33domlover
6457bf5607
Display custom enum fields in ticket page
2016-08-09 11:36:14 +00:00
fr33domlover
1d0d4f697d
Include custom ticket text fields in new ticket form
2016-08-08 23:36:39 +00:00
fr33domlover
35933061c9
Display custom ticket field values in ticket page
2016-08-08 20:51:58 +00:00
fr33domlover
ec7dd4ee7e
Experimental typeclass for ident+name model entities
2016-08-08 19:17:25 +00:00
fr33domlover
6e5ab77466
Projects must specify a ticket workflow
2016-08-08 19:05:22 +00:00
fr33domlover
a2ca78c790
Custom ticket fields specify whether required
2016-08-08 17:29:12 +00:00
fr33domlover
17643c6d49
Field enums aren't useful if you can't define values
2016-08-08 17:05:09 +00:00
fr33domlover
7ee28b97d2
Per-workflow custom ticket field enum types
2016-08-08 14:48:38 +00:00
fr33domlover
01385c480b
Per-workflow custom ticket fields
2016-08-08 14:01:06 +00:00
fr33domlover
687aa68a04
Per-sharer ticket workflows
...
A workflow is a new entity in Vervis. It defines the workflow of a
projects' ticket system. That includes the possible ticket states,
custom ticket fields, various filters and so on. All ticket system
customization is currently planned to be managed using workflows.
Currently workflows are private and per sharer, but the plan is to
support public workflows that can be shared and cloned.
2016-08-08 11:05:19 +00:00
fr33domlover
ea38f17688
Specify repodir in darcs init
, otherwise it fails
...
If `darcs init` isn't given a `--repodir`, even if you do specify the
new repository's path, it complains that it can't run inside a
repository, because it's running from a darcs clone of Vervis itself. If
the repo dir is specified using `--repodir` instead, Darcs doesn't
complain.
That's at least the situation with 2.8.5, didn't check other versions.
2016-08-04 08:00:29 +00:00
fr33domlover
dc54a89503
Ticket tree view page
2016-08-04 07:36:24 +00:00
fr33domlover
b5014a0f5f
Ticket tree widget
2016-08-04 01:05:09 +00:00
fr33domlover
fe7aeb5162
Ticket summary widget
2016-08-04 00:40:29 +00:00
fr33domlover
7ebf189e93
More compact buildTree impl using foldr
2016-08-03 23:58:41 +00:00
fr33domlover
3807a02daf
Generelize DAG tree view node from Int to any Eq+Ord+Hashable
2016-08-03 23:25:35 +00:00
fr33domlover
e7abd8eb9d
DAG tree view model builder, based on (V, E) and user choices
2016-08-03 23:09:42 +00:00
fr33domlover
7d6ef47e05
DB actions for selecting nodes and edges of single graph
2016-08-03 21:26:39 +00:00
fr33domlover
6220c78f74
Extra persistent graph classes & instances for ticket graph
2016-08-03 19:32:33 +00:00
fr33domlover
52f91cb98a
PersistEntityGraph specifies type of single graph selector
2016-08-02 15:44:45 +00:00
fr33domlover
51c99a1dfe
SQL: Don't list starting nodes in graph reachable set
2016-08-02 11:58:49 +00:00
fr33domlover
521871c476
Refactor undirected edge SQL to remove repeated filter
2016-08-02 09:29:56 +00:00
fr33domlover
9cfaabc035
SQL: Define the undirected edge table once, use everywhere
2016-07-30 11:29:23 +00:00
fr33domlover
c111f66d7d
SQL: Move some DBNames to common util module
2016-07-30 09:32:53 +00:00
fr33domlover
0904abd7e6
SQL: Use single recursive CTE reference in undirected traversal
...
At least in PostgreSQL, at most one reference is allowed. My undirected
recursion code used a UNION of two recursive steps, one for each
direction. That is invalid, so instead I define a CTE that's a union of
the edges and their reverse, and do a single recursion step on that CTE
instead of on the edge table itself.
2016-07-30 07:28:46 +00:00
fr33domlover
de384d0427
Persistent graph: Cyclic: Remove start
temp table, not needed anymore
2016-07-29 23:27:26 +00:00
fr33domlover
9ca7ab3a57
SQL: Remove some =ANY(?) from trr code, left there by mistake
2016-07-29 23:03:01 +00:00
fr33domlover
dad1ed2e1f
SQL: IN (1, 2, 3) instead of invalid ANY('[1, 2, 3]')
...
I thought SQL arrays were common and PersistList corresponded to SQL
array values. But that isn't the case. PersistList seems to be
serialized as a JSON list, and `filterClause` uses IN, not ANY. So I'm
doing the same thing here and using IN.
Note that I'm building the list myself using Text concatenation, not
using `filterClause`, because the latter takes a filter on an existing
`PersistEntity` while my filters often apply to temporary tables.
2016-07-29 22:57:52 +00:00
fr33domlover
1c2e5f86af
SQL: Use ANY() with arrays, not IN
2016-07-28 16:50:08 +00:00
fr33domlover
5c153b0294
Ticket dependency add/remove and some fixes to recursive SQL
2016-07-28 16:40:10 +00:00
fr33domlover
ddd4393825
New YAML setting: Optional user limit
2016-07-27 21:46:48 +00:00
fr33domlover
188905f9aa
Git clone over HTTP(S) using git binary
2016-07-27 15:17:03 +00:00
fr33domlover
c26fb389cf
Reimplement git ref discovery using git binary :-/
...
My implementation in Haskell does work, but ref discovery also includes
capabilities. Since I'm going to use the git binary for the next steps,
I need the git binary to specify here which capabilities it supports.
2016-07-27 13:23:44 +00:00
fr33domlover
d1e1f3c0f7
Reverse dependencies page for tickets
2016-07-27 08:35:50 +00:00
fr33domlover
350f8a9521
Function trrFix for adapting intransitive DAG after edge insertion
2016-07-27 07:29:32 +00:00
fr33domlover
461283ba6e
Simpler path selection in SQL transitive reduction
...
The transitive reduction query works by removing all the edges which
aren't the only paths between their nodes, i.e. longer paths exist. The
first step is to pick all the paths which include 2 or more edges.
The initial code did that appending in-edges to all paths, which results
with unnecessary duplicates and an INNER JOIN. Now, instead, just pick
all the paths with length of more than 3 nodes. This is hopefully not
just simpler, but also faster.
2016-07-20 11:24:01 +00:00
fr33domlover
a41f111bee
Split recursive SQL query huge module into smaller modules
2016-07-20 10:08:42 +00:00
fr33domlover
8c1d4dd6f1
Transitive reduction of DAGs in SQL
2016-07-15 00:32:33 +00:00
fr33domlover
c340508385
Reachability sets of graph nodes using SQL
2016-07-14 13:48:24 +00:00
fr33domlover
87205772bb
Transitive reduction of DAGs for FGL
2016-07-14 00:39:00 +00:00
fr33domlover
24040133a1
Graph path detection using recursive SQL queries
2016-07-13 19:05:02 +00:00
fr33domlover
7a33ef16f8
PersistEntityGraph is for any graph, PersistEntityHierarchy for DAGs
2016-07-05 16:13:48 +00:00
fr33domlover
7d8596c52b
Path existence checking between graph nodes
2016-07-05 12:37:31 +00:00