fr33domlover
b8681e2681
Change breadcrumb separator from "::" to Unicode arrow "→"
2018-02-25 09:55:55 +00:00
fr33domlover
31410c7278
Update project URLs, Vervis is now officially hosted on a Vervis instance
2018-02-25 09:41:36 +00:00
fr33domlover
c2d1bb444b
Add email sending capability to Vervis
2018-02-25 09:28:55 +00:00
fr33domlover
c6d49da143
Organize settings.yml and add mail section
2018-02-25 09:25:24 +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
a94608dff5
Remove the last remaining default= from models file
...
Since defaults are specified in Form code that inserts new entities,
they already appear on the application side. So I'm going to try
managing them *only* in the application, and not have defaults in the DB
at all (maybe just temporarily when needed for schema migrations).
2016-08-20 17:32:27 +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
561eb6826d
Remove some default column values from model, leave that to Haskell
2016-08-08 18:35:01 +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
2b364e006a
Link from person page to their workflows page
2016-08-08 11:28:35 +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
810a329a76
Minor code layout fix in template
2016-08-03 19:31:03 +00:00
fr33domlover
52f91cb98a
PersistEntityGraph specifies type of single graph selector
2016-08-02 15:44:45 +00:00
fr33domlover
effcfcca6b
In ticket template, forgot to use <li> in dep lists
2016-08-02 13:49:04 +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