almet / copanier Goto Github PK
View Code? Open in Web Editor NEWA minimalist collective buying software.
License: GNU General Public License v3.0
A minimalist collective buying software.
License: GNU General Public License v3.0
Actuellement, il ne semble pas y avoir de license pour ce dépot ;
Lors de certaines distributions, les producteurs dont tous les produits sont en rupture pourraient ne pas s'afficher dans le formulaire de commande.
De même on pourrait se demander si on ne devrait pas masquer tous les produits en rupture et ne les garder que dans l'interface d'administration.
Otherwise it's not possible to place orders (the old products are not up to date, but there is no interface to update them)
It seems easy enough for AlwayData.
cc @Natim as I know you had some experience with it. Any ideas are welcome :-)
Au hasard d'une recherche avec l'outil de développement Firefox je constate une erreur 404 sur le fichier favicon.ico
GET http://localhost:2244/favicon.ico → [HTTP/1.1 404 Not Found 0ms]
It shouldn't be the case :-)
Also, the link should be more obvious.
So they're not used in a specific distribution, but they're still around.
There is a bunch of duplicated code there, it's pretty obscure to me and I believe it could be enhanced :-)
I have a bug on a fresh install when I try to login. This is when using python 3.8.2.
Traceback (most recent call last):
File "/workspace/.pip-modules/lib/python3.8/site-packages/roll/__init__.py", line 60, in __call__
await handler(request, response, **request.route.vars)
File "/workspace/copanier/copanier/views/login.py", line 38, in connexion
response.html("login.html")
File "/workspace/copanier/copanier/views/core.py", line 29, in html
self.body = self.render_template(template_name, *args, **kwargs)
File "/workspace/copanier/copanier/views/core.py", line 23, in render_template
context["message"] = json.loads(self.request.cookies["message"])
ValueError: Unmatched ''"' when when decoding 'string'
Currently it's only sent by email.
When using gitpod.io I see this message :
Le cookie « message » sera bientôt rejeté car son attribut « sameSite » est défini sur « none » ou une valeur invalide, et sans attribut « secure ». Pour en savoir plus sur l’attribut « sameSite », consultez https://developer.mozilla.org/docs/Web/HTTP/Headers/Set-Cookie/SameSite
I'm not sure this happens on a deployed environment, but it's worth double checking.
Traceback (most recent call last):
File "/home/alexis/copanier/venv/lib/python3.7/site-packages/roll/init.py", line 77, in call
await handler(request, response, **request.route.vars)
File "/home/alexis/copanier/copanier/views/delivery.py", line 247, in place_order
group_id=orderer.group_id,
File "/home/alexis/copanier/copanier/emails.py", line 50, in send_order
group_id=group_id,
File "/home/alexis/copanier/copanier/emails.py", line 37, in send_from_template
send(to, subject, body=txt, html=html)
File "/home/alexis/copanier/copanier/emails.py", line 19, in send
return print("Sending email", str(body))
UnicodeEncodeError: 'latin-1' codec can't encode character '\u20ac' in position 162: ordinal not in range(256)
Lors du premier lancement les icones s'affichaient bien mais depuis impossible d'avoir l'icone calendrier et l'icone horloge sur la page « distribution ». Je n'ai aucune explication et l'outil de développement Firefox n'affichent aucune erreur.
They are quite simple and it can probably be better with some styling.
Pour que les personnes référentes s'y retrouvent mieux.
In most cases a consumer want to see what the product looks like.
A picture's worth a thousand words.
It could be something very simple, with a few screen captures and aimed to the general public.
Maybe we should fold it, or we should put a sane default in this field (1?). Or just rename it to "ajuster le colisage", or something else? Ideas?
The most important information is:
In this order :-)
/* Handle nice phone number formatting */
function prettifyPhoneNumber() {
var $phone = $(this)
var phone = $phone.val()
phone = phone.replace(/[^0-9]/g, '') // Only keep digits
phone = (function addSpaces(phone) {
if (phone.length <= 2) {
return phone
}
return phone.substring(0, 2) + ' ' + addSpaces(phone.substring(2))
}(phone))
$phone.val(phone)
}
I'm doing a quick check on windows and it seems that unicode strings are not rendered properly in the notification tooltips. Not sure why.
Once the distribution is over, an email could be sent to the referent, asking for a few info, such as :
So the system can remember to send an reminder email to the new referent when it's time!
So people can test the tool without having to create too much things. This could be easier once #32 is implemented so we can directly import a few files.
At some locations it says « epinamap » which is the group the original author belongs to, but we probably don't want to have this here.
Add an optional way to restrict access to a delivery / group with a code.
Currently, they're part of the delivery, but we might want to put them in a separate location, like it's done for groups, so that we don't have to copy them on every delivery.
If we do this, we might want to enable / disable them on a delivery basis.
Also, when we do this, we might want to keep a record of the prices and availability of the products, related to a delivery, but I'm not sure how we should handle this.
Ideas?
Given the following nginx configuration:
server {
listen 80;
location /copanier/ {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:2244/;
proxy_redirect off;
}
}
When I go to http://localhost/copanier/
, the app redirects me to http://localhost/connexion?next=/
— instead of the expected http://localhost/copanier/connexion?next=/
.
I'm not yet sure where the problem happens, in the app itself, or Nginx.
Right now a non-admin can modify a group and edit the name and the list of members.
That's very much error prone for a newcomer.
If that's useful for some organisations, we should be able to disable from the config the access to that functionality.
It could be cool that one instance of copanier handles multiple groups.
Also, we might need rework the wording here, to distinguish:
I'm not sure about the naming here. Any help is appreciated :-)
currently you have to click the title and it's not clear enough.
[Errno 2] Aucun fichier ou dossier de ce type: '/home/dan/dev/copanier/copanier/static/orders-summary.css'
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.