Source code for openassembly.oa_dashboard.tasks

from oa_dashboard.models import DashboardPanel
from celery.task import task
from django.contrib.auth.models import User


@task(ignore_result=True)
def async_sort_board(sort_vals):
        itr = 1
        print sort_vals
        for pk in sort_vals:
                try:
                        ds = DashboardPanel.objects.get(pk=pk)
                        ds.priority = itr
                        ds.save()
                        itr += 1
                except:
                        print str(pk)


@task(ignore_result=True)
def async_add_board(board_path, dashboard_id, user):
        prior = 1
        for ds in DashboardPanel.objects.filter(dashboard_id=dashboard_id, user=user):
                ds.priority = prior
                ds.save()
                prior += 1


[docs]def save_board(board_path, dashboard_id, user, boardname): ds, is_new = DashboardPanel.objects.get_or_create(plank=board_path, dashboard_id=dashboard_id, user=user) if is_new: ds.zoom_x = 0 ds.zoom_y = 0 ds.priority = 1 ds.boardname = boardname ds.save() async_add_board(board_path, dashboard_id, user) return ds
@task(ignore_result=True) def async_del_board(board_pk, user_pk, dashboard_id): user = User.objects.get(pk=user_pk) itr = 1 for ds in DashboardPanel.objects.filter(dashboard_id=dashboard_id, user=user).order_by('priority'): ds.priority = itr ds.save() itr += 1