Uploaded image for project: 'CiviCRM'
  1. CiviCRM
  2. CRM-19315

Block ID and PCP ID are bugging result on getPcpDashboardInfo function(SOLVED)

    Details

    • Documentation Required?:
      Developer Doc
    • Funding Source:
      Contributed Code

      Description

      Hello,

      It's my first contribution, if someone thinks that it's fail or could to get better solution, please go ahead, i want help out.

      Function Core System getPcpDashboardInfo
      civicrm/CRM/PCP/BAO/PCP.php Line 116 to 124:
      $query = "
      SELECT * FROM civicrm_pcp pcp
      LEFT JOIN civicrm_pcp_block block ON block.id = pcp.pcp_block_id
      WHERE pcp.is_active = 1
      AND pcp.contact_id = %1
      ORDER BY page_type, page_id";

      Now you can peek, this query is looking for PCP in database, and showing all tables of civicrm_pcp and civicrm_pcp_block, this include their "ID", it can be fail because depend the configuration of database server the result, i mean, the server will select between pcp_block's(table) ID or pcp's(table) ID(In my case, my database server, selected the block ID instead of PCP ID), it's bad because pcp(table) and pcp_block(table) they has the same ID field name, but, it's good structure schema in database, the problem is the query, and can be solve.

      My Solution:
      $query = "
      SELECT pcp.*, block.is_tellfriend_enabled FROM civicrm_pcp pcp
      LEFT JOIN civicrm_pcp_block block ON block.id = pcp.pcp_block_id
      WHERE pcp.is_active = 1
      AND pcp.contact_id = %1
      ORDER BY page_type, page_id";

      I seen, this query only use 1 field from civicrm_pcp_block, it is is_tellfriend_enabled(field), the best practice to use on SQL, is show only the fields that you will need, as i said before, it's could be better, but it's my first contribution, someone can improve it.

      I hope this can help,
      Regards.

        Attachments

          Activity

            People

            • Assignee:
              yashodha Yashodha Chaku
              Reporter:
              frederickgzmn Frederic Guzman
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 1 hour
                1h
                Remaining:
                Remaining Estimate - 1 hour
                1h
                Logged:
                Time Spent - Not Specified
                Not Specified