aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-07-06move track authorization to ACLsDaniel Schadt
This cuts down on the code duplication and makes sure that we use the same algorithm everywhere. It also keeps the view code cleaner.
2022-07-05start to use pyramid context factoriesDaniel Schadt
This puts the handling of retrieving the right database object at a single place, which makes it easier to use from the different routes, and unifies the error handling (some places for example lacked the check to see if the returned object is None). It is also the first step to a better permission system based on Pyramid's ACLs, as we can now implement those on the object. This will make the code even better and even more uniform, as we don't need to do the permission checks manually anymore.
2022-07-03fix <strong> elementDaniel Schadt
The main issue was this: Our body has a slightly lower font weight of 300, so "bolder" works out to be 400 - which is a barely noticable increase. The reason for this is that "bolder" (and "lighter") are relative font weights, but they only work relative to certain "breakpoints" - and 300 was just a notch below the next breakpoint of 400 [1]. By setting the font-weight of "strong" to 700 directly, we get a noticable boldness increase instead, though we might tone it down just a notch in the future. In order to prevent font issues in the future, we've now also included all proper variants of OpenSans, so that all font styles are available to us, using the webfonts helper tool [2]. [1]: https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight#meaning_of_relative_weights [2]: https://google-webfonts-helper.herokuapp.com/fonts
2022-07-02allow images in markdown descriptionsDaniel Schadt
This might need some fine tuning in the future
2022-07-02ensure the track cache is built after uploadDaniel Schadt
2022-07-02add caching to GPX and badge filesDaniel Schadt
They shouldn't change that much (currently, there is not even a way to change them from the web), and it saves a lot of data to cache the megabytes of GPX data.
2022-07-02adjust manifest for extra filesv0.0Daniel Schadt
2022-07-02generate proper alembic revisionDaniel Schadt
2022-07-02return 404 when track is not foundDaniel Schadt
2022-07-02add better cascading for ORM objectsDaniel Schadt
This prevents "weird" objects from lingering around. Now, if a user is deleted, their tracks are also being deleted - which is good, especially for the user's privacy. For a more "graceful" closing of the account, we could implement a strategy that first re-assigns the tracks to a different owner, and then deletes the account. But that may only happen with the consent of the user, and it is a work for future improvements.
2022-07-02mention fietsctl in the installation docsDaniel Schadt
2022-07-02add a small script for maintenance tasksDaniel Schadt
2022-07-02add README & LICENSEDaniel Schadt
2022-07-02add German translationDaniel Schadt
2022-07-02add a locale negotiator that uses Accept-LanguageDaniel Schadt
2022-07-02add a "friends of tagged people" visibilityDaniel Schadt
2022-07-02also update style of account creation formDaniel Schadt
2022-07-02update translationDaniel Schadt
2022-07-02style updates to many formsDaniel Schadt
2022-07-02pass tags as separate inputsDaniel Schadt
This looks way better than doing wonky space-separated things.
2022-07-02change way in which badges are handledDaniel Schadt
Supplying multiple inputs and retrieving them all is probably better than the weird badge-1, badge-2, ... hack we used.
2022-07-01add ability to actually tag friendsDaniel Schadt
2022-07-01add list of people to browsing listDaniel Schadt
2022-07-01update translationDaniel Schadt
2022-07-01fix download link for share linksDaniel Schadt
2022-07-01start on a track listingDaniel Schadt
2022-07-01implement account registrationDaniel Schadt
2022-07-01use locale-aware datetime formattingDaniel Schadt
2022-07-01use month names from locale instead of redoing itDaniel Schadt
2022-07-01update messagesDaniel Schadt
2022-07-01implement comment functionalityDaniel Schadt
2022-07-01remove separate id from track_cacheDaniel Schadt
We can just re-use the track's id, which also has the nice benefit that both the cache and the track have the same id.
2022-07-01remodel storage of tagsDaniel Schadt
Using a weird custom preprocessor and saving the tags as a space separated list in the database was not a good decision. A secondary table is more in line with how databases work, will probably help us with faster search later if we implement it (by creating an index for it). Additionally, this opens the possibility to have things like user-styled tags (custom color), as we can save additional information in the tag table.
2022-07-01implement client-side validation of password fieldDaniel Schadt
2022-07-01update translationsDaniel Schadt
2022-07-01add a "logged in" visibilityDaniel Schadt
2022-07-01implement personal data change formDaniel Schadt
2022-07-01implement password reset tokensDaniel Schadt
2022-06-30fix lintsDaniel Schadt
Sooner or later, I'd like to have pylint running on the code in the CI. It's better to fix errors sooner, than to be greeted with hundreds of pylint issues once it will be turned on later.
2022-06-30add friend request machineryDaniel Schadt
2022-06-30add support for invalidating a share linkDaniel Schadt
2022-06-30add some more iconsDaniel Schadt
2022-06-30use properly localized decimal separatorsDaniel Schadt
2022-06-30implement share links for tracksDaniel Schadt
2022-06-29implement different track visibilitiesDaniel Schadt
2022-06-29form target -> actionDaniel Schadt
This is the correct way to do it.
2022-06-29add badgesDaniel Schadt
2022-06-29don't set default tags of "hi" and "bye"Daniel Schadt
2022-06-29better checking for invalid GPX filesDaniel Schadt
2022-06-29more track dataDaniel Schadt
Now we have moving time, stopped time, max speed, average speed and the GPX dates as well.