Giter Club home page Giter Club logo

django-todo's People

Contributors

1hanzla100 avatar bernd-wechner avatar bittner avatar calebr avatar davestgermain avatar deniz195 avatar dependabot[bot] avatar epilys avatar fross123 avatar iamlovelesh avatar james1293 avatar leephillips avatar madscientistproductions avatar multun avatar shacker avatar shantisuresh01 avatar somesmart avatar tomscytale avatar wasare 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 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

django-todo's Issues

Slug names conflict

Hello,

I'm using this as a helpdesk/ticketing system and I noticed that if two lists in different groups have the same name then they generate the same slug name and a later get() will get that "more than one result" error. Line 94 in views.py.

I was able to fix it for myself by manually updating the slug names in the database to be different from each other.

Thanks!

css and javascript files are not loading

my base.html looks like this.

{% load staticfiles %}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js" integrity="sha256-VazP97ZCwtekAsvgPBSUwPFKdrwD3unUfSGVYrahUqU=" crossorigin="anonymous"></script>

{% block extrahead %}
{% endblock extrahead %}

    <a href="{% url 'todo-lists' %}">To-do Lists</a>
    <a href="{% url 'todo-mine' %}">My Tasks</a>

{% if messages %}
{% for message in messages %}
<div {% if message.tags %} class="alert alert-{{ message.tags }}"{% endif %}>
{{ message }}

{% endfor %}
{% endif %}

{% block title %}
{% endblock %}

{% block content %}
{% endblock %}

{% block body %}
{% endblock %}

Assign task to multiple people

Hello all,
I just started using Django todo, and I love the simplicity of it. I recently hacked together a fork (locally, not on GitHub) that allows a task to be assigned to multiple users. It's not perfect yet, but would this be something worth sharing? If so, would it be the sort of thing that would stay as a fork, or could it be incorporated into the main project repo?
(I haven't contributed much on GitHub, so that's why I'm asking for etiquette advice.)
Thanks!

how to run django-todo in mezzanine

Would this app work on something that is also written django or more specifically in mezzanine? I have a django page up and running, but it badly needs a todo app like this. I am interested in reposting to this page and mezzanine a link when I figure out how as well as the code.

Empty Comments

Problem with comments. Why is it possible to leave an empty comment. It is Bug?

error in list_lists view after pip install

Hi there,

Apologies if this is incorrect information (I am pretty new to python!) but there appears to be an error in version 1.5 of the todo app, or at least in the pip install.

When trying to access lists as a non-superuser, I receive:

TypeError: 'method' object is not iterable

After poking around, I found line 55 of the view.py file to read as follows:
list_list = List.objects.filter(group__in=request.user.groups.all).order_by('group', 'name')

Everything works fine once I have corrected it to this:
list_list = List.objects.filter(group__in=request.user.groups.all()).order_by('group', 'name')

Do you have any idea what could be happening?

Cheers, Will

CSV import

While I found a few general CSV or TSV import libraries is there any recommendation or specific support for one?

There is a large amount of data that I want to load into my Django and it frequently comes in via excel or CSV files, all of which has to be loaded into Django.

python 3.6 is required

The readme states, that python3.3+ is required, but because of the f-strings one needs to run python3.6+

Release version 1.5 to fix SystemCheckError in Item model

For some reason I get a SystemCheckError when I run python manage.py check (was validate until Django 1.7) on a project using django-todo with Django 1.8:

SystemCheckError: System check identified some issues:

ERRORS:
todo.Item.created_date: (fields.E160) The options auto_now, auto_now_add, and default are mutually exclusive. Only one of these options may be present.

The field provoking the error is created_date in the Item model.

move task to other list

is it correct, that there is no option to move tasks to another list, or did I just miss that?

Error migrating

I'm trying to install with Django 2.2 and getting this error when migrating:

<class 'todo.admin.AttachmentAdmin'>: (admin.E040) ModelAdmin must define "search_fields", because it's referenced by AttachmentAdmin.autocomplete_fields.
common.Comment.commented_by: (fields.E304) Reverse accessor for 'Comment.commented_by' clashes with reverse accessor for 'Comment.author'.
	HINT: Add or change a related_name argument to the definition for 'Comment.commented_by' or 'Comment.author'.
todo.Comment.author: (fields.E304) Reverse accessor for 'Comment.author' clashes with reverse accessor for 'Comment.commented_by'.
	HINT: Add or change a related_name argument to the definition for 'Comment.author' or 'Comment.commented_by'.

css media in template is hardlinked

the css file in base.html is hardlinked to /media/todo/css/styles.css

it should be {{MEDIA_URL}}todo/css/styles.css

everything else in base is (correctly) linked using {{MEDIA_URL}}

django-todo & wagtail integration

Hi,

I'm evaluating what are my options to add a task & writer management system to the Wagtail CMS, and I discovered django-todo through this comment on ls.joyous.

I will spend more time studying the internals of django-todo to see if I could start a wagtail-todo project (other names I have in mind are wagtail-tasks and wagtail-workflow).

First of all, I cannot see django-todo's roadmap. If there is one, can you point it out? It looks like you've been maintaining it for a while, which is reassuring, but that would be upsetting if you were to stop maintaining it tomorrow :)

Some features that I would need, but could be added directly to django-todo, are:

  • Recurring tasks (time-based, trigger action based)
  • Templates (managed from django-admin, ManyToManyField with Groups, select dropdown list in form)

Some unique features I can think of adding in a project reconcialing wagtail and django-todo are:

  • wagtail-admin styled templates (I suppose I'll take inspiration from your GTD app)
  • hooks to auto-complete and auto-create tasks (latter if recurring task feature doesn't exist in django-todo) based on some event, and default templates to figure out what task to complete/create depending on the model action being performed (sounds shaky, but trying to link tasks with some contenttype, some field and some field value opens a hole of complexity)

What are your thoughts on this? I'll be keen on contributing to django-todo core, but I have a tight schedule (I'll need to have something shipped in production by the end of next month), so your support will be highly appreciated :)

WYSIWYG Editors

Hello, how i can change the standard text to WYSIWYG Editors in todo list?

extrahead block in base.html includes "jquery-ui-1.7.1.custom.css" unnecessarily

Even if you intended for this to be included in the 'extrahead' block, this would always include a non-existent file, as it's not included in your static files directory, and the version number wouldn't match the latest jquery version since it's hardcoded. So i'm guessing you added it when you were testing it, but then forgot to remove it later?

The offending line is base.html, line 9

Attachment support

Have you considered adding support for attaching documents/images to tickets?
We like the library but attachment support is a non-negotiable for our users. Would be happy to add a feature that provides this too if you can help with some direction. Thanks!

is TODO_STAFF_ONLY used?

sorry for issue spamming, but just setting this up :)

I wonder if setting TODO_STAFF_ONLY = True does have any effect, I can still add tasks and lists with a non staff user, actually I cannot find any use of TODO_STAFF_ONLY in the code

Don't crash during re-order if task(s) deleted

Because the demo site refreshes its db every four hours, and this error is not visible from the front-end, I see this error in logs but others don't - the reorder_tasks view crashes if referenced task IDs no longer exist.

No todo folder

Hi,
I used pip install django-todo to install the app in my virtual env.
Then i added the 'todo' to the INSTALLED_APPs in settings.py , and migrated the todo app, and everything.
After that i ran the server and i am able to get in the admin site( i created a superuser), but i cannot get in the todo app.( i added this in urls.py as well)
path('',include ('todo.urls')),

What am i missing.

message_set error

Having upgraded to the newer django trunk ('1.4 pre-alpha') I now get an error about message_set. Just needs to be migrated to the new messaging framework -- I'm attaching a diff to this ticket.

dev libraries in pipfile

pipfile is currently:

[packages]
django = "*"
django-extensions = "*"
"psycopg2-binary" = "*"
pytest = "*"
pytest-django = "*"
"flake8" = "*"
factory-boy = "*"
titlecase = "*"
bleach = "*"

[dev-packages]
pylint = "*"
mypy = "*"

shouldn't pytest, pytest-django, flake8, factory-boy be in [dev] ?

Do you plan to add support for Django 1.6?

Hello Scot Hacker,

I am wondering if you have plan to release a version of the django-todo that supports django 1.6. When I integrated django-todo with django 1.6, I got several semantical error in template.

Thanks,
Wu

Make todo.Task swappable

Usecase: Extend the Task model to add a generic foreignkey to another model.
This will allow us then to set triggers to complete a task when an action is performed on its related model.
Concrete example: Link a wagtail page to a task when creating it, then auto-complete the task when the wagtail Page status field has been changed.

3rd-part code using todo:

# my_app/models.py
from django.contrib.contenttypes.fields import GenericForeignKey
from django.contrib.contenttypes.models import ContentType
from django.db import models
from todo.models import Task


class LinkedTask(Task):
    """
    Link a task to another model, eg a Page model.
    """
    content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE)
    object_id = models.PositiveIntegerField()
    content_object = GenericForeignKey("content_type", "object_id")

# settings.py
TODO_TASK_MODEL = "my_app.LinkedTask"

todo suggested modification using swapper

import swapper

class BaseTask(models.Model):
    # rename current Task to BaseTask

class Task(BaseTask):
    class Meta:
        swappable = swapper.swappable_setting('todo', 'Task')

If you agree with this feature request, I can do a PR for it tomorrow (japan timezone)

Mail queues support

What ?

It might sound a little bit insane, but I would like to implement mail queues support.
The usecase is quite simple: making sure every mail of a given mailbox gets an answer.

Whenever a new mail is received, if it's already registered somewhere, comment the existing issue with the plaintext version of the received email. Otherwise, create a new issue.

How ?

  • A new model representing an email would be added. It would be referenced from comment
  • The body attribute of comments would become a property, fetching the content of the email when present, falling back to the text field otherwise.
  • A completly separate worker would register emails

Why ?

I couldn't find a good and simple mail + bug tracker combo, and I figured it isn't that much added complexity.

What it's not

  • additionnal email notification madness / embed response
  • a massive code reworks

django mezzanine install of your django-todo app

I currently have a django/mezzanine app that runs and when I install this app i get a couple errors.

mkl-random 1.0.1 requires cython, which is not installed.
mkl-fft 1.0.0 requires cython, which is not installed.
Installing collected packages: unidecode, django-todo
Successfully installed django-todo-2.0.3 unidecode-1.0.22

It says error but then says successful django install, so I figure things might work, I put todo in my apps list and go to rerun the server and get the following error.

Unhandled exception in thread started by <function wrapper at 0x10d7997d0>
Traceback (most recent call last):
File "/Users/owner/Code/mezzanine_env/lib/python2.7/site-packages/django/utils/autoreload.py", line 226, in wrapper
fn(args, **kwargs)
File "/Users/owner/Code/mezzanine_env/lib/python2.7/site-packages/django/core/management/commands/runserver.py", line 113, in inner_run
autoreload.raise_last_exception()
File "/Users/owner/Code/mezzanine_env/lib/python2.7/site-packages/django/utils/autoreload.py", line 249, in raise_last_exception
six.reraise(
_exception)
File "/Users/owner/Code/mezzanine_env/lib/python2.7/site-packages/django/utils/autoreload.py", line 226, in wrapper
fn(*args, **kwargs)
File "/Users/owner/Code/mezzanine_env/lib/python2.7/site-packages/django/init.py", line 27, in setup
apps.populate(settings.INSTALLED_APPS)
File "/Users/owner/Code/mezzanine_env/lib/python2.7/site-packages/django/apps/registry.py", line 85, in populate
app_config = AppConfig.create(entry)
File "/Users/owner/Code/mezzanine_env/lib/python2.7/site-packages/django/apps/config.py", line 90, in create
module = import_module(entry)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/init.py", line 37, in import_module
import(name)
ImportError: No module named todo

If mezzanine_env is my virtual env and its subfolder mezzanine_app is where my files are, is there a specific place where i should install this app?

In your notes you also mention some css links, where would those go as I am not seeing an existing css page in my django app.

Thanks in advance.

Is `MissingSuperuserException` really needed?

When installing django-todo with a project you can't run the project, because the package throws a MissingSuperuserException:

MissingSuperuserException at /
django-todo requires at least one superuser in the database

The exception comes from the settings module.

Is this really needed? This way you can't run a project that has no use for a superuser or manages all administration tasks from the command line. If there are no compelling reasons for having to have a superuser there should be a warning instead of a hard exception, if any.

Django 1.8.2 warning and error in todo model

Juist some pointers easy to fix but juist in case you run in to them:

ERRORS:
todo.Item.created_date: (fields.E160) The options auto_now, auto_now_add, and default are mutually exclusive. Only one of these options may be present.

WARNINGS:
todo.Item.priority: (fields.W122) 'max_length' is ignored when used with IntegerField
HINT: Remove 'max_length' from field

Mailtracker issues

first, thank you very much for the new mailtracking feature, I just wanted to start working on such a feature :)

But some issues came up for me:

  • had to change Comment.email_message_id to CharField and remake migrations, because mysql cannot use TextField as key and throws an error. TextField does not make sense here by the way?!
  • preserve=false setting does not work for me, emails are not deleted
  • the TODO_MAIL_BACKENDS first confused me, until I realised that they are not necessary for the mailtracking feature, its just that you can now have seperate email configs for each list, correct?
  • when a new task is created, why is he mailbody posted as comment? Is this intended? I think its good to save it as task description
  • at the the moment, anyone can use the feature when the email address is known. This should be limited to the user email addresses, even if emailaddresses can be spoofed. This way the messages could be just connected to the account and not to blank emailadresses

Per-feature generic permissions system

Is there a specific reason, why only staff/admin users are allowed to create lists? I would like to allow users to create without having access to admin pages. Is that just a lack of permissions or is there an other reason for this?

why no personal lists?

There should be a (simple) way for every user to have a personal list. Currently the only way to do this is create a group for every user that includes only that user. For an organisation with many users, this is untenable.

One solution is to modify the list table to include a User, then make Group and User not required, and then use Form, View and save() logic to ensure that one and only one is associated with a list. That seems overly complex.

Another option is to have a special group called "Personal", and use form and view logic to ensure that when a user is dealing with the Personal group, that they can only see lists and tasks associated with themselves. There is an issue where each user is restricted to not use a slug that is being used by another user. Its a small price to pay, and maybe upon save each slug could have the username prepended to it as a work around.

Settings are ignored

Related issue: #47
Related code: https://github.com/shacker/django-todo/blob/master/todo/defaults.py#L24

ipdb> settings.TODO_STAFF_ONLY                          
False
ipdb> key                   
'TODO_STAFF_ONLY'
ipdb> getattr(settings, key, False) or hash.get(key)    
True

TODO_STAFF_ONLY is always True, and I don't see how it could have ever worked. the first part getattr(settings, key, False) evaluate to either True or False, and the second part always evaluates to True... False or True = True or True = True.

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.