mirror of
https://github.com/solidtime-io/solidtime.git
synced 2026-08-19 13:42:14 +01:00
Specify enclosure and escape for solidtime export and import
This commit is contained in:
@@ -47,6 +47,9 @@ class ExportService
|
|||||||
// Organizations
|
// Organizations
|
||||||
try {
|
try {
|
||||||
$writer = Writer::createFromPath($temporaryDirectory->path('organizations.csv'), 'w+');
|
$writer = Writer::createFromPath($temporaryDirectory->path('organizations.csv'), 'w+');
|
||||||
|
$writer->setDelimiter(',');
|
||||||
|
$writer->setEnclosure('"');
|
||||||
|
$writer->setEscape('');
|
||||||
$writer->insertOne([
|
$writer->insertOne([
|
||||||
'id',
|
'id',
|
||||||
'name',
|
'name',
|
||||||
@@ -66,6 +69,9 @@ class ExportService
|
|||||||
|
|
||||||
// Organization invitations
|
// Organization invitations
|
||||||
$writer = Writer::createFromPath($temporaryDirectory->path('organization_invitations.csv'), 'w+');
|
$writer = Writer::createFromPath($temporaryDirectory->path('organization_invitations.csv'), 'w+');
|
||||||
|
$writer->setDelimiter(',');
|
||||||
|
$writer->setEnclosure('"');
|
||||||
|
$writer->setEscape('');
|
||||||
$writer->insertOne([
|
$writer->insertOne([
|
||||||
'id',
|
'id',
|
||||||
'email',
|
'email',
|
||||||
@@ -91,6 +97,9 @@ class ExportService
|
|||||||
|
|
||||||
// Time entries
|
// Time entries
|
||||||
$writer = Writer::createFromPath($temporaryDirectory->path('time_entries.csv'), 'w+');
|
$writer = Writer::createFromPath($temporaryDirectory->path('time_entries.csv'), 'w+');
|
||||||
|
$writer->setDelimiter(',');
|
||||||
|
$writer->setEnclosure('"');
|
||||||
|
$writer->setEscape('');
|
||||||
$writer->insertOne([
|
$writer->insertOne([
|
||||||
'id',
|
'id',
|
||||||
'description',
|
'description',
|
||||||
@@ -139,6 +148,9 @@ class ExportService
|
|||||||
|
|
||||||
// Clients
|
// Clients
|
||||||
$writer = Writer::createFromPath($temporaryDirectory->path('clients.csv'), 'w+');
|
$writer = Writer::createFromPath($temporaryDirectory->path('clients.csv'), 'w+');
|
||||||
|
$writer->setDelimiter(',');
|
||||||
|
$writer->setEnclosure('"');
|
||||||
|
$writer->setEscape('');
|
||||||
$writer->insertOne([
|
$writer->insertOne([
|
||||||
'id',
|
'id',
|
||||||
'name',
|
'name',
|
||||||
@@ -164,6 +176,9 @@ class ExportService
|
|||||||
|
|
||||||
// Projects
|
// Projects
|
||||||
$writer = Writer::createFromPath($temporaryDirectory->path('projects.csv'), 'w+');
|
$writer = Writer::createFromPath($temporaryDirectory->path('projects.csv'), 'w+');
|
||||||
|
$writer->setDelimiter(',');
|
||||||
|
$writer->setEnclosure('"');
|
||||||
|
$writer->setEscape('');
|
||||||
$writer->insertOne([
|
$writer->insertOne([
|
||||||
'id',
|
'id',
|
||||||
'name',
|
'name',
|
||||||
@@ -199,6 +214,9 @@ class ExportService
|
|||||||
|
|
||||||
// Project members
|
// Project members
|
||||||
$writer = Writer::createFromPath($temporaryDirectory->path('project_members.csv'), 'w+');
|
$writer = Writer::createFromPath($temporaryDirectory->path('project_members.csv'), 'w+');
|
||||||
|
$writer->setDelimiter(',');
|
||||||
|
$writer->setEnclosure('"');
|
||||||
|
$writer->setEscape('');
|
||||||
$writer->insertOne([
|
$writer->insertOne([
|
||||||
'id',
|
'id',
|
||||||
'billable_rate',
|
'billable_rate',
|
||||||
@@ -226,6 +244,9 @@ class ExportService
|
|||||||
|
|
||||||
// Members
|
// Members
|
||||||
$writer = Writer::createFromPath($temporaryDirectory->path('members.csv'), 'w+');
|
$writer = Writer::createFromPath($temporaryDirectory->path('members.csv'), 'w+');
|
||||||
|
$writer->setDelimiter(',');
|
||||||
|
$writer->setEnclosure('"');
|
||||||
|
$writer->setEscape('');
|
||||||
$writer->insertOne([
|
$writer->insertOne([
|
||||||
'id',
|
'id',
|
||||||
'user_id',
|
'user_id',
|
||||||
@@ -260,6 +281,9 @@ class ExportService
|
|||||||
|
|
||||||
// Tasks
|
// Tasks
|
||||||
$writer = Writer::createFromPath($temporaryDirectory->path('tasks.csv'), 'w+');
|
$writer = Writer::createFromPath($temporaryDirectory->path('tasks.csv'), 'w+');
|
||||||
|
$writer->setDelimiter(',');
|
||||||
|
$writer->setEnclosure('"');
|
||||||
|
$writer->setEscape('');
|
||||||
$writer->insertOne([
|
$writer->insertOne([
|
||||||
'id',
|
'id',
|
||||||
'name',
|
'name',
|
||||||
@@ -287,6 +311,9 @@ class ExportService
|
|||||||
|
|
||||||
// Tags
|
// Tags
|
||||||
$writer = Writer::createFromPath($temporaryDirectory->path('tags.csv'), 'w+');
|
$writer = Writer::createFromPath($temporaryDirectory->path('tags.csv'), 'w+');
|
||||||
|
$writer->setDelimiter(',');
|
||||||
|
$writer->setEnclosure('"');
|
||||||
|
$writer->setEscape('');
|
||||||
$writer->insertOne([
|
$writer->insertOne([
|
||||||
'id',
|
'id',
|
||||||
'name',
|
'name',
|
||||||
|
|||||||
@@ -60,6 +60,8 @@ class SolidtimeImporter extends DefaultImporter
|
|||||||
$clientsReader = Reader::createFromPath($temporaryDirectory->path('clients.csv'));
|
$clientsReader = Reader::createFromPath($temporaryDirectory->path('clients.csv'));
|
||||||
$clientsReader->setHeaderOffset(0);
|
$clientsReader->setHeaderOffset(0);
|
||||||
$clientsReader->setDelimiter(',');
|
$clientsReader->setDelimiter(',');
|
||||||
|
$clientsReader->setEnclosure('"');
|
||||||
|
$clientsReader->setEscape('');
|
||||||
|
|
||||||
if (! file_exists($temporaryDirectory->path('members.csv'))) {
|
if (! file_exists($temporaryDirectory->path('members.csv'))) {
|
||||||
throw new ImportException('File "members.csv" missing in ZIP');
|
throw new ImportException('File "members.csv" missing in ZIP');
|
||||||
@@ -67,6 +69,8 @@ class SolidtimeImporter extends DefaultImporter
|
|||||||
$membersReader = Reader::createFromPath($temporaryDirectory->path('members.csv'));
|
$membersReader = Reader::createFromPath($temporaryDirectory->path('members.csv'));
|
||||||
$membersReader->setHeaderOffset(0);
|
$membersReader->setHeaderOffset(0);
|
||||||
$membersReader->setDelimiter(',');
|
$membersReader->setDelimiter(',');
|
||||||
|
$membersReader->setEnclosure('"');
|
||||||
|
$membersReader->setEscape('');
|
||||||
|
|
||||||
if (! file_exists($temporaryDirectory->path('organization_invitations.csv'))) {
|
if (! file_exists($temporaryDirectory->path('organization_invitations.csv'))) {
|
||||||
throw new ImportException('File "organization_invitations.csv" missing in ZIP');
|
throw new ImportException('File "organization_invitations.csv" missing in ZIP');
|
||||||
@@ -74,6 +78,8 @@ class SolidtimeImporter extends DefaultImporter
|
|||||||
$organizationInvitationsReader = Reader::createFromPath($temporaryDirectory->path('organization_invitations.csv'));
|
$organizationInvitationsReader = Reader::createFromPath($temporaryDirectory->path('organization_invitations.csv'));
|
||||||
$organizationInvitationsReader->setHeaderOffset(0);
|
$organizationInvitationsReader->setHeaderOffset(0);
|
||||||
$organizationInvitationsReader->setDelimiter(',');
|
$organizationInvitationsReader->setDelimiter(',');
|
||||||
|
$organizationInvitationsReader->setEnclosure('"');
|
||||||
|
$organizationInvitationsReader->setEscape('');
|
||||||
|
|
||||||
if (! file_exists($temporaryDirectory->path('project_members.csv'))) {
|
if (! file_exists($temporaryDirectory->path('project_members.csv'))) {
|
||||||
throw new ImportException('File "project_members.csv" missing in ZIP');
|
throw new ImportException('File "project_members.csv" missing in ZIP');
|
||||||
@@ -81,6 +87,8 @@ class SolidtimeImporter extends DefaultImporter
|
|||||||
$projectMembersReader = Reader::createFromPath($temporaryDirectory->path('project_members.csv'));
|
$projectMembersReader = Reader::createFromPath($temporaryDirectory->path('project_members.csv'));
|
||||||
$projectMembersReader->setHeaderOffset(0);
|
$projectMembersReader->setHeaderOffset(0);
|
||||||
$projectMembersReader->setDelimiter(',');
|
$projectMembersReader->setDelimiter(',');
|
||||||
|
$projectMembersReader->setEnclosure('"');
|
||||||
|
$projectMembersReader->setEscape('');
|
||||||
|
|
||||||
if (! file_exists($temporaryDirectory->path('projects.csv'))) {
|
if (! file_exists($temporaryDirectory->path('projects.csv'))) {
|
||||||
throw new ImportException('File "projects.csv" missing in ZIP');
|
throw new ImportException('File "projects.csv" missing in ZIP');
|
||||||
@@ -88,6 +96,8 @@ class SolidtimeImporter extends DefaultImporter
|
|||||||
$projectsReader = Reader::createFromPath($temporaryDirectory->path('projects.csv'));
|
$projectsReader = Reader::createFromPath($temporaryDirectory->path('projects.csv'));
|
||||||
$projectsReader->setHeaderOffset(0);
|
$projectsReader->setHeaderOffset(0);
|
||||||
$projectsReader->setDelimiter(',');
|
$projectsReader->setDelimiter(',');
|
||||||
|
$projectsReader->setEnclosure('"');
|
||||||
|
$projectsReader->setEscape('');
|
||||||
|
|
||||||
if (! file_exists($temporaryDirectory->path('tags.csv'))) {
|
if (! file_exists($temporaryDirectory->path('tags.csv'))) {
|
||||||
throw new ImportException('File "tags.csv" missing in ZIP');
|
throw new ImportException('File "tags.csv" missing in ZIP');
|
||||||
@@ -95,6 +105,8 @@ class SolidtimeImporter extends DefaultImporter
|
|||||||
$tagsReader = Reader::createFromPath($temporaryDirectory->path('tags.csv'));
|
$tagsReader = Reader::createFromPath($temporaryDirectory->path('tags.csv'));
|
||||||
$tagsReader->setHeaderOffset(0);
|
$tagsReader->setHeaderOffset(0);
|
||||||
$tagsReader->setDelimiter(',');
|
$tagsReader->setDelimiter(',');
|
||||||
|
$tagsReader->setEnclosure('"');
|
||||||
|
$tagsReader->setEscape('');
|
||||||
|
|
||||||
if (! file_exists($temporaryDirectory->path('tasks.csv'))) {
|
if (! file_exists($temporaryDirectory->path('tasks.csv'))) {
|
||||||
throw new ImportException('File "tasks.csv" missing in ZIP');
|
throw new ImportException('File "tasks.csv" missing in ZIP');
|
||||||
@@ -102,6 +114,8 @@ class SolidtimeImporter extends DefaultImporter
|
|||||||
$tasksReader = Reader::createFromPath($temporaryDirectory->path('tasks.csv'));
|
$tasksReader = Reader::createFromPath($temporaryDirectory->path('tasks.csv'));
|
||||||
$tasksReader->setHeaderOffset(0);
|
$tasksReader->setHeaderOffset(0);
|
||||||
$tasksReader->setDelimiter(',');
|
$tasksReader->setDelimiter(',');
|
||||||
|
$tasksReader->setEnclosure('"');
|
||||||
|
$tasksReader->setEscape('');
|
||||||
|
|
||||||
if (! file_exists($temporaryDirectory->path('time_entries.csv'))) {
|
if (! file_exists($temporaryDirectory->path('time_entries.csv'))) {
|
||||||
throw new ImportException('File "time_entries.csv" missing in ZIP');
|
throw new ImportException('File "time_entries.csv" missing in ZIP');
|
||||||
@@ -109,6 +123,8 @@ class SolidtimeImporter extends DefaultImporter
|
|||||||
$timeEntriesReader = Reader::createFromPath($temporaryDirectory->path('time_entries.csv'));
|
$timeEntriesReader = Reader::createFromPath($temporaryDirectory->path('time_entries.csv'));
|
||||||
$timeEntriesReader->setHeaderOffset(0);
|
$timeEntriesReader->setHeaderOffset(0);
|
||||||
$timeEntriesReader->setDelimiter(',');
|
$timeEntriesReader->setDelimiter(',');
|
||||||
|
$timeEntriesReader->setEnclosure('"');
|
||||||
|
$timeEntriesReader->setEscape('');
|
||||||
|
|
||||||
foreach ($clientsReader as $client) {
|
foreach ($clientsReader as $client) {
|
||||||
$this->clientImportHelper->getKey([
|
$this->clientImportHelper->getKey([
|
||||||
|
|||||||
Reference in New Issue
Block a user