Skip to content

Initial Draft: Added Institution Collection Camp Contribution#490

Merged
belwalshubham merged 5 commits intodevelopfrom
feat/institution-collection-camp-contribution
Nov 23, 2024
Merged

Initial Draft: Added Institution Collection Camp Contribution#490
belwalshubham merged 5 commits intodevelopfrom
feat/institution-collection-camp-contribution

Conversation

@belwalshubham
Copy link
Copy Markdown
Collaborator

@belwalshubham belwalshubham commented Nov 22, 2024

image

Summary by CodeRabbit

  • New Features

    • Introduced support for a new target type: 'institution-collection-camp'.
    • Added links for material contributions specific to the institution collection camp.
    • Enhanced rendering logic to display relevant information for the new target type.
  • Bug Fixes

    • Maintained existing error handling for date creation and data retrieval processes.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Nov 22, 2024

Walkthrough

The pull request introduces enhancements to the render.php and goonj-blocks.php files within the Goonj Blocks plugin. It adds support for a new target type, 'institution-collection-camp', by updating relevant data structures and rendering logic. The changes include new entries in arrays for headings and target data, modifications to the rewrite rules, and adjustments in the API query logic to accommodate this new type. Error handling remains consistent with existing practices.

Changes

File Path Change Summary
wp-content/plugins/goonj-blocks/build/render.php Added handling for 'institution-collection-camp' in $headings and $target_data, including a new contribution link.
wp-content/plugins/goonj-blocks/goonj-blocks.php Updated gb_goonj_blocks_custom_rewrite_rules to include 'institution-collection-camp' and modified gb_goonj_blocks_check_action_target_exists to handle this new action.
wp-content/plugins/goonj-blocks/src/render.php Similar updates as in build/render.php, adding support for 'institution-collection-camp' in rendering logic.

Possibly related PRs

🎉 In the code we weave, a new camp we achieve,
For institutions to share, with links that declare.
Contributions in sight, with data so bright,
Goonj Blocks now stands tall, embracing one and all! 🌟


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 1ea4849 and b1a3480.

📒 Files selected for processing (1)
  • wp-content/plugins/goonj-blocks/goonj-blocks.php (3 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • wp-content/plugins/goonj-blocks/goonj-blocks.php

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🧹 Outside diff range and nitpick comments (6)
wp-content/plugins/goonj-blocks/goonj-blocks.php (2)

34-34: Consider grouping related actions for better maintainability

The $actions array is mixing different types of entities (camps, centers, schedules). Consider grouping related actions into categorized arrays for better maintainability.

-$actions = array('collection-camp', 'dropping-center', 'processing-center', 'induction-schedule', 'institution-collection-camp');
+$camp_actions = array('collection-camp', 'institution-collection-camp');
+$center_actions = array('dropping-center', 'processing-center');
+$schedule_actions = array('induction-schedule');
+$actions = array_merge($camp_actions, $center_actions, $schedule_actions);

Line range hint 108-120: Refactor duplicate API call logic and enhance error handling

The switch case for 'institution-collection-camp' shares identical logic with 'collection-camp' and 'dropping-center', leading to code duplication. Additionally, there's no validation for required fields in the API response.

Consider extracting the common API call logic:

function get_collection_entity($id, $entity_fields) {
    $result = \Civi\Api4\EckEntity::get('Collection_Camp', false)
        ->selectRowCount()
        ->addSelect(...$entity_fields)
        ->addWhere('id', '=', $id)
        ->setLimit(1)
        ->execute();
    
    if ($result->count() === 0) {
        return null;
    }
    
    $entity = $result->first();
    // Validate required fields
    $required_fields = ['title', 'Collections_will_start_on_Date'];
    foreach ($required_fields as $field) {
        if (empty($entity[$field])) {
            throw new Exception("Missing required field: $field");
        }
    }
    
    return $entity;
}

Then simplify the switch case:

 case 'collection-camp':
 case 'institution-collection-camp':
 case 'dropping-center':
-    $result = \Civi\Api4\EckEntity::get('Collection_Camp', false)
-        ->selectRowCount()
-        ->addSelect(...$entity_fields)
-        ->addWhere('id', '=', $id)
-        ->setLimit(1)
-        ->execute();
-
-    if ($result->count() === 0) {
+    try {
+        $entity = get_collection_entity($id, $entity_fields);
+        if (!$entity) {
+            $is_404 = true;
+        } else {
+            $wp_query->set('action_target', $entity);
+        }
+    } catch (Exception $e) {
         $is_404 = true;
-    } else {
-        $wp_query->set('action_target', $result->first());
+        error_log("Error processing collection entity: " . $e->getMessage());
     }
     break;
wp-content/plugins/goonj-blocks/build/render.php (2)

20-20: Consider using a more distinctive heading for institution collection camp

The heading "Collection Camp" is used for both 'collection-camp' and 'institution-collection-camp', which could cause confusion for users. Consider using a more specific heading like "Institution Collection Camp" to clearly differentiate between the two types.

-  'institution-collection-camp' => 'Collection Camp',
+  'institution-collection-camp' => 'Institution Collection Camp',

130-130: Simplify target type handling with configuration-driven approach

The code is becoming harder to maintain with multiple if conditions for different target types. Consider using a configuration-driven approach to define target type behaviors.

+$target_type_config = [
+    'collection-camp' => [
+        'show_dates' => true,
+        'show_volunteer' => false,
+    ],
+    'institution-collection-camp' => [
+        'show_dates' => true,
+        'show_volunteer' => false,
+    ],
+    'dropping-center' => [
+        'show_dates' => false,
+        'show_volunteer' => true,
+    ]
+];

-if (in_array($target, ['collection-camp','institution-collection-camp', 'dropping-center'])) :
+if (isset($target_type_config[$target])) :
   $target_info = $target_data[$target];
   // ... existing code ...

-   <?php if ($target === 'collection-camp' || $target === 'institution-collection-camp') : ?>
+   <?php if ($target_type_config[$target]['show_dates']) : ?>

Also applies to: 162-174

wp-content/plugins/goonj-blocks/src/render.php (2)

20-20: Consider differentiating the display text for institution collection camps

The heading text 'Collection Camp' is used for both regular and institution collection camps, which might cause confusion for users. Consider using a more descriptive heading like 'Institution Collection Camp' to clearly distinguish between the two types.

-  'institution-collection-camp' => 'Collection Camp',
+  'institution-collection-camp' => 'Institution Collection Camp',

120-127: Consider refactoring duplicate camp configurations

The configuration for institution-collection-camp largely mirrors collection-camp but with different field names. Consider extracting common structure into a shared configuration to reduce duplication and make maintenance easier.

+ $camp_base_config = [
+   'address_label' => 'Address of the camp',
+   'donation_link' => $donation_link,
+ ];
+
  $target_data = [
    'collection-camp' => array_merge($camp_base_config, [
      'start_time' => 'Collection_Camp_Intent_Details.Start_Date',
      'end_time' => 'Collection_Camp_Intent_Details.End_Date',
      'address' => 'Collection_Camp_Intent_Details.Location_Area_of_camp',
      'contribution_link' => $material_contribution_link,
    ]),
    'institution-collection-camp' => array_merge($camp_base_config, [
      'start_time' => 'Institution_Collection_Camp_Intent.Collections_will_start_on_Date',
      'end_time' => 'Institution_Collection_Camp_Intent.Collections_will_end_on_Date_',
      'address' => 'Institution_Collection_Camp_Intent.Collection_Camp_Address',
      'contribution_link' => $institution_collection_camp_material_contribution_link,
    ]),
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 22fd41f and d3eb5e4.

📒 Files selected for processing (3)
  • wp-content/plugins/goonj-blocks/build/render.php (4 hunks)
  • wp-content/plugins/goonj-blocks/goonj-blocks.php (3 hunks)
  • wp-content/plugins/goonj-blocks/src/render.php (4 hunks)
🔇 Additional comments (2)
wp-content/plugins/goonj-blocks/goonj-blocks.php (1)

Line range hint 34-120: Verify impact on existing routes and API endpoints

The addition of the new institution-collection-camp functionality modifies routing and API interactions. Let's verify that existing routes are not affected.

✅ Verification successful

No conflicts found in route handling for institution-collection-camp

The changes to routing and API interactions for institution-collection-camp are well-integrated with the existing codebase:

  • The rewrite rules are properly scoped within the existing actions array and follow the same pattern as other action types
  • Query vars are cleanly registered through the WordPress filter system
  • The template redirect handler properly checks for page existence and required parameters
  • The API endpoint usage follows the same pattern as other collection camp types with proper error handling
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check for potential conflicts in route handling
echo "Checking for route handling patterns..."
rg -A 2 "add_rewrite_rule|template_redirect" 

# Check for other uses of Collection_Camp entity
echo "Checking Collection_Camp entity usage..."
rg "Collection_Camp" --type php

# Check for potential API endpoint conflicts
echo "Checking API endpoint patterns..."
rg -A 3 "Civi\\Api4\\EckEntity::get|'Collection_Camp'" --type php

Length of output: 55845


Script:

#!/bin/bash
# Check for potential conflicts in route handling with more context
echo "Checking for route handling patterns in the plugin..."
rg -A 5 "add_rewrite_rule|template_redirect" wp-content/plugins/goonj-blocks/

# Check for other route handlers in the plugin
echo "Checking for other route handlers..."
rg -A 5 "add_action.*template_redirect|add_filter.*query_vars" wp-content/plugins/goonj-blocks/

# Check for potential API endpoint conflicts with proper escaping
echo "Checking API endpoint patterns..."
rg -A 3 "Civi\\\\Api4\\\\EckEntity::get.*Collection_Camp" --type php

Length of output: 3977

wp-content/plugins/goonj-blocks/src/render.php (1)

130-130: LGTM! Consistent handling of institution collection camps

The conditional logic correctly includes the new camp type and reuses the existing date/time display logic, maintaining consistency across different camp types.

Also applies to: 162-162

Comment on lines +89 to +91
'Institution_Collection_Camp_Intent.Collections_will_start_on_Date',
'Institution_Collection_Camp_Intent.Collections_will_end_on_Date_',
'Institution_Collection_Camp_Intent.Collection_Camp_Address'
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Document and organize entity fields for better clarity

The new Institution Collection Camp fields are added without documentation or logical grouping. This makes it harder to understand their purpose and relationships.

+// Institution Collection Camp date fields
 'Institution_Collection_Camp_Intent.Collections_will_start_on_Date',
 'Institution_Collection_Camp_Intent.Collections_will_end_on_Date_',
+// Institution Collection Camp location fields
 'Institution_Collection_Camp_Intent.Collection_Camp_Address'

Additionally, consider organizing fields into associative arrays by entity type for better maintainability:

$entity_fields = [
    'common' => ['id', 'title'],
    'collection_camp' => [
        'Collection_Camp_Intent_Details.Start_Date',
        // ... other collection camp fields
    ],
    'institution_collection_camp' => [
        'Institution_Collection_Camp_Intent.Collections_will_start_on_Date',
        // ... other institution fields
    ],
    // ... other entities
];

Comment on lines +120 to +127
'institution-collection-camp' => [
'start_time' => 'Institution_Collection_Camp_Intent.Collections_will_start_on_Date',
'end_time' => 'Institution_Collection_Camp_Intent.Collections_will_end_on_Date_',
'address' => 'Institution_Collection_Camp_Intent.Collection_Camp_Address',
'address_label' => 'Address of the camp',
'contribution_link' => $institution_collection_camp_material_contribution_link,
'donation_link' => $donation_link,
],
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Add validation for required fields in target data

The target data structure assumes all fields will be present in $action_target. Consider adding validation to handle cases where required fields might be missing.

+function validate_target_fields($action_target, $required_fields) {
+    foreach ($required_fields as $field) {
+        if (empty($action_target[$field])) {
+            throw new InvalidArgumentException("Required field missing: $field");
+        }
+    }
+}

 'institution-collection-camp' => [
+    'required_fields' => [
+        'Institution_Collection_Camp_Intent.Collections_will_start_on_Date',
+        'Institution_Collection_Camp_Intent.Collections_will_end_on_Date_',
+        'Institution_Collection_Camp_Intent.Collection_Camp_Address',
+    ],
     'start_time' => 'Institution_Collection_Camp_Intent.Collections_will_start_on_Date',

Committable suggestion skipped: line range outside the PR's diff.

Comment on lines +42 to +48
$institution_collection_camp_material_contribution_link = sprintf(
'/institution-collection-camp-contribution?source=%s&target_id=%s&state_province_id=%s&city=%s',
$action_target['title'],
$action_target['id'],
$action_target['Institution_Collection_Camp_Intent.State'],
$action_target['Institution_Collection_Camp_Intent.District_City'],
);
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Refactor link generation to reduce code duplication

The link generation logic is duplicated across multiple similar blocks (material_contribution_link, dropping_center_material_contribution_link, institution_collection_camp_material_contribution_link). Consider extracting this into a helper function.

+function generate_contribution_link($type, $action_target) {
+    $link_templates = [
+        'collection-camp' => '/collection-camp-contribution',
+        'institution-collection-camp' => '/institution-collection-camp-contribution',
+        'dropping-center' => '/dropping-center-contribution'
+    ];
+    
+    $field_mappings = [
+        'collection-camp' => [
+            'state' => 'Collection_Camp_Intent_Details.State',
+            'city' => 'Collection_Camp_Intent_Details.City'
+        ],
+        'institution-collection-camp' => [
+            'state' => 'Institution_Collection_Camp_Intent.State',
+            'city' => 'Institution_Collection_Camp_Intent.District_City'
+        ],
+        'dropping-center' => [
+            'state' => 'Dropping_Centre.State',
+            'city' => 'Dropping_Centre.District_City'
+        ]
+    ];
+    
+    return sprintf(
+        '%s?source=%s&target_id=%s&state_province_id=%s&city=%s',
+        $link_templates[$type],
+        $action_target['title'],
+        $action_target['id'],
+        $action_target[$field_mappings[$type]['state']],
+        $action_target[$field_mappings[$type]['city']]
+    );
+}

Committable suggestion skipped: line range outside the PR's diff.

Comment on lines +42 to +48
$institution_collection_camp_material_contribution_link = sprintf(
'/institution-collection-camp-contribution?source=%s&target_id=%s&state_province_id=%s&city=%s',
$action_target['title'],
$action_target['id'],
$action_target['Institution_Collection_Camp_Intent.State'],
$action_target['Institution_Collection_Camp_Intent.District_City'],
);
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Add field validation for institution collection camp parameters

The link generation assumes all required fields exist in $action_target. Consider adding validation to handle cases where required fields might be missing.

 $institution_collection_camp_material_contribution_link = sprintf(
+    // Validate required fields
+    !empty($action_target['Institution_Collection_Camp_Intent.State']) &&
+    !empty($action_target['Institution_Collection_Camp_Intent.District_City']) ?
     '/institution-collection-camp-contribution?source=%s&target_id=%s&state_province_id=%s&city=%s',
     $action_target['title'],
     $action_target['id'],
     $action_target['Institution_Collection_Camp_Intent.State'],
     $action_target['Institution_Collection_Camp_Intent.District_City'],
+    : '#'
 );

Committable suggestion skipped: line range outside the PR's diff.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (2)
wp-content/plugins/goonj-blocks/build/render.php (2)

20-20: Consider using a more distinctive heading for institution collection camp

Having both 'collection-camp' and 'institution-collection-camp' map to the same heading 'Collection Camp' might confuse users. Consider a more specific heading like 'Institution Collection Camp' to differentiate between the two types.

-  'institution-collection-camp' => 'Collection Camp',
+  'institution-collection-camp' => 'Institution Collection Camp',

130-130: Extract repeated condition into a constant

The condition in_array($target, ['collection-camp','institution-collection-camp', 'dropping-center']) is repeated. This could be extracted into a constant to improve maintainability and make the shared behavior more explicit.

+const CAMP_TYPES = ['collection-camp', 'institution-collection-camp', 'dropping-center'];

-if (in_array($target, ['collection-camp','institution-collection-camp', 'dropping-center'])) :
+if (in_array($target, CAMP_TYPES)) :

-<?php if (in_array($target, ['collection-camp', 'institution-collection-camp'])) : ?>
+<?php if (in_array($target, array_slice(CAMP_TYPES, 0, 2))) : ?>

Also applies to: 162-162

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between d3eb5e4 and 5e99cf9.

📒 Files selected for processing (1)
  • wp-content/plugins/goonj-blocks/build/render.php (4 hunks)
🔇 Additional comments (2)
wp-content/plugins/goonj-blocks/build/render.php (2)

42-48: Code duplication in link generation persists

This is the third instance of nearly identical link generation code, following the same pattern as material_contribution_link and dropping_center_material_contribution_link. A previous review already suggested extracting this into a helper function.


120-127: 🛠️ Refactor suggestion

Standardize field names and add validation

  1. Field names differ from other camp types:

    • 'Collections_will_start_on_Date' vs 'Start_Date'
    • 'Collections_will_end_on_Date_' vs 'End_Date'
    • 'Collection_Camp_Address' vs 'Location_Area_of_camp'
  2. As noted in a previous review, field validation is still missing.

Consider standardizing field names across all camp types and implementing the previously suggested validation:

$required_fields = [
    'start_time',
    'end_time',
    'address',
];

foreach ($required_fields as $field) {
    if (empty($target_info[$field]) || empty($action_target[$target_info[$field]])) {
        throw new InvalidArgumentException("Required field missing: $field");
    }
}

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (3)
wp-content/plugins/goonj-blocks/build/render.php (3)

20-20: Consider distinguishing institution collection camp heading

The heading 'Collection Camp' is used for both 'collection-camp' and 'institution-collection-camp', which might cause confusion. Consider using a more specific heading for institution collection camps to differentiate them.

-  'institution-collection-camp' => 'Collection Camp',
+  'institution-collection-camp' => 'Institution Collection Camp',

120-127: Standardize field naming across target types

The field names for dates are inconsistent between target types:

  • collection-camp: Start_Date and End_Date
  • institution-collection-camp: Collections_will_start_on_Date and Collections_will_end_on_Date_

This inconsistency makes the code harder to maintain and understand.

Consider standardizing the field names in the CiviCRM custom fields or creating mapping constants:

const DATE_FIELD_MAPPINGS = [
    'collection-camp' => [
        'start' => 'Start_Date',
        'end' => 'End_Date'
    ],
    'institution-collection-camp' => [
        'start' => 'Collections_will_start_on_Date',
        'end' => 'Collections_will_end_on_Date_'
    ]
];

130-130: Consider using constants for target types

Target types are hardcoded in multiple places. This could lead to maintenance issues and typos.

Consider defining constants for target types:

const TARGET_TYPES = [
    'COLLECTION_CAMP' => 'collection-camp',
    'INSTITUTION_COLLECTION_CAMP' => 'institution-collection-camp',
    'DROPPING_CENTER' => 'dropping-center'
];

Then use them in conditions:

-if (in_array($target, ['collection-camp','institution-collection-camp', 'dropping-center'])) :
+if (in_array($target, [TARGET_TYPES['COLLECTION_CAMP'], TARGET_TYPES['INSTITUTION_COLLECTION_CAMP'], TARGET_TYPES['DROPPING_CENTER']])) :

Also applies to: 162-162

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 5e99cf9 and 1ea4849.

📒 Files selected for processing (1)
  • wp-content/plugins/goonj-blocks/build/render.php (4 hunks)
🔇 Additional comments (1)
wp-content/plugins/goonj-blocks/build/render.php (1)

42-48: Previous refactoring suggestion still applies

A previous review already suggested refactoring the link generation logic to reduce code duplication. This new addition further reinforces that need.

$headings = [
'collection-camp' => 'Collection Camp',
'dropping-center' => 'Dropping Center',
'institution-collection-camp' => 'Collection Camp',
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the heading name Collection Camp is correct for the institution Collection Camp. Please verify and let me know

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For now, let's proceed with using "collection camp," but I'll confirm with the Goonj team on Monday. I'll make a note of it, and we can change it later if needed.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure please do. Let's merge this for now

'Institution_Collection_Camp_Intent.Collection_Camp_Address'
);

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why these extra spaces here?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants