| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Removes the raw data dump of the []Organisation slice and renders the
dummy contents in a template.
|
|
|
|
|
|
|
|
|
|
|
| |
The render() function at the moment requires a templateData struct to be
passed to it, but prior to this commit, that struct only had an
Operations field in it. We have now added an Organisations field too -
the thinking being that we only add the data we need for the page in
question and the other fields remain as nil values.
As of this commit - the slice of Organisations passed is not rendered
correctly by the template - just a raw data dump to prove it works.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is not perfect.
At the moment, the new render() function, introduced in this commit,
expects a templateData{} struct which contains an Operations field. This
will need to be made generic, or we have multiple render() functions to
accommdate the different types of data struct we want to be able to pass
to templates.
Also, in this commit I had to get rid of the /pages/operations and
/pages/organisation sub directories for now. This does not fit the
newTemplateCache() function - also introduced here. This needs to be
refactored if we want to have subdirectories of templates - or else we
stick to putting them inside pages/ and we name them appropriately, as
we have done here with operations_list and organisation_list templates.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Have moved to white background and given the whole content a padding on
the left and right. Have commented out the table width styling for now
as it's now required but want to leave it in there for the forseeable as
I'm sure I will come back to it.
|
| |
|
|
|
|
|
| |
This makes things much neater when the list is rendered inside a table
cell.
|
|
|
|
|
| |
The objective is to render a link to the ES in the Operations table.
Only the start year and end year are required for it to make sense.
|
|
|
|
|
| |
Added another dummy ES to Operation 1 in test data so I can test the
listing inside the table - it still does not look correct though.
|
|
|
|
|
|
|
|
|
|
| |
This was about two hours of learning, and getting confused - and it
needs to be refactored. We need to be able to generate the list of EPs
for the Operation also.
At the moment this only prints the object representation. More work to
be done writing a method that gives us the id and textual representation
for the link in the table.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Just for padding at this stage.
|
| |
|
|
|
|
|
|
|
|
|
| |
The data is fetched from the database and uses html/template to render
the rows in a list.
A critical bug was not including the dot in {{ template "main" . }} in
the base template. THIS MEANT THAT NO DATA PASSED TO ExecuteTemplate
function rendered and took a long time to figure out.
|
| |
|
|
|
|
|
| |
Does not contain any dynamic data at this point, i.e. does not actually
list the operations from the database - just dummy data at this point.
|
|
|
|
|
|
|
| |
This is the first attempt at querying a table with a foreign key
relation and returning the result to be used in Go code. Learned quite a
bit! Including getting a null pointer error because I forgot to
initialise the sql.DB in the application structure.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Adding initial styles; currently working on a big summary table for the
front page, that is going to provide the main entry point to all the
relevant business data.
|
|
|
|
|
|
|
|
| |
Basing CSS styles on the look and feel of cgit, this commit actually
includes the cgit css file in the tree for reference.
I don't want to get too carried away with CSS at this point but this is
a start.
|
| |
|
|
|
|
| |
And puts the list in plain text on the home page.
|
|
|
|
|
| |
Also fixes the NotAuthorised response I was mistakenly getting when it
should have been a 404.
|
|
|
|
|
|
| |
We omitted to include this earlier and it is needed for the create
handler, which creates the new entity in the database and then redirects
to the view handler which will show the organisation page.
|
|
|
|
| |
We only want "/" to match the home route; this comment explains that.
|
| |
|
|
|
|
|
|
| |
This is a straight forward wrapper around INSERT.
Also added a clientError into a new helpers.go file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We have separation of concerns: the model is initalised and passed into
the app struct, therefore our database logic will not be tied to our
handlers.
Our model, with its methods, is nicely encapsulated. We can initialise
it and pass it to our handlers as a dependency.
We can in future create an interface to mock the OrganisationModel
object to be used in unit testing.
We can also switch databases (theoretically) but providing a -dsn
command-line flag.
|
|
|
|
|
|
|
|
| |
Adds the new -dsn flag so that the user can pass any database into the
program.
Adds a new function that wraps sql.Open() to create the connection pool,
and pings it to ensure it is alive.
|
|
|
|
|
|
|
|
|
| |
Accepts -addr for the port.
Commented out flag for dsn (database string) - not yet implemented.
See https://github.com/go-sql-driver/mysql#dsn-data-source-name for the
correct format to be used for MySQL/MariaDB.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
We need a script to run for populating and bootstrapping the database.
This is the start of such a script.
The syntax here is suitable for mariadb at present.
The comments above "populate" are assumed to have been carried out by
the root user (e.g. sudo mariabdb).
|
|
|
|
|
| |
Added a partial html for the navigation bar. So far it just has a link
to "Home" on it.
|
|
|
|
|
|
| |
There is also some basic CSS here.
Also introduced a proper structured logger.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Started to separate out funtionality: added an application struct and
several methods (routes(), home() and a notFound() error).
At the moment, the application struct does not carry any other
configuration objects or a database pool connection - it is just there
to get the routing going.
|
|
|
|
| |
I don't want to have to remember docker commands ever again!
|
| |
|
|
|