Commit Graph

96 Commits (883fd81d06d40a9f28f1371ca4ef3c9c3d9322fe)

Author SHA1 Message Date
Jesús Espino 883fd81d06 Adding bulk_create membership tests 2014-07-31 13:46:51 +02:00
Jesús Espino b0807854fe Fixed stats test 2014-07-31 13:23:49 +02:00
Jesús Espino c0c05c7d33 Fixed test_users_resources test 2014-07-31 13:23:49 +02:00
Anler Hp cb66dc168f Change projectId param to project_id bulk members 2014-07-31 13:04:13 +02:00
Jesús Espino 83ad29dec1 Fixed stats tests 2014-07-31 12:40:39 +02:00
Anler Hp 724087e26d Create memberships in bulk on the same project 2014-07-31 12:19:51 +02:00
Jesús Espino b0d96d16df Some tests fixed 2014-07-31 12:00:43 +02:00
Jesús Espino e55acc11c2 Adding test for create of membership 2014-07-31 10:45:59 +02:00
Jesús Espino 1789aa6f06 Adding tests for bulk_create issues 2014-07-31 10:08:23 +02:00
Jesús Espino bb88966635 Fixed some errors and tests on mdrender 2014-07-31 08:59:12 +02:00
Anler Hp 2ca0039852 Fixing commits related to Task #439 2014-07-30 11:43:38 +02:00
Anler Hp 0b02cc4523 Task #422 - Create issues in bulk 2014-07-29 13:43:57 +02:00
Anler Hp 4c2585a891 Task #396 - Filter issues by subject 2014-07-29 13:00:27 +02:00
Anler Hp 6229770c0f Task #436 - Filter user stories by subject 2014-07-29 11:07:47 +02:00
Jesús Espino 945914c12b Adding some test for stats 2014-07-28 09:50:58 +02:00
Anler Hp 33fac4b43a Auto generate slug for projects 2014-07-25 14:19:37 +02:00
Anler Hp e79f0380dd Task #417 - Fixing create project api handler 2014-07-25 13:49:51 +02:00
Anler Hp 3f8af102ab Task #400 - Autolink user to membership if exists
When inviting an user to a project, if the user is already registered,
link her directly to the membership.
2014-07-25 12:57:06 +02:00
Anler Hp 8eed0d03e5 Task #399 - Memberships' resend-invitation handler
In order to resend and invitation email you just POST to detail-url
`memberships-resend-invitation`
2014-07-25 10:50:30 +02:00
Anler Hp 620ad91996 Task #361
Added a test only and appears to work
2014-07-24 14:49:48 +02:00
Anler Hp 95e636b856 Task #406 - Create members in bulk
Example:

        POST /memberships/bulk-create

        [{"project_id": <project id>,
          "role_id": <role id>,
          "email": <member email>}, ...]
2014-07-24 13:06:50 +02:00
Jesús Espino d97edb464c [HUGE CHANGE] Changed the permissions system 2014-07-24 12:19:06 +02:00
Anler Hp 44f9911730 Fix neighbor tests due to change in Issue ordering 2014-07-23 14:44:10 +02:00
Anler Hp 75cecbed70 Task #349 - API fails when DELETE-ing an userstory
Link - https://kaleidos.taiga.io/#/project/taiga/tasks/349
2014-07-23 11:21:52 +02:00
David Barragán Merino 2e6ddbf98f Merge pull request #55 from taigaio/attachments
Check permissions when accessing attachments
2014-07-22 23:32:54 +02:00
Jesús Espino d5df49f59a Big refactor on is_closed calculation 2014-07-22 12:00:25 +02:00
Jesús Espino d32a9562be A lot of refactoring on close us code signals code 2014-07-21 21:23:40 +02:00
Anler Hp 82ddeb69a7 USs: class-based to function-based services 2014-07-11 01:04:27 +02:00
Anler Hp 40260c82ad Tasks: class-based to function-based services 2014-07-11 01:04:17 +02:00
Anler Hp 52f476fb34 Check permissions when accessing attachments
Attachment files dispatching is now done through `RawAttachmentView`
view that checks for appropiate permissions.

When using the development server this view just redirects to the real
media path of the file.

When using the production server the special redirection header
`X-Accel-Redirect` is used instead to improve efficiency by instructing
the server to dispatch the file instead of django, but you also need the
following configuration (Nginx):

location /attachment-files {
    internal;
    alias /path/to/taiga/media/attachment-files;
}

It's recommended to also restrict the direct access from outside to the
`attachment-files` directory by using some configuration like this:

location /media/attachment-files {
    deny all;
}
2014-07-04 12:15:48 +02:00
Anler Hp 0ff888df53 Support for CELERY_ALWAYS_EAGER 2014-07-02 13:40:36 +02:00
Anler Hp 24e9d92af1 Decorator for overriding settings while testing
Usage:
```
from tests.utils import set_settings

@set_settings(FOO='bar')
def test_something():
    ...
```
2014-07-02 13:34:14 +02:00
Anler Hp 0e414267db Integration with RabbitMQ and Celery
First update taiga-vagrant vm if you're using it, you will have access
to the rabbit management console at port 8001 of the host machine.

* Defining tasks
- Tasks must be defined in a `deferred` module of an app, for example,
`taiga.projects.deferred` module.
- Tasks must be decorated and given the name "<app>.<task-name>", for
example in `taiga.projects.deferred` module:
```
from taiga.celery import app

@app.task(name="projects.add")
def add(x, y):
    return x + y
```
- Tasks should be at most just wrappers around service functions to
promote re-usability of those functions from other parts of the code,
say, management commands and the like.

* Calling tasks
Tasks should be called using one of the three functions defined in
`taiga.deferred` module:

- `defer`: Use this function if you need to perform some task
asynchronously and GET THE RESULT back later, for example:
```
result = defer("projects.add", x=1, y=2)
...
result.get() # => 3
```

- `call_async`: Use this function when you want to fire off some
task. No result is get back. For example:
```
call_async("projects.email_user", user)
```

- `apply_async`: Is the same as `call_async` but since it's a function
application and you must pass the args and kwargs together as one
parameter each you are allowed to pass celery-specific
extra-options (but bear in mind this is not recommended!)
```
apply_async("projects.email_user", args=(user,), kwargs={}, routing_key="tasks.email")
```
2014-07-02 09:49:56 +02:00
Anler Hp a8085a2feb Return user photo cropped and with absolute url
Remember to run `pip install -r requirements.txt` to install the
additional dependencies.
2014-07-01 14:38:26 +02:00
Anler Hp 5ff7ec1c00 Return user's gravatar if has no photo set
If the user has no photo set use her gravatar image if available
otherwise use the default avatar image defined in
`settings.DEFAULT_AVATAR_URL`
2014-07-01 12:46:58 +02:00
Anler Hp cfc35d5ed2 Required estimated-start/end dates for milestones 2014-06-27 14:07:50 +02:00
Alejandro Alonso 077de2bf4e Updating occ tests 2014-06-25 16:19:40 +02:00
Anler Hp 0a3a33aac5 Optimizing `Project.update_role_points` method 2014-06-24 12:38:29 +02:00
Alejandro Alonso 9b97a4a9c6 Fixing bug when creating objects with OCCResourceMixin 2014-06-23 16:22:08 +02:00
Anler Hp e98d666a40 Removing unnecessary setup of test database
We are already using pg arrays so the unpickle function in sql/tags.sql
is not needed, at least by the moment. I'm removing it because it was
entering in an infinite loop when creating the test database.
2014-06-23 12:26:17 +02:00
Anler Hp c89c6e7c31 Merge pull request #51 from taigaio/tags
Tags using pg arrays
2014-06-23 11:34:02 +02:00
Anler Hp 7ebe443394 Adding models.Model explicitly to tagged models 2014-06-23 10:58:14 +02:00
David Barragán Merino 76bc2ac426 Add more licenses agreements to the tests.integration module 2014-06-22 11:33:44 +02:00
David Barragán Merino 270b315fdf Add more licenses agreements to the tests.unit module 2014-06-20 19:48:34 +02:00
David Barragán Merino 767024d0d5 Add more licenses agreements to the tests module 2014-06-19 22:46:31 +02:00
Anler Hp df8a7fb73c create_membership factory function 2014-06-18 14:13:20 +02:00
Anler Hp 08b4be4e0b Re-applying migration in conflict 2014-06-18 11:15:33 +02:00
Anler Hp ac5e163dc5 Implement tags using pg arrays 2014-06-18 10:14:29 +02:00
Alejandro Alonso dcc7ec0bf2 Adding archived user stories feature and enabling API filtering 2014-06-18 09:16:30 +02:00
Alejandro Alonso b78a412b46 Fixing tests 2014-06-17 17:01:59 +02:00