def sync_tasks(test_run): tasks = Task.objects.all() logger.info("Syncing {0} Task objects.".format(tasks.count())) for task in tasks: logger.info("Syncing Task: {0}".format(task)) # Find the corresponding SF tasks. try: sftask = SalesforceTask.objects.filter(external_id=task.id).get() except SalesforceTask.DoesNotExist: sftask = SalesforceTask() # SF Layout: Information section. sftask.project = SalesforceProject.objects.filter(external_id=task.project.id).get() sftask.deadline = task.deadline sftask.effort = task.time_needed sftask.extended_task_description = task.description sftask.location_of_the_task = task.location sftask.short_task_description = task.description sftask.task_expertise = task.expertise sftask.task_status = task.status sftask.title = task.title sftask.task_created_date = task.created # sftask.tags = str(task.tags.all()) # SF Layout: System Information section. # SF: Other sftask.external_id = task.id # Save the SF tasks. if not test_run: sftask.save()
def sync_tasks(dry_run, sync_from_datetime, loglevel): logger.setLevel(loglevel) error_count = 0 success_count = 0 tasks = Task.objects.all() if sync_from_datetime: tasks = tasks.filter(updated__gte=sync_from_datetime) logger.info("Syncing {0} Task objects.".format(tasks.count())) for task in tasks: logger.debug("Syncing Task: {0}".format(task.id)) # Find the corresponding SF tasks. try: sftask = SalesforceTask.objects.get(external_id=task.id) except SalesforceTask.DoesNotExist: sftask = SalesforceTask() # SF Layout: Information section. try: sftask.project = SalesforceProject.objects.get(external_id=task.project.id) except SalesforceProject.DoesNotExist: logger.error("Unable to find project id {0} in Salesforce for task id {1}".format(task.project.id, task.id)) sftask.deadline = task.deadline.strftime("%d %B %Y") sftask.effort = task.time_needed sftask.extended_task_description = task.description sftask.location_of_the_task = task.location sftask.task_expertise = task.expertise sftask.task_status = task.status sftask.title = task.title sftask.task_created_date = task.created sftask.tags = "" for tag in task.tags.all(): sftask.tags = str(tag) + ", " + sftask.tags # SF: Other sftask.external_id = task.id # Save the object to Salesforce if not dry_run: try: sftask.save() success_count += 1 except Exception as e: error_count += 1 logger.error("Error while saving task id {0}: ".format(task.id) + str(e)) return success_count, error_count
def sync_tasks(test_run): global error_count global success_count tasks = Task.objects.all() logger.info("Syncing {0} Task objects.".format(tasks.count())) for task in tasks: logger.info("Syncing Task: {0}".format(task.id)) # Find the corresponding SF tasks. try: sftask = SalesforceTask.objects.get(external_id=task.id) except SalesforceTask.DoesNotExist: sftask = SalesforceTask() # SF Layout: Information section. try: sftask.project = SalesforceProject.objects.get(external_id=task.project.id) except SalesforceProject.DoesNotExist: logger.error("Unable to find project id {0} in Salesforce for task id {1}".format(task.project.id, task.id)) sftask.deadline = task.deadline sftask.effort = task.time_needed sftask.extended_task_description = task.description sftask.location_of_the_task = task.location sftask.task_expertise = task.expertise sftask.task_status = task.status sftask.title = task.title sftask.task_created_date = task.created #for tag in task.tags: # sftask.tags = sftask.tags + "; " + tag.name #sftask.tags = task.tags.all() # SF: Other sftask.external_id = task.id # Save the object to Salesforce if not test_run: try: sftask.save() success_count += 1 except Exception as e: error_count += 1 logger.error("Error while saving task id {0}: ".format(task.id) + str(e))
def sync_tasks(dry_run, sync_from_datetime, loglevel): logger.setLevel(loglevel) error_count = 0 success_count = 0 tasks = Task.objects.all() if sync_from_datetime: tasks = tasks.filter(updated__gte=sync_from_datetime) logger.info("Syncing {0} Task objects.".format(tasks.count())) for task in tasks: logger.debug("Syncing Task: {0}".format(task.id)) # Find the corresponding SF tasks. try: sftask = SalesforceTask.objects.get(external_id=task.id) except SalesforceTask.DoesNotExist: sftask = SalesforceTask() except Exception as e: logger.error("Error while loading sftask id {0} - stopping: ".format(task.id) + str(e)) return success_count, error_count+1 # Populate the data sftask.external_id = task.id try: sftask.project = SalesforceProject.objects.get(external_id=task.project.id) except SalesforceProject.DoesNotExist: logger.error("Unable to find project id {0} in Salesforce for task id {1}".format(task.project.id, task.id)) try: sftask.author = SalesforceContact.objects.get(external_id=task.author.id) except SalesforceContact.DoesNotExist: logger.error("Unable to find contact id {0} in Salesforce for task id {1}".format(task.author.id, task.id)) sftask.deadline = task.deadline or None sftask.effort = task.time_needed sftask.extended_task_description = task.description sftask.location_of_the_task = task.location sftask.people_needed = task.people_needed sftask.end_goal = task.end_goal if task.skill: sftask.task_expertise = task.skill.name.encode("utf-8") sftask.task_status = task.status sftask.title = task.title sftask.task_created_date = task.created or None sftask.tags = "" for tag in task.tags.all(): sftask.tags = str(tag) + ", " + sftask.tags sftask.date_realized = None if task.status == 'realized' and task.date_status_change: sftask.date_realized = task.date_status_change # Save the object to Salesforce if not dry_run: try: sftask.save() success_count += 1 except Exception as e: error_count += 1 logger.error("Error while saving task id {0}: ".format(task.id) + str(e)) return success_count, error_count