GithubHelp home page GithubHelp logo

datenanfragen / website Goto Github PK

View Code? Open in Web Editor NEW
87.0 87.0 128.0 55.98 MB

The Datenanfragen.de website including the request PDF generator and company information database

Home Page: https://www.datenanfragen.de

License: MIT License

HTML 8.26% JavaScript 17.07% Shell 0.46% SCSS 9.30% TypeScript 64.92%
eu-gdpr gdpr hugo pdf-generation preact privacy

website's People

Contributors

anikarini avatar baltpeter avatar christian-weiss avatar coderbm1 avatar comradekingu avatar cool-runningz avatar davenewham avatar dependabot-preview[bot] avatar dependabot[bot] avatar dlemstra avatar eliottha avatar eugentoptic44 avatar fitojb avatar fm avatar ggangix avatar m-rey avatar mal-tee avatar milotype avatar moriarty-jim avatar nadjarode avatar nathanbnm avatar nishantwrp avatar rgroves avatar robinlinde avatar rohitjethoe avatar segotux avatar thisisfaar avatar weblate avatar xeluna avatar zner0l avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

website's Issues

Action required: Greenkeeper could not be activated 🚨

🚨 You need to enable Continuous Integration on Greenkeeper branches of this repository. 🚨

To enable Greenkeeper, you need to make sure that a commit status is reported on all branches. This is required by Greenkeeper because it uses your CI build statuses to figure out when to notify you about breaking changes.

Since we didn’t receive a CI status on the greenkeeper/initial branch, it’s possible that you don’t have CI set up yet.
We recommend using:

If you have already set up a CI for this repository, you might need to check how it’s configured. Make sure it is set to run on all new branches. If you don’t want it to run on absolutely every branch, you can whitelist branches starting with greenkeeper/.

Once you have installed and configured CI on this repository correctly, you’ll need to re-trigger Greenkeeper’s initial pull request. To do this, please click the 'fix repo' button on account.greenkeeper.io.

Blog post(s): Automatic data export features

Many services now offer automatic data download features. We should have blogs posts describing how to use them. These posts could maybe also include screencasts or at least screenshots of the process.

A list of services I can think of (although there are more of them):

  • Twitter
  • Facebook
  • Apple
  • Google
  • Duolingo
  • Spotify

These posts can be in English or German.

Create "Contributors" page

Would be great to have somewhere to credits contributors on the website and maybe in this repo too.
It could be separated between "Developers", "Translators" etc.

Highlight non-default fields

When working with the wizard, one easily starts sending one request after another without really checking anything. That usually works well thanks to the ID data saving. It is an issue though when there is a non-default field. Those can be easily missed and just left blank. We should therefore highlight these somehow.

Indicate when we consider a request done

When working with the wizard, it is sometimes easy to forget if you have sent the request that is currently open already (especially when pausing for a while).

Since we already have a point at which we consider a request 'done', we should simply indicate that to the user (by changing the color of the button or something similar).

Match format of generated JSON on suggestion page and company-json-generator

This is a nice-to-have proposal. Feel free to put it deep down the backlog.

When a user adds a suggestion on https://www.datenanfragen.de/suggest, the generated JSON differs from the generated JSON of https://github.com/datenanfragen/company-json-generator.
Specifically, on the former, the slug is at the end, while on the latter it's at the beginning.

I would suggest to move the slug of the generated JSON of https://www.datenanfragen.de/suggest to the beginning, as order of the company-json-generator form items is mostly aligned with the generated JSON.

Make the privacy controls use our custom checkbox styles

The checkboxes for the privacy controls (/privacy-controls) are currently using the default checkbox styles. We have our own checkbox styles, though. These should also be used here.

Essentially, this should boil down to adding the form-element class and maybe some minor layout tweaking to make sure things align nicely.


This is what they currently look like:

image

This is what they should look like:

image

(This is part of the "My saved data" page (/id-data-controls), relevant code is here).

"Direct Marketing Objection" generator generates "null" as subject

In the "Direct Marketing Objection" generator, when trying to generate an objection, the subject is set to null.
(In the case of email, the mailto: link begins with mailto:?subject=null (My reference: 2019-xxxxxx)&body=xxxxxxxxxxxxxxxxxx, where x is a placeholder.)

It apparently doesn't matter if English or German is used to generate the objection.
It apparently also doesn't matter what company/organisation the objection is generated for.
All other generators seem to work as intended.

Restructure content dir

We could structure our content more sensibly.

Suggestions:

  • Use folders for i18n instead of filenames.
  • Include images for a blog post in the corresponding content folder instead of in the static dir.

Move the request storing to UserRequests

Currently, requests are just stored by calling Request::store() which directly accesses the storage. I would like only one class to make direct access to the storage: UserRequests, which acts like a wrapper for all request storing related stuff – apparently except the storing itself. So todos from this issue include:

  • Create a method to store requests in UserRequests, e.g. UserRequests::storeRequest(). The logic for this is mostly already done in Request::store().
  • Replace the code inside of Request::store() with a one- or twoliner that references the new method of UserRequests, similar to this line.

French translation

Hi! I recently translated the whole website into French on Weblate, but I haven't the rights to validate my own translation. Could you check please?

I left a few comments too. Can you please have a look on it?

Otherwise I'm glad to contribute to this project. I think it can be a very useful tool. If there is anything I can do to help more let me know. You may be interested in adding data for France, as the French translation will be available.

Honor request_language for warnings

When generating warnings with the generator, all messages are in the user's language, regardless of the request_language set in the company record. This needs to be corrected.

French translation (demandetesdonnees.fr)

Now that the French version is online I made a few translation adjustments via Weblate. Please update the French translation.

I had a few comments to make.

First there are some pages that seem not to be fully translatable:

The "Blog" page redirects to a 404 error in the French version (https://www.demandetesdonnees.fr/blog).

This page too (https://www.demandetesdonnees.fr/blog/your-gdpr-rights).

The "Datenafragen.de" name is displayed instead of "demandetesdonnees.fr" on the 404 page.

When editing a company, the description that appears when hovering elements seems not to be translatable too.

Don't hesitate to mention me for further info.

Remove the .txt replacer

Before datenanfragen/data#244 was fixed, we had .txt file extensions for custom templates in the database that we removed in the generator again. All occurrences of this can now be removed. They are all marked with TODO comments and should look something like this: .replace(/\.txt$/, '')

Right to object

I think it would be a valuable addition to the site to generate "Right to object" letters.

Often we interact with companies that for various reasons we want to have and process our data, however by default these companies also process our data for the purpose of things like direct marketing etc.

According to the GDPR we are able to object to the processing of this data, but how to do so isn't always clear.

For example, the Austrian bank Sparkasse, has a detailed section on how they process our data and they state that we can object, but as a lay-person I'm not sure how to effectively formulate a letter that states I object to their use of my data for particular purposes.

Generator: More logical order for the request parameters

The transport medium should really come before the recipient address input.

In addition, the address input should be changed to an email address input if 'email' is selected. We might also want to consider still showing the address in the company widget.

Format the dates in the "My requests" table

On the "My requests" page, the dates are currently formatted as an ISO 8601 string. While I personally absolutely prefer that date format, many users probably won't be used to it. Instead, we should format the date.

The way to go here is probably the toLocaleDateString function.

Some notes:

  • Don't use the browser's locale but instead our internal one. You can access it using the global variables globals.country for the country and LOCALE (wrongly named) for the language.
  • Pass the following options: { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }

image

Tutorial at generator page step 1/4

At the generator page when it's showing the tutorial

image

It says on the right but the box is on the left.
I found the file to facilitate the fix. (good first issue for someone)

website/src/i18n/en.json
Line 319: "request-parameters": "<p>Alright, let’s start generating your requests. We will try our best to make this as easy as possible for you.</p><p>On the right, we have already prefilled the contact details for the first company.</p>"

I think it should have a class to show different strings
One for On the Left (Desktop) and one for On the Top (Mobile / Tablet)
Something like

<p class="desktop">On the left, we have already prefilled the contact details for the first company.</p><p class="mobile">On top, we have already prefilled the contact details for the first company.</p>

Bug: Saved signature is overridden on reset

In the generator, if the signature for the request is reset the blank signature is also save as the saved signature. This behavior is counter intuitive IMO. The expected behavior would be for the current request to have a blank signature field and the saved signature should be kept, if the reset button is clicked in the generator, but the saved signature is overridden, if the reset button is clicked on the saved id data page.

Investigate (and fix) Netlify build errors

Recently, our branch builds on Netlify have started failing sometimes with Hugo complaining about parser errors.

Example of the errors:

6:35:01 PM: Building sites …
6:35:02 PM: WARNING: make non-relative ref/relref page reference(s) in page "/blog/hacktoberfest-2019.de.md" absolute, e.g. {{< ref "/blog/my-post.md" >}}
6:35:05 PM: ERROR 2019/10/04 18:35:05 parse error:4:19: expected comma character or an array or object ending
6:35:05 PM:     4:   "name": Bundesinstitut für Berufsbildung (BIBB),
6:35:05 PM:                          ^
6:35:05 PM: ERROR 2019/10/04 18:35:05 parse error:24:4: expected comma character or an array or object ending
6:35:05 PM:    24: <script type="application/ld+json">
6:35:05 PM:           ^
6:35:05 PM: ERROR 2019/10/04 18:35:05 parse error:6:12: expected comma character or an array or object ending
6:35:05 PM:     6:   "name": 1&amp;1 Internet SE,
6:35:05 PM:                   ^
6:35:05 PM: ERROR 2019/10/04 18:35:05 parse error:19:5: expected comma character or an array or object ending
6:35:05 PM:    19:
6:35:05 PM:            ^
6:35:05 PM: Total in 3533 ms
6:35:05 PM: Error: Error building site: failed to render pages: parse error:3:55: expected comma character or an array or object ending
6:35:05 PM:     3:     const SUPPORTED_LANGUAGES = {"en": "https:\/\/deploy-preview-94--datenanfragen.netlify.com\/en\/company\/comvel\/",};
6:35:05 PM:                                                              ^

I have not been able to reproduce this issue locally and it also doesn't seem to affect the production builds (yet?).

From looking at the error messages, this might be related to commits cefbce6 and aa60b4d. Not sure though.

Examples of failing build logs:

List of all build logs: https://app.netlify.com/sites/datenanfragen/deploys

id-data heading padding

The formatting on the Rectification request input field on the right handside for "My data" heading seems a little off. Seems like the correct padding is needed after the input field?

It is more prevelant in non-mobile resolutions.

grafik

Rename the IdData class

Currently, a lot of things in our code are called "id data". As this is confusing we would like to have the name of the src/Utilities/IdData class refactored to SavedIdData. Please look thoroughly through the code and test it to check if the old name is still used anywhere.

company submission form claims successful submission even when it wasn't successful

Hi,
if the request to submit a new company fails in the background the site is still claiming it was submitted successfully:

Your contribution has been sent successfully. Thank you once again! We will now review it as soon as possible

This can easily be reproduced by installing uMatrix, which in default configuration doesn't allow requests to third party domains.

Kann Land nicht festlegen

Im Auswahlfenster wird mir kein Land angezeigt und unten auf der Seite kann ich das Land auch nicht ändern.
grafik
grafik

More inutitive use of the language chooser

This is, however, a little counter intuitive because now you have to select the language and then click anywhere to blur the select. Still better than two popups, though. Smarter solutions are very welcome!

Originally posted by @zner0L in #162 (comment)

For this to work I guess we have to reimplement onChange and do something smart to prevent the modal on opening twice if onBlur is triggered.

Suche funktioniert nicht

Unternehmen werden nicht gefunden (z.B. Amazon), obwohl sie offensichtlich in der Datenbank enthalten sind.

grafik

Allow deleting individual saved requests

On the "My requests" page (/my-requests), there is currently only the option of deleting all saved requests.

There should be a delete button next to each request (in a new column), allowing the user to delete individual requests.
We already have a delete button design (in the wizard, for example). This should be used here, as well.

image

In addition, the user should be able to delete multiple requests at once (the selected ones), just like they can export the selected requests.

Automatically crop the signature

It would be great if we could crop the signature.

Whenever I tested the signature input, I found it quite hard to judge how much space was needed for my signature and often ended up with quite large margins (especially at the top and bottom) which look fairly ugly in the PDF.

Edit Transparency page

The following sentence should modified after #209

We publish the complete constitution of our association on [this website]({{< ref "verein/constitution" >}}) and on GitHub.

website should be replaced by page (already done in French translation)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.